{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///okta-sign-in.min.js","webpack:///webpack/bootstrap 3d9558e8dc3144af2c12","webpack:///./~/babel-polyfill/lib/index.js","webpack:///./~/core-js/shim.js","webpack:///./~/core-js/modules/es6.symbol.js","webpack:///./~/core-js/modules/_global.js","webpack:///./~/core-js/modules/_has.js","webpack:///./~/core-js/modules/_descriptors.js","webpack:///./~/core-js/modules/_fails.js","webpack:///./~/core-js/modules/_export.js","webpack:///./~/core-js/modules/_core.js","webpack:///./~/core-js/modules/_hide.js","webpack:///./~/core-js/modules/_object-dp.js","webpack:///./~/core-js/modules/_an-object.js","webpack:///./~/core-js/modules/_is-object.js","webpack:///./~/core-js/modules/_ie8-dom-define.js","webpack:///./~/core-js/modules/_dom-create.js","webpack:///./~/core-js/modules/_to-primitive.js","webpack:///./~/core-js/modules/_property-desc.js","webpack:///./~/core-js/modules/_redefine.js","webpack:///./~/core-js/modules/_uid.js","webpack:///./~/core-js/modules/_ctx.js","webpack:///./~/core-js/modules/_a-function.js","webpack:///./~/core-js/modules/_meta.js","webpack:///./~/core-js/modules/_shared.js","webpack:///./~/core-js/modules/_library.js","webpack:///./~/core-js/modules/_set-to-string-tag.js","webpack:///./~/core-js/modules/_wks.js","webpack:///./~/core-js/modules/_wks-ext.js","webpack:///./~/core-js/modules/_wks-define.js","webpack:///./~/core-js/modules/_enum-keys.js","webpack:///./~/core-js/modules/_object-keys.js","webpack:///./~/core-js/modules/_object-keys-internal.js","webpack:///./~/core-js/modules/_to-iobject.js","webpack:///./~/core-js/modules/_iobject.js","webpack:///./~/core-js/modules/_cof.js","webpack:///./~/core-js/modules/_defined.js","webpack:///./~/core-js/modules/_array-includes.js","webpack:///./~/core-js/modules/_to-length.js","webpack:///./~/core-js/modules/_to-integer.js","webpack:///./~/core-js/modules/_to-absolute-index.js","webpack:///./~/core-js/modules/_shared-key.js","webpack:///./~/core-js/modules/_enum-bug-keys.js","webpack:///./~/core-js/modules/_object-gops.js","webpack:///./~/core-js/modules/_object-pie.js","webpack:///./~/core-js/modules/_is-array.js","webpack:///./~/core-js/modules/_object-create.js","webpack:///./~/core-js/modules/_object-dps.js","webpack:///./~/core-js/modules/_html.js","webpack:///./~/core-js/modules/_object-gopn-ext.js","webpack:///./~/core-js/modules/_object-gopn.js","webpack:///./~/core-js/modules/_object-gopd.js","webpack:///./~/core-js/modules/es6.object.create.js","webpack:///./~/core-js/modules/es6.object.define-property.js","webpack:///./~/core-js/modules/es6.object.define-properties.js","webpack:///./~/core-js/modules/es6.object.get-own-property-descriptor.js","webpack:///./~/core-js/modules/_object-sap.js","webpack:///./~/core-js/modules/es6.object.get-prototype-of.js","webpack:///./~/core-js/modules/_to-object.js","webpack:///./~/core-js/modules/_object-gpo.js","webpack:///./~/core-js/modules/es6.object.keys.js","webpack:///./~/core-js/modules/es6.object.get-own-property-names.js","webpack:///./~/core-js/modules/es6.object.freeze.js","webpack:///./~/core-js/modules/es6.object.seal.js","webpack:///./~/core-js/modules/es6.object.prevent-extensions.js","webpack:///./~/core-js/modules/es6.object.is-frozen.js","webpack:///./~/core-js/modules/es6.object.is-sealed.js","webpack:///./~/core-js/modules/es6.object.is-extensible.js","webpack:///./~/core-js/modules/es6.object.assign.js","webpack:///./~/core-js/modules/_object-assign.js","webpack:///./~/core-js/modules/es6.object.is.js","webpack:///./~/core-js/modules/_same-value.js","webpack:///./~/core-js/modules/es6.object.set-prototype-of.js","webpack:///./~/core-js/modules/_set-proto.js","webpack:///./~/core-js/modules/es6.object.to-string.js","webpack:///./~/core-js/modules/_classof.js","webpack:///./~/core-js/modules/es6.function.bind.js","webpack:///./~/core-js/modules/_bind.js","webpack:///./~/core-js/modules/_invoke.js","webpack:///./~/core-js/modules/es6.function.name.js","webpack:///./~/core-js/modules/es6.function.has-instance.js","webpack:///./~/core-js/modules/es6.parse-int.js","webpack:///./~/core-js/modules/_parse-int.js","webpack:///./~/core-js/modules/_string-trim.js","webpack:///./~/core-js/modules/_string-ws.js","webpack:///./~/core-js/modules/es6.parse-float.js","webpack:///./~/core-js/modules/_parse-float.js","webpack:///./~/core-js/modules/es6.number.constructor.js","webpack:///./~/core-js/modules/_inherit-if-required.js","webpack:///./~/core-js/modules/es6.number.to-fixed.js","webpack:///./~/core-js/modules/_a-number-value.js","webpack:///./~/core-js/modules/_string-repeat.js","webpack:///./~/core-js/modules/es6.number.to-precision.js","webpack:///./~/core-js/modules/es6.number.epsilon.js","webpack:///./~/core-js/modules/es6.number.is-finite.js","webpack:///./~/core-js/modules/es6.number.is-integer.js","webpack:///./~/core-js/modules/_is-integer.js","webpack:///./~/core-js/modules/es6.number.is-nan.js","webpack:///./~/core-js/modules/es6.number.is-safe-integer.js","webpack:///./~/core-js/modules/es6.number.max-safe-integer.js","webpack:///./~/core-js/modules/es6.number.min-safe-integer.js","webpack:///./~/core-js/modules/es6.number.parse-float.js","webpack:///./~/core-js/modules/es6.number.parse-int.js","webpack:///./~/core-js/modules/es6.math.acosh.js","webpack:///./~/core-js/modules/_math-log1p.js","webpack:///./~/core-js/modules/es6.math.asinh.js","webpack:///./~/core-js/modules/es6.math.atanh.js","webpack:///./~/core-js/modules/es6.math.cbrt.js","webpack:///./~/core-js/modules/_math-sign.js","webpack:///./~/core-js/modules/es6.math.clz32.js","webpack:///./~/core-js/modules/es6.math.cosh.js","webpack:///./~/core-js/modules/es6.math.expm1.js","webpack:///./~/core-js/modules/_math-expm1.js","webpack:///./~/core-js/modules/es6.math.fround.js","webpack:///./~/core-js/modules/_math-fround.js","webpack:///./~/core-js/modules/es6.math.hypot.js","webpack:///./~/core-js/modules/es6.math.imul.js","webpack:///./~/core-js/modules/es6.math.log10.js","webpack:///./~/core-js/modules/es6.math.log1p.js","webpack:///./~/core-js/modules/es6.math.log2.js","webpack:///./~/core-js/modules/es6.math.sign.js","webpack:///./~/core-js/modules/es6.math.sinh.js","webpack:///./~/core-js/modules/es6.math.tanh.js","webpack:///./~/core-js/modules/es6.math.trunc.js","webpack:///./~/core-js/modules/es6.string.from-code-point.js","webpack:///./~/core-js/modules/es6.string.raw.js","webpack:///./~/core-js/modules/es6.string.trim.js","webpack:///./~/core-js/modules/es6.string.iterator.js","webpack:///./~/core-js/modules/_string-at.js","webpack:///./~/core-js/modules/_iter-define.js","webpack:///./~/core-js/modules/_iterators.js","webpack:///./~/core-js/modules/_iter-create.js","webpack:///./~/core-js/modules/es6.string.code-point-at.js","webpack:///./~/core-js/modules/es6.string.ends-with.js","webpack:///./~/core-js/modules/_string-context.js","webpack:///./~/core-js/modules/_is-regexp.js","webpack:///./~/core-js/modules/_fails-is-regexp.js","webpack:///./~/core-js/modules/es6.string.includes.js","webpack:///./~/core-js/modules/es6.string.repeat.js","webpack:///./~/core-js/modules/es6.string.starts-with.js","webpack:///./~/core-js/modules/es6.string.anchor.js","webpack:///./~/core-js/modules/_string-html.js","webpack:///./~/core-js/modules/es6.string.big.js","webpack:///./~/core-js/modules/es6.string.blink.js","webpack:///./~/core-js/modules/es6.string.bold.js","webpack:///./~/core-js/modules/es6.string.fixed.js","webpack:///./~/core-js/modules/es6.string.fontcolor.js","webpack:///./~/core-js/modules/es6.string.fontsize.js","webpack:///./~/core-js/modules/es6.string.italics.js","webpack:///./~/core-js/modules/es6.string.link.js","webpack:///./~/core-js/modules/es6.string.small.js","webpack:///./~/core-js/modules/es6.string.strike.js","webpack:///./~/core-js/modules/es6.string.sub.js","webpack:///./~/core-js/modules/es6.string.sup.js","webpack:///./~/core-js/modules/es6.date.now.js","webpack:///./~/core-js/modules/es6.date.to-json.js","webpack:///./~/core-js/modules/es6.date.to-iso-string.js","webpack:///./~/core-js/modules/_date-to-iso-string.js","webpack:///./~/core-js/modules/es6.date.to-string.js","webpack:///./~/core-js/modules/es6.date.to-primitive.js","webpack:///./~/core-js/modules/_date-to-primitive.js","webpack:///./~/core-js/modules/es6.array.is-array.js","webpack:///./~/core-js/modules/es6.array.from.js","webpack:///./~/core-js/modules/_iter-call.js","webpack:///./~/core-js/modules/_is-array-iter.js","webpack:///./~/core-js/modules/_create-property.js","webpack:///./~/core-js/modules/core.get-iterator-method.js","webpack:///./~/core-js/modules/_iter-detect.js","webpack:///./~/core-js/modules/es6.array.of.js","webpack:///./~/core-js/modules/es6.array.join.js","webpack:///./~/core-js/modules/_strict-method.js","webpack:///./~/core-js/modules/es6.array.slice.js","webpack:///./~/core-js/modules/es6.array.sort.js","webpack:///./~/core-js/modules/es6.array.for-each.js","webpack:///./~/core-js/modules/_array-methods.js","webpack:///./~/core-js/modules/_array-species-create.js","webpack:///./~/core-js/modules/_array-species-constructor.js","webpack:///./~/core-js/modules/es6.array.map.js","webpack:///./~/core-js/modules/es6.array.filter.js","webpack:///./~/core-js/modules/es6.array.some.js","webpack:///./~/core-js/modules/es6.array.every.js","webpack:///./~/core-js/modules/es6.array.reduce.js","webpack:///./~/core-js/modules/_array-reduce.js","webpack:///./~/core-js/modules/es6.array.reduce-right.js","webpack:///./~/core-js/modules/es6.array.index-of.js","webpack:///./~/core-js/modules/es6.array.last-index-of.js","webpack:///./~/core-js/modules/es6.array.copy-within.js","webpack:///./~/core-js/modules/_array-copy-within.js","webpack:///./~/core-js/modules/_add-to-unscopables.js","webpack:///./~/core-js/modules/es6.array.fill.js","webpack:///./~/core-js/modules/_array-fill.js","webpack:///./~/core-js/modules/es6.array.find.js","webpack:///./~/core-js/modules/es6.array.find-index.js","webpack:///./~/core-js/modules/es6.array.species.js","webpack:///./~/core-js/modules/_set-species.js","webpack:///./~/core-js/modules/es6.array.iterator.js","webpack:///./~/core-js/modules/_iter-step.js","webpack:///./~/core-js/modules/es6.regexp.constructor.js","webpack:///./~/core-js/modules/_flags.js","webpack:///./~/core-js/modules/es6.regexp.to-string.js","webpack:///./~/core-js/modules/es6.regexp.flags.js","webpack:///./~/core-js/modules/es6.regexp.match.js","webpack:///./~/core-js/modules/_fix-re-wks.js","webpack:///./~/core-js/modules/es6.regexp.replace.js","webpack:///./~/core-js/modules/es6.regexp.search.js","webpack:///./~/core-js/modules/es6.regexp.split.js","webpack:///./~/core-js/modules/es6.promise.js","webpack:///./~/core-js/modules/_an-instance.js","webpack:///./~/core-js/modules/_for-of.js","webpack:///./~/core-js/modules/_species-constructor.js","webpack:///./~/core-js/modules/_task.js","webpack:///./~/core-js/modules/_microtask.js","webpack:///./~/core-js/modules/_new-promise-capability.js","webpack:///./~/core-js/modules/_perform.js","webpack:///./~/core-js/modules/_user-agent.js","webpack:///./~/core-js/modules/_promise-resolve.js","webpack:///./~/core-js/modules/_redefine-all.js","webpack:///./~/core-js/modules/es6.map.js","webpack:///./~/core-js/modules/_collection-strong.js","webpack:///./~/core-js/modules/_validate-collection.js","webpack:///./~/core-js/modules/_collection.js","webpack:///./~/core-js/modules/es6.set.js","webpack:///./~/core-js/modules/es6.weak-map.js","webpack:///./~/core-js/modules/_collection-weak.js","webpack:///./~/core-js/modules/es6.weak-set.js","webpack:///./~/core-js/modules/es6.typed.array-buffer.js","webpack:///./~/core-js/modules/_typed.js","webpack:///./~/core-js/modules/_typed-buffer.js","webpack:///./~/core-js/modules/_to-index.js","webpack:///./~/core-js/modules/es6.typed.data-view.js","webpack:///./~/core-js/modules/es6.typed.int8-array.js","webpack:///./~/core-js/modules/_typed-array.js","webpack:///./~/core-js/modules/es6.typed.uint8-array.js","webpack:///./~/core-js/modules/es6.typed.uint8-clamped-array.js","webpack:///./~/core-js/modules/es6.typed.int16-array.js","webpack:///./~/core-js/modules/es6.typed.uint16-array.js","webpack:///./~/core-js/modules/es6.typed.int32-array.js","webpack:///./~/core-js/modules/es6.typed.uint32-array.js","webpack:///./~/core-js/modules/es6.typed.float32-array.js","webpack:///./~/core-js/modules/es6.typed.float64-array.js","webpack:///./~/core-js/modules/es6.reflect.apply.js","webpack:///./~/core-js/modules/es6.reflect.construct.js","webpack:///./~/core-js/modules/es6.reflect.define-property.js","webpack:///./~/core-js/modules/es6.reflect.delete-property.js","webpack:///./~/core-js/modules/es6.reflect.enumerate.js","webpack:///./~/core-js/modules/es6.reflect.get.js","webpack:///./~/core-js/modules/es6.reflect.get-own-property-descriptor.js","webpack:///./~/core-js/modules/es6.reflect.get-prototype-of.js","webpack:///./~/core-js/modules/es6.reflect.has.js","webpack:///./~/core-js/modules/es6.reflect.is-extensible.js","webpack:///./~/core-js/modules/es6.reflect.own-keys.js","webpack:///./~/core-js/modules/_own-keys.js","webpack:///./~/core-js/modules/es6.reflect.prevent-extensions.js","webpack:///./~/core-js/modules/es6.reflect.set.js","webpack:///./~/core-js/modules/es6.reflect.set-prototype-of.js","webpack:///./~/core-js/modules/es7.array.includes.js","webpack:///./~/core-js/modules/es7.array.flat-map.js","webpack:///./~/core-js/modules/_flatten-into-array.js","webpack:///./~/core-js/modules/es7.array.flatten.js","webpack:///./~/core-js/modules/es7.string.at.js","webpack:///./~/core-js/modules/es7.string.pad-start.js","webpack:///./~/core-js/modules/_string-pad.js","webpack:///./~/core-js/modules/es7.string.pad-end.js","webpack:///./~/core-js/modules/es7.string.trim-left.js","webpack:///./~/core-js/modules/es7.string.trim-right.js","webpack:///./~/core-js/modules/es7.string.match-all.js","webpack:///./~/core-js/modules/es7.symbol.async-iterator.js","webpack:///./~/core-js/modules/es7.symbol.observable.js","webpack:///./~/core-js/modules/es7.object.get-own-property-descriptors.js","webpack:///./~/core-js/modules/es7.object.values.js","webpack:///./~/core-js/modules/_object-to-array.js","webpack:///./~/core-js/modules/es7.object.entries.js","webpack:///./~/core-js/modules/es7.object.define-getter.js","webpack:///./~/core-js/modules/_object-forced-pam.js","webpack:///./~/core-js/modules/es7.object.define-setter.js","webpack:///./~/core-js/modules/es7.object.lookup-getter.js","webpack:///./~/core-js/modules/es7.object.lookup-setter.js","webpack:///./~/core-js/modules/es7.map.to-json.js","webpack:///./~/core-js/modules/_collection-to-json.js","webpack:///./~/core-js/modules/_array-from-iterable.js","webpack:///./~/core-js/modules/es7.set.to-json.js","webpack:///./~/core-js/modules/es7.map.of.js","webpack:///./~/core-js/modules/_set-collection-of.js","webpack:///./~/core-js/modules/es7.set.of.js","webpack:///./~/core-js/modules/es7.weak-map.of.js","webpack:///./~/core-js/modules/es7.weak-set.of.js","webpack:///./~/core-js/modules/es7.map.from.js","webpack:///./~/core-js/modules/_set-collection-from.js","webpack:///./~/core-js/modules/es7.set.from.js","webpack:///./~/core-js/modules/es7.weak-map.from.js","webpack:///./~/core-js/modules/es7.weak-set.from.js","webpack:///./~/core-js/modules/es7.global.js","webpack:///./~/core-js/modules/es7.system.global.js","webpack:///./~/core-js/modules/es7.error.is-error.js","webpack:///./~/core-js/modules/es7.math.clamp.js","webpack:///./~/core-js/modules/es7.math.deg-per-rad.js","webpack:///./~/core-js/modules/es7.math.degrees.js","webpack:///./~/core-js/modules/es7.math.fscale.js","webpack:///./~/core-js/modules/_math-scale.js","webpack:///./~/core-js/modules/es7.math.iaddh.js","webpack:///./~/core-js/modules/es7.math.isubh.js","webpack:///./~/core-js/modules/es7.math.imulh.js","webpack:///./~/core-js/modules/es7.math.rad-per-deg.js","webpack:///./~/core-js/modules/es7.math.radians.js","webpack:///./~/core-js/modules/es7.math.scale.js","webpack:///./~/core-js/modules/es7.math.umulh.js","webpack:///./~/core-js/modules/es7.math.signbit.js","webpack:///./~/core-js/modules/es7.promise.finally.js","webpack:///./~/core-js/modules/es7.promise.try.js","webpack:///./~/core-js/modules/es7.reflect.define-metadata.js","webpack:///./~/core-js/modules/_metadata.js","webpack:///./~/core-js/modules/es7.reflect.delete-metadata.js","webpack:///./~/core-js/modules/es7.reflect.get-metadata.js","webpack:///./~/core-js/modules/es7.reflect.get-metadata-keys.js","webpack:///./~/core-js/modules/es7.reflect.get-own-metadata.js","webpack:///./~/core-js/modules/es7.reflect.get-own-metadata-keys.js","webpack:///./~/core-js/modules/es7.reflect.has-metadata.js","webpack:///./~/core-js/modules/es7.reflect.has-own-metadata.js","webpack:///./~/core-js/modules/es7.reflect.metadata.js","webpack:///./~/core-js/modules/es7.asap.js","webpack:///./~/core-js/modules/es7.observable.js","webpack:///./~/core-js/modules/web.timers.js","webpack:///./~/core-js/modules/web.immediate.js","webpack:///./~/core-js/modules/web.dom.iterable.js","webpack:///./~/regenerator-runtime/runtime.js","webpack:///./~/core-js/fn/regexp/escape.js","webpack:///./~/core-js/modules/core.regexp.escape.js","webpack:///./~/core-js/modules/_replacer.js","webpack:///./target/js/widget/OktaSignIn.js","webpack:///./~/underscore/underscore.js","webpack:///./target/js/config/config.json","webpack:///./target/js/util/OAuth2Util.js","webpack:///./packages/@okta/courage-for-signin-widget.js","webpack:///(webpack)/buildin/module.js","webpack:///./~/babel-runtime/core-js/json/stringify.js","webpack:///./~/core-js/library/fn/json/stringify.js","webpack:///./~/core-js/library/modules/_core.js","webpack:///./~/babel-runtime/helpers/typeof.js","webpack:///./~/babel-runtime/core-js/symbol/iterator.js","webpack:///./~/core-js/library/fn/symbol/iterator.js","webpack:///./~/core-js/library/modules/es6.string.iterator.js","webpack:///./~/core-js/library/modules/_string-at.js","webpack:///./~/core-js/library/modules/_to-integer.js","webpack:///./~/core-js/library/modules/_defined.js","webpack:///./~/core-js/library/modules/_iter-define.js","webpack:///./~/core-js/library/modules/_library.js","webpack:///./~/core-js/library/modules/_export.js","webpack:///./~/core-js/library/modules/_global.js","webpack:///./~/core-js/library/modules/_ctx.js","webpack:///./~/core-js/library/modules/_a-function.js","webpack:///./~/core-js/library/modules/_hide.js","webpack:///./~/core-js/library/modules/_object-dp.js","webpack:///./~/core-js/library/modules/_an-object.js","webpack:///./~/core-js/library/modules/_is-object.js","webpack:///./~/core-js/library/modules/_ie8-dom-define.js","webpack:///./~/core-js/library/modules/_descriptors.js","webpack:///./~/core-js/library/modules/_fails.js","webpack:///./~/core-js/library/modules/_dom-create.js","webpack:///./~/core-js/library/modules/_to-primitive.js","webpack:///./~/core-js/library/modules/_property-desc.js","webpack:///./~/core-js/library/modules/_has.js","webpack:///./~/core-js/library/modules/_redefine.js","webpack:///./~/core-js/library/modules/_iterators.js","webpack:///./~/core-js/library/modules/_iter-create.js","webpack:///./~/core-js/library/modules/_object-create.js","webpack:///./~/core-js/library/modules/_object-dps.js","webpack:///./~/core-js/library/modules/_object-keys.js","webpack:///./~/core-js/library/modules/_object-keys-internal.js","webpack:///./~/core-js/library/modules/_to-iobject.js","webpack:///./~/core-js/library/modules/_iobject.js","webpack:///./~/core-js/library/modules/_cof.js","webpack:///./~/core-js/library/modules/_array-includes.js","webpack:///./~/core-js/library/modules/_to-length.js","webpack:///./~/core-js/library/modules/_to-absolute-index.js","webpack:///./~/core-js/library/modules/_shared-key.js","webpack:///./~/core-js/library/modules/_shared.js","webpack:///./~/core-js/library/modules/_uid.js","webpack:///./~/core-js/library/modules/_enum-bug-keys.js","webpack:///./~/core-js/library/modules/_html.js","webpack:///./~/core-js/library/modules/_set-to-string-tag.js","webpack:///./~/core-js/library/modules/_wks.js","webpack:///./~/core-js/library/modules/_object-gpo.js","webpack:///./~/core-js/library/modules/_to-object.js","webpack:///./~/core-js/library/modules/web.dom.iterable.js","webpack:///./~/core-js/library/modules/es6.array.iterator.js","webpack:///./~/core-js/library/modules/_add-to-unscopables.js","webpack:///./~/core-js/library/modules/_iter-step.js","webpack:///./~/core-js/library/modules/_wks-ext.js","webpack:///./~/babel-runtime/core-js/symbol.js","webpack:///./~/core-js/library/fn/symbol/index.js","webpack:///./~/core-js/library/modules/es6.symbol.js","webpack:///./~/core-js/library/modules/_meta.js","webpack:///./~/core-js/library/modules/_wks-define.js","webpack:///./~/core-js/library/modules/_enum-keys.js","webpack:///./~/core-js/library/modules/_object-gops.js","webpack:///./~/core-js/library/modules/_object-pie.js","webpack:///./~/core-js/library/modules/_is-array.js","webpack:///./~/core-js/library/modules/_object-gopn-ext.js","webpack:///./~/core-js/library/modules/_object-gopn.js","webpack:///./~/core-js/library/modules/_object-gopd.js","webpack:///./~/core-js/library/modules/es7.symbol.async-iterator.js","webpack:///./~/core-js/library/modules/es7.symbol.observable.js","webpack:///./~/handlebars/dist/handlebars.js","webpack:///./~/backbone/backbone.js","webpack:///./~/jquery/dist/jquery.js","webpack:///./target/js/util/Bundles.js","webpack:///./~/q/q.js","webpack:///./packages/@okta/i18n/dist/json/country.json","webpack:///./target/js/util/Logger.js","webpack:///./target/js/util/BrowserFeatures.js","webpack:///./packages/@okta/i18n/dist/json/login.json","webpack:///./~/moment/moment.js","webpack:///./packages/@okta/qtip2/dist/jquery.qtip.js","webpack:///./target/js/util/Enums.js","webpack:///./target/js/util/Errors.js","webpack:///./~/@okta/okta-auth-js/jquery/index.js","webpack:///./~/@okta/okta-auth-js/jquery/jqueryRequest.js","webpack:///./~/@okta/okta-auth-js/lib/clientBuilder.js","webpack:///./~/@okta/okta-auth-js/lib/vendor/polyfills.js","webpack:///./~/Base64/base64.js","webpack:///./~/@okta/okta-auth-js/lib/oauthUtil.js","webpack:///./~/@okta/okta-auth-js/lib/http.js","webpack:///./~/@okta/okta-auth-js/lib/util.js","webpack:///./~/@okta/okta-auth-js/lib/cookies.js","webpack:///./~/@okta/okta-auth-js/lib/storageUtil.js","webpack:///./~/@okta/okta-auth-js/lib/storageBuilder.js","webpack:///./~/@okta/okta-auth-js/lib/errors/AuthSdkError.js","webpack:///./~/@okta/okta-auth-js/lib/config.js","webpack:///./~/@okta/okta-auth-js/lib/errors/AuthApiError.js","webpack:///./~/@okta/okta-auth-js/lib/tx.js","webpack:///./~/@okta/okta-auth-js/lib/errors/AuthPollStopError.js","webpack:///./~/@okta/okta-auth-js/lib/session.js","webpack:///./~/@okta/okta-auth-js/lib/token.js","webpack:///./~/@okta/okta-auth-js/lib/crypto.js","webpack:///./~/@okta/okta-auth-js/lib/errors/OAuthError.js","webpack:///./~/@okta/okta-auth-js/lib/TokenManager.js","webpack:///./~/tiny-emitter/index.js","webpack:///./target/js/util/Util.js","webpack:///./target/js/LoginRouter.js","webpack:///./target/js/ActivateTotpController.js","webpack:///./target/js/util/FormController.js","webpack:///./target/js/util/FormType.js","webpack:///./target/js/util/BaseLoginController.js","webpack:///./target/js/models/BaseLoginModel.js","webpack:///./target/js/views/enroll-factors/EnterPasscodeForm.js","webpack:///./target/js/util/FactorUtil.js","webpack:///./target/js/views/shared/TextBox.js","webpack:///./target/js/views/enroll-factors/Footer.js","webpack:///./target/js/util/BaseLoginRouter.js","webpack:///./target/js/models/AppState.js","webpack:///./target/js/models/Factor.js","webpack:///./target/js/models/Settings.js","webpack:///./target/js/views/shared/Header.js","webpack:///./target/js/util/Animations.js","webpack:///./target/js/views/shared/LoadingBeacon.js","webpack:///./target/js/views/shared/SecurityBeacon.js","webpack:///./~/babel-runtime/regenerator/index.js","webpack:///./~/babel-runtime/~/regenerator-runtime/runtime-module.js","webpack:///./~/babel-runtime/~/regenerator-runtime/runtime.js","webpack:///./~/babel-runtime/helpers/asyncToGenerator.js","webpack:///./~/babel-runtime/core-js/promise.js","webpack:///./~/core-js/library/fn/promise.js","webpack:///./~/core-js/library/modules/es6.promise.js","webpack:///./~/core-js/library/modules/_classof.js","webpack:///./~/core-js/library/modules/_an-instance.js","webpack:///./~/core-js/library/modules/_for-of.js","webpack:///./~/core-js/library/modules/_iter-call.js","webpack:///./~/core-js/library/modules/_is-array-iter.js","webpack:///./~/core-js/library/modules/core.get-iterator-method.js","webpack:///./~/core-js/library/modules/_species-constructor.js","webpack:///./~/core-js/library/modules/_task.js","webpack:///./~/core-js/library/modules/_invoke.js","webpack:///./~/core-js/library/modules/_microtask.js","webpack:///./~/core-js/library/modules/_new-promise-capability.js","webpack:///./~/core-js/library/modules/_perform.js","webpack:///./~/core-js/library/modules/_user-agent.js","webpack:///./~/core-js/library/modules/_promise-resolve.js","webpack:///./~/core-js/library/modules/_redefine-all.js","webpack:///./~/core-js/library/modules/_set-species.js","webpack:///./~/core-js/library/modules/_iter-detect.js","webpack:///./~/core-js/library/modules/es7.promise.finally.js","webpack:///./~/core-js/library/modules/es7.promise.try.js","webpack:///./target/js/views/shared/AuthContainer.js","webpack:///./target/js/util/RouterUtil.js","webpack:///./target/js/util/ErrorCodes.js","webpack:///./target/js/PrimaryAuthController.js","webpack:///./target/js/views/primary-auth/PrimaryAuthForm.js","webpack:///./target/js/util/DeviceFingerprint.js","webpack:///./target/js/util/TypingUtil.js","webpack:///./target/js/vendor/TypingDNA.js","webpack:///./~/babel-runtime/helpers/slicedToArray.js","webpack:///./~/babel-runtime/core-js/is-iterable.js","webpack:///./~/core-js/library/fn/is-iterable.js","webpack:///./~/core-js/library/modules/core.is-iterable.js","webpack:///./~/babel-runtime/core-js/get-iterator.js","webpack:///./~/core-js/library/fn/get-iterator.js","webpack:///./~/core-js/library/modules/core.get-iterator.js","webpack:///./target/js/views/primary-auth/CustomButtons.js","webpack:///./target/js/views/shared/FooterRegistration.js","webpack:///./target/js/models/PrimaryAuth.js","webpack:///./target/js/util/CookieUtil.js","webpack:///./target/js/views/shared/Footer.js","webpack:///./target/js/VerifyDuoController.js","webpack:///./target/js/vendor/Duo-Web-v2.6.js","webpack:///./target/js/views/shared/FooterSignout.js","webpack:///./target/js/MfaVerifyController.js","webpack:///./target/js/views/mfa-verify/PassCodeForm.js","webpack:///./target/js/views/mfa-verify/TOTPForm.js","webpack:///./target/js/views/mfa-verify/YubikeyForm.js","webpack:///./target/js/views/mfa-verify/SecurityQuestionForm.js","webpack:///./target/js/views/mfa-verify/PushForm.js","webpack:///./target/js/views/mfa-verify/PasswordForm.js","webpack:///./target/js/views/mfa-verify/InlineTOTPForm.js","webpack:///./target/js/VerifyWindowsHelloController.js","webpack:///./target/js/util/webauthn.js","webpack:///./~/babel-runtime/core-js/object/freeze.js","webpack:///./~/core-js/library/fn/object/freeze.js","webpack:///./~/core-js/library/modules/es6.object.freeze.js","webpack:///./~/core-js/library/modules/_object-sap.js","webpack:///./target/js/util/FidoUtil.js","webpack:///./target/js/views/shared/Spinner.js","webpack:///./target/js/views/mfa-verify/HtmlErrorMessageView.js","webpack:///./target/js/VerifyU2FController.js","webpack:///./~/u2f-api-polyfill/u2f-api-polyfill.js","webpack:///./target/js/VerifyWebauthnController.js","webpack:///./target/js/util/CryptoUtil.js","webpack:///./target/js/VerifyCustomFactorController.js","webpack:///./target/js/EnrollChoicesController.js","webpack:///./target/js/views/enroll-choices/FactorList.js","webpack:///./target/js/views/enroll-choices/RequiredFactorList.js","webpack:///./target/js/EnrollDuoController.js","webpack:///./target/js/EnrollQuestionController.js","webpack:///./target/js/EnrollWindowsHelloController.js","webpack:///./target/js/EnrollCallAndSmsController.js","webpack:///./target/js/views/enroll-factors/PhoneTextBox.js","webpack:///./target/js/util/CountryUtil.js","webpack:///./target/js/util/countryCallingCodes.js","webpack:///./target/js/EnrollOnPremController.js","webpack:///./target/js/EnrollSymantecVipController.js","webpack:///./target/js/EnrollYubikeyController.js","webpack:///./target/js/EnrollTotpController.js","webpack:///./target/js/util/StoreLinks.js","webpack:///./target/js/views/enroll-factors/BarcodeView.js","webpack:///./target/js/EnrollU2FController.js","webpack:///./target/js/EnrollWebauthnController.js","webpack:///./target/js/EnrollCustomFactorController.js","webpack:///./target/js/BarcodeTotpController.js","webpack:///./target/js/BarcodePushController.js","webpack:///./target/js/IDPDiscoveryController.js","webpack:///./target/js/views/idp-discovery/IDPDiscoveryForm.js","webpack:///./target/js/models/IDPDiscovery.js","webpack:///./target/js/ManualSetupTotpController.js","webpack:///./target/js/views/enroll-factors/ManualSetupFooter.js","webpack:///./target/js/ManualSetupPushController.js","webpack:///./target/js/views/enroll-factors/ManualSetupPushFooter.js","webpack:///./target/js/EnrollmentLinkSentController.js","webpack:///./target/js/EnterPasscodePushFlowController.js","webpack:///./target/js/PasswordExpiredController.js","webpack:///./target/js/util/ValidationUtil.js","webpack:///./target/js/views/expired-password/Footer.js","webpack:///./target/js/CustomPasswordExpiredController.js","webpack:///./target/js/ForgotPasswordController.js","webpack:///./target/js/views/shared/ContactSupport.js","webpack:///./target/js/RecoveryChallengeController.js","webpack:///./target/js/PwdResetEmailSentController.js","webpack:///./target/js/RecoveryQuestionController.js","webpack:///./target/js/PasswordResetController.js","webpack:///./target/js/RecoveryLoadingController.js","webpack:///./target/js/UnlockAccountController.js","webpack:///./target/js/AccountUnlockedController.js","webpack:///./target/js/UnlockEmailSentController.js","webpack:///./target/js/RefreshAuthStateController.js","webpack:///./target/js/RegistrationController.js","webpack:///./target/js/models/RegistrationSchema.js","webpack:///./target/js/models/LoginModel.js","webpack:///./target/js/util/RegistrationFormFactory.js","webpack:///./target/js/views/registration/SubSchema.js","webpack:///./target/js/RegistrationCompleteController.js","webpack:///./target/js/ConsentRequiredController.js","webpack:///./target/js/views/consent/ScopeList.js","webpack:///./target/js/views/consent/ScopeItem.js","webpack:///./target/js/views/shared/FactorBeacon.js","webpack:///./target/js/views/mfa-verify/dropdown/FactorsDropDown.js","webpack:///./target/js/views/mfa-verify/dropdown/FactorsDropDownOptions.js","webpack:///./target/js/views/consent/ConsentBeacon.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","global","O","key","value","Object","DEFINE_PROPERTY","writable","configurable","_babelPolyfill","Error","String","prototype","padStart","padEnd","split","forEach","Array","Function","bind","has","DESCRIPTORS","$export","redefine","META","KEY","$fails","shared","setToStringTag","uid","wks","wksExt","wksDefine","enumKeys","isArray","anObject","isObject","toIObject","toPrimitive","createDesc","_create","gOPNExt","$GOPD","$DP","$keys","gOPD","f","dP","gOPN","$Symbol","Symbol","$JSON","JSON","_stringify","stringify","PROTOTYPE","HIDDEN","TO_PRIMITIVE","isEnum","propertyIsEnumerable","SymbolRegistry","AllSymbols","OPSymbols","ObjectProto","USE_NATIVE","QObject","setter","findChild","setSymbolDesc","get","a","it","D","protoDesc","wrap","tag","sym","_k","isSymbol","iterator","$defineProperty","enumerable","$defineProperties","P","keys","i","l","length","$create","undefined","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","names","result","push","$getOwnPropertySymbols","IS_OP","TypeError","arguments","$set","set","name","G","W","F","es6Symbols","j","wellKnownSymbols","store","k","S","for","keyFor","useSetter","useSimple","create","defineProperty","defineProperties","getOwnPropertyDescriptor","getOwnPropertyNames","getOwnPropertySymbols","replacer","$replacer","args","apply","valueOf","Math","window","self","__g","hasOwnProperty","exec","e","core","hide","ctx","type","source","own","out","exp","IS_FORCED","IS_GLOBAL","IS_STATIC","IS_PROTO","IS_BIND","B","target","expProto","U","R","version","__e","object","IE8_DOM_DEFINE","Attributes","document","is","createElement","fn","val","toString","bitmap","SRC","TO_STRING","$toString","TPL","inspectSource","safe","isFunction","join","px","random","concat","aFunction","that","b","setDesc","isExtensible","FREEZE","preventExtensions","setMeta","w","fastKey","getWeak","onFreeze","meta","NEED","SHARED","mode","copyright","def","TAG","stat","USE_SYMBOL","$exports","LIBRARY","charAt","getKeys","gOPS","pIE","getSymbols","symbols","enumBugKeys","arrayIndexOf","IE_PROTO","IObject","defined","cof","slice","toLength","toAbsoluteIndex","IS_INCLUDES","$this","el","fromIndex","index","toInteger","min","ceil","floor","isNaN","max","arg","dPs","Empty","createDict","iframeDocument","iframe","lt","gt","style","display","appendChild","src","contentWindow","open","write","close","Properties","documentElement","windowNames","getWindowNames","hiddenKeys","fails","toObject","$getPrototypeOf","getPrototypeOf","constructor","$freeze","$seal","$preventExtensions","$isFrozen","$isSealed","$isExtensible","assign","$assign","A","K","T","aLen","x","y","setPrototypeOf","check","proto","test","buggy","__proto__","classof","ARG","tryGet","callee","invoke","arraySlice","factories","construct","len","n","partArgs","bound","un","FProto","nameRE","NAME","match","HAS_INSTANCE","FunctionProto","$parseInt","parseInt","$trim","trim","ws","hex","str","radix","string","spaces","space","non","ltrim","RegExp","rtrim","exporter","ALIAS","FORCE","TYPE","replace","$parseFloat","parseFloat","Infinity","inheritIfRequired","NUMBER","$Number","Base","BROKEN_COF","TRIM","toNumber","argument","third","maxCode","first","charCodeAt","NaN","code","digits","C","aNumberValue","repeat","$toFixed","toFixed","data","ERROR","ZERO","multiply","c2","divide","numToString","s","t","pow","acc","log","x2","fractionDigits","z","RangeError","msg","count","res","$toPrecision","toPrecision","precision","EPSILON","_isFinite","isFinite","isInteger","number","abs","isSafeInteger","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","Number","log1p","sqrt","$acosh","acosh","MAX_VALUE","LN2","asinh","$asinh","$atanh","atanh","sign","cbrt","clz32","LOG2E","cosh","$expm1","expm1","fround","EPSILON32","MAX32","MIN32","roundTiesToEven","$abs","$sign","hypot","value1","value2","div","sum","larg","$imul","imul","UINT16","xn","yn","xl","yl","log10","LOG10E","log2","sinh","tanh","trunc","fromCharCode","$fromCodePoint","fromCodePoint","raw","callSite","tpl","$at","iterated","_t","_i","point","done","pos","Iterators","$iterCreate","ITERATOR","BUGGY","FF_ITERATOR","KEYS","VALUES","returnThis","Constructor","next","DEFAULT","IS_SET","FORCED","methods","IteratorPrototype","getMethod","kind","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","entries","values","descriptor","codePointAt","context","ENDS_WITH","$endsWith","endsWith","searchString","endPosition","end","search","isRegExp","MATCH","re","INCLUDES","includes","indexOf","STARTS_WITH","$startsWith","startsWith","createHTML","quot","attribute","p1","toLowerCase","color","size","url","now","Date","getTime","toJSON","toISOString","pv","$toISOString","lz","num","d","getUTCFullYear","getUTCMilliseconds","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","DateProto","INVALID_DATE","hint","isArrayIter","createProperty","getIterFn","iter","from","arrayLike","step","mapfn","mapping","iterFn","ret","ArrayProto","getIteratorMethod","SAFE_CLOSING","riter","skipClosing","arr","of","arrayJoin","separator","method","html","begin","klass","start","upTo","cloned","$sort","sort","comparefn","$forEach","STRICT","callbackfn","asc","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","speciesConstructor","original","SPECIES","$map","map","$filter","filter","$some","some","$every","every","$reduce","reduce","memo","isRight","reduceRight","$indexOf","NEGATIVE_ZERO","searchElement","lastIndexOf","copyWithin","to","inc","UNSCOPABLES","fill","endPos","$find","forced","find","findIndex","addToUnscopables","Arguments","$flags","$RegExp","re1","re2","CORRECT_NEW","tiRE","piRE","fiU","proxy","ignoreCase","multiline","unicode","sticky","flags","$match","regexp","SYMBOL","fns","strfn","rxfn","REPLACE","$replace","searchValue","replaceValue","SEARCH","$search","SPLIT","$split","_split","$push","$SPLIT","LENGTH","LAST_INDEX","NPCG","limit","separator2","lastIndex","lastLength","output","lastLastIndex","splitLimit","separatorCopy","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","anInstance","forOf","task","microtask","newPromiseCapabilityModule","perform","userAgent","promiseResolve","PROMISE","process","versions","v8","$Promise","isNode","empty","newPromiseCapability","promise","resolve","FakePromise","PromiseRejectionEvent","then","isThenable","notify","isReject","_n","chain","_c","_v","ok","_s","run","reaction","exited","handler","fail","reject","domain","_h","onHandleUnhandled","enter","exit","onUnhandled","console","unhandled","isUnhandled","emit","onunhandledrejection","reason","error","_a","v","onrejectionhandled","$reject","_d","_w","$resolve","wrapper","executor","err","onFulfilled","onRejected","catch","Promise","r","capability","$$reject","all","iterable","remaining","$index","alreadyCalled","race","forbiddenField","BREAK","RETURN","defer","channel","port","cel","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","counter","queue","ONREADYSTATECHANGE","listener","event","nextTick","port2","port1","onmessage","postMessage","addEventListener","importScripts","removeChild","setTimeout","clear","macrotask","Observer","MutationObserver","WebKitMutationObserver","head","last","flush","parent","navigator","standalone","toggle","node","createTextNode","observe","characterData","PromiseCapability","$$resolve","promiseCapability","strong","validate","MAP","entry","getEntry","redefineAll","$iterDefine","setSpecies","SIZE","_f","getConstructor","ADDER","_l","delete","prev","setStrong","$iterDetect","common","IS_WEAK","fixMethod","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","SET","add","InternalMap","each","weak","WEAK_MAP","uncaughtFrozenStore","ufstore","tmp","$WeakMap","freeze","createArrayMethod","$has","arrayFind","arrayFindIndex","UncaughtFrozenStore","findUncaughtFrozen","splice","WEAK_SET","$typed","buffer","ArrayBuffer","$ArrayBuffer","$DataView","DataView","$isView","ABV","isView","$slice","VIEW","ARRAY_BUFFER","CONSTR","byteLength","fin","viewS","viewT","setUint8","getUint8","Typed","TYPED","TypedArrayConstructors","packIEEE754","mLen","nBytes","eLen","eMax","eBias","rt","unpackIEEE754","nBits","unpackI32","bytes","packI8","packI16","packI32","packF64","packF32","addGetter","internal","view","isLittleEndian","numIndex","intIndex","toIndex","$LENGTH","WRONG_INDEX","$BUFFER","_b","$OFFSET","pack","reverse","conversion","arrayFill","DATA_VIEW","WRONG_LENGTH","BaseBuffer","BUFFER","BYTE_LENGTH","BYTE_OFFSET","ArrayBufferProto","$setInt8","setInt8","getInt8","byteOffset","bufferLength","offset","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","init","$buffer","propertyDesc","createArrayIncludes","ArrayIterators","arrayCopyWithin","Uint8Array","SHARED_BUFFER","BYTES_PER_ELEMENT","arrayForEach","arrayFilter","arraySome","arrayEvery","arrayIncludes","arrayValues","arrayKeys","arrayEntries","arrayLastIndexOf","arrayReduce","arrayReduceRight","arraySort","arrayToString","arrayToLocaleString","toLocaleString","TYPED_CONSTRUCTOR","DEF_CONSTRUCTOR","ALL_CONSTRUCTORS","TYPED_ARRAY","allocate","LITTLE_ENDIAN","Uint16Array","FORCED_SET","toOffset","BYTES","speciesFromList","list","fromList","$from","$of","TO_LOCALE_BUG","$toLocaleString","predicate","middle","subarray","$begin","$iterators","isTAIndex","$getDesc","$setDesc","desc","$TypedArrayPrototype$","CLAMPED","GETTER","SETTER","TypedArray","TAC","TypedArrayPrototype","getter","o","round","addElement","$offset","$length","$len","$nativeIterator","CORRECT_ITER_NAME","$iterator","rApply","Reflect","fApply","thisArgument","argumentsList","L","rConstruct","NEW_TARGET_BUG","ARGS_BUG","Target","newTarget","$args","propertyKey","attributes","deleteProperty","Enumerate","enumerate","receiver","getProto","ownKeys","V","existingDescriptor","ownDesc","setProto","$includes","flattenIntoArray","arraySpeciesCreate","flatMap","sourceLen","depth","mapper","thisArg","element","spreadable","targetIndex","sourceIndex","mapFn","IS_CONCAT_SPREADABLE","flatten","depthArg","at","$pad","maxLength","fillString","left","stringLength","fillStr","intMaxLength","fillLen","stringFiller","getFlags","RegExpProto","$RegExpStringIterator","_r","matchAll","rx","getOwnPropertyDescriptors","getDesc","$values","isEntries","__defineGetter__","__defineSetter__","__lookupGetter__","__lookupSetter__","COLLECTION","cb","nextItem","isError","clamp","lower","upper","DEG_PER_RAD","PI","RAD_PER_DEG","degrees","radians","scale","fscale","inLow","inHigh","outLow","outHigh","iaddh","x0","x1","y0","y1","$x0","$x1","$y0","isubh","imulh","u","$u","$v","u0","v0","u1","v1","umulh","signbit","finally","onFinally","try","metadata","toMetaKey","ordinaryDefineOwnMetadata","defineMetadata","metadataKey","metadataValue","targetKey","Map","getOrCreateMetadataMap","targetMetadata","keyMetadata","ordinaryHasOwnMetadata","MetadataKey","metadataMap","ordinaryGetOwnMetadata","MetadataValue","ordinaryOwnMetadataKeys","_","deleteMetadata","ordinaryGetMetadata","hasOwn","getMetadata","Set","ordinaryMetadataKeys","oKeys","pKeys","getMetadataKeys","getOwnMetadata","getOwnMetadataKeys","ordinaryHasMetadata","hasMetadata","hasOwnMetadata","$metadata","asap","OBSERVABLE","cleanupSubscription","subscription","cleanup","subscriptionClosed","_o","closeSubscription","Subscription","observer","subscriber","SubscriptionObserver","unsubscribe","complete","$Observable","subscribe","observable","items","Observable","MSIE","time","boundArgs","setInterval","$task","TO_STRING_TAG","ArrayValues","DOMIterables","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","explicit","Collection","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","makeInvokeMethod","tryCatch","obj","GeneratorFunction","GeneratorFunctionPrototype","defineIteratorMethods","AsyncIterator","record","__await","unwrapped","enqueue","callInvokeWithMethodAndArg","previousPromise","state","GenStateSuspendedStart","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","GenStateSuspendedYield","info","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iteratorMethod","iteratorSymbol","Op","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","inModule","runtime","regeneratorRuntime","NativeIteratorPrototype","Gp","displayName","isGeneratorFunction","genFun","ctor","mark","awrap","async","pop","skipTempReset","stop","rootEntry","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","finish","thrown","delegateYield","escape","$re","regExp","part","OktaSignIn","getProperties","authClient","LoginRouter","Util","config","checkSession","callback","session","exists","closeSession","refreshSession","refresh","status","refreshIdToken","idToken","opts","getSession","user","pick","render","options","success","router","hasTokensInUrl","debugMessage","extend","globalSuccessFn","globalErrorFn","show","remove","hasTokensInHash","location","hash","parseTokensFromUrl","token","parseFromUrl","showSignInToGetTokens","renderOptions","OAuth2Util","transformShowSignInToGetTokensOptions","getTransaction","stateToken","tx","resume","renderEl","signOut","tokenManager","OktaAuth","baseUrl","transformErrorXHR","headers","X-Okta-User-Agent-Extended","clientId","redirectUri","Events","listenTo","trigger","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","createReduce","dir","iteratee","currentKey","optimizeCb","isArrayLike","createPredicateIndexFinder","array","getLength","createIndexFinder","predicateFind","sortedIndex","item","idx","collectNonEnumProps","nonEnumIdx","nonEnumerableProps","ObjProto","prop","contains","previousUnderscore","FuncProto","nativeIsArray","nativeKeys","nativeBind","nativeCreate","Ctor","_wrapped","VERSION","func","argCount","other","collection","accumulator","identity","matcher","property","createAssigner","keysFunc","undefinedOnly","baseCreate","MAX_ARRAY_INDEX","collect","results","foldl","inject","foldr","detect","findKey","select","negate","any","include","guard","isFunc","pluck","where","attrs","findWhere","computed","lastComputed","shuffle","rand","shuffled","sample","sortBy","criteria","right","group","behavior","groupBy","indexBy","countBy","toArray","partition","pass","take","initial","rest","tail","drop","compact","input","shallow","strict","startIndex","isArguments","without","difference","uniq","unique","isSorted","isBoolean","seen","union","intersection","argsLength","zip","unzip","findLastIndex","low","high","mid","range","executeBound","sourceFunc","boundFunc","callingContext","partial","position","bindAll","memoize","hasher","cache","address","delay","wait","throttle","timeout","previous","later","leading","clearTimeout","trailing","debounce","immediate","timestamp","callNow","compose","after","times","before","once","hasEnumBug","allKeys","mapObject","pairs","invert","functions","extendOwn","oiteratee","omit","defaults","props","clone","tap","interceptor","isMatch","eq","aStack","bStack","className","areArrays","aCtor","bCtor","isEqual","isEmpty","isString","isElement","nodeType","Int8Array","isNumber","isNull","isUndefined","noConflict","constant","noop","propertyOf","matches","accum","escapeMap","&","<",">","\"","'","`","unescapeMap","createEscaper","escaper","testRegexp","replaceRegexp","unescape","fallback","idCounter","uniqueId","prefix","templateSettings","evaluate","interpolate","noMatch","escapes","\\","\r","\n","
","
","escapeChar","template","text","settings","oldSettings","variable","_chain","mixin","supportedLanguages","Okta","Enums","Errors","hasResponseType","params","responseType","util","getTokens","controller","callGlobalSuccess","SUCCESS","errorCode","model","responseJSON","appState","callGlobalError","OAuthError","message","getAuthClient","verbose","oauthParams","extraOptions","authParams","popupTitle","oAuthTimeout","getWithRedirect","sessionToken","getWithoutPrompt","getWithPopup","addOrRemoveOpenIdScope","scope","scopes","getResponseType","getIdToken","getAccessToken","ConfigError","issuer","authorizationServerId","responseMode","__WEBPACK_AMD_DEFINE_FACTORY__","_interopRequireDefault","__esModule","default","_stringify2","_typeof2","_typeof3","__WEBPACK_EXTERNAL_MODULE_4__","__WEBPACK_EXTERNAL_MODULE_5__","__WEBPACK_EXTERNAL_MODULE_6__","__WEBPACK_EXTERNAL_MODULE_9__","__WEBPACK_EXTERNAL_MODULE_11__","__WEBPACK_EXTERNAL_MODULE_14__","__WEBPACK_EXTERNAL_MODULE_43__","Backbone","$","Handlebars","Model","BaseModel","BaseCollection","SchemaProperty","BaseSchema","StringUtil","TemplateUtil","ButtonFactory","BaseRouter","BaseController","Cookie","Logger","Class","Keys","TimeUtil","BaseView","ListView","BaseDropDown","BaseForm","InputRegistry","FormUtil","SchemaFormFactory","Toolbar","TextBox","PasswordBox","CheckBox","Radio","Select","localize","createButton","registerInput","register","View","Router","Controller","Form","views","components","forms","helpers","inputs","models","cid","initialize","underscore","resultCtx","defaultValue","compile","markdownToHtml","moment","formatDate","format","dateInISOString","utc","utcOffset","prependCachebustPrefix","path","CACHE_BUST_URL_PREFIX","registerHelper","bundle","param","SafeString","cdn","okta","cdnUrlHostname","attr","Utils","escapeExpression","mdText","ajaxSetup","beforeSend","xhr","setRequestHeader","converters","text secureJSON","substring","parse","jQueryCourage","Bundles","entityMap","&","<",">",""","'","'","/","emailValidator","sprintf","triggerError","shift","oldValue","entity","parseQuery","query","decodeURIComponent","pair","encodeJSObject","jsObj","encodeURIComponent","decodeJSObject","unescapeHtml","bundleName","unshift","_x","_parseFloat","_x2","_parseInt","int","parseObject","isPlainObject","randomString","characters","stringArray","ends","isEmail","RE_LINK","RE_LINK_HREF","RE_LINK_TEXT","RE_LINK_JS","markdownText","linkTemplate","mdLink","href","secureJSON","_builtInLocalProps","__edit__","__pending__","local","sync","dataType","objectTypeFields","unflatten","ref","parts","createMessage","field","normalizeSchemaDef","required","capitalize","letter","toUpperCase","_validateRegex","pattern","validateStringFormat","validator","StringFormatValidators","validateString","createMessageWith","invalidFormat","minLength","ERROR_STRING_STRING_MIN_LENGTH","ERROR_STRING_STRING_MAX_LENGTH","validateField","checkType","errorMessage","isDefined","ERROR_BLANK","ERROR_WRONG_TYPE","ERROR_NOT_ALLOWED","ERROR_INVALID","validateArrayField","minItems","maxItems","uniqueItems","ERROR_IARRAY_UNIQUE","arrayField","email","ERROR_INVALID_FORMAT_EMAIL","uri","ERROR_INVALID_FORMAT_URI","ipv4","ERROR_INVALID_FORMAT_IPV4","hostname","ERROR_INVALID_FORMAT_HOSTNAME","derived","flat","schema","computedProperties","schemaDef","localDefaults","_validateSchema","__getDerivedValue","deps","on","__syncedData","allows","getPropertySchema","propName","errorFields","isSynced","level","debug","trace","timeEnd","groupEnd","assert","warn","hasProps","_setSynced","__attributes","sanitizeAttributes","unset","newModel","_syncedData","_getSynced","ComputedProperty","setLinkHeadersPagination","links","parseLinkHeader","getResponseHeader","STATE","LINK_BY_HEADER","setPagination","rawQueryStr","queryString","unquote","header","linkexp","paramexp","rels","link","paramsplit","rel","FETCH_DATA","PAGINATION_DATA","DEFAULT_PARAMS","XHR","resp","fetch","fromFetch","abort","getFetchData","getPaginationData","hasMore","fetchMore","update","SchemaUtil","EnumTypeHelper","STRING","INTEGER","OBJECT","getArrayTypeName","elementType","SubSchema","description","SubSchemaCollection","SubSchemaAllOfCollection","_type","SubSchemaOneOfCollection","SubSchemaNoneOfCollection","constraintTypeErrorMessages","integer","loginFormatNonePattern","escapedLoginCharsRe","constraintHandlers","between","greaterThan","lessThan","equals","idAttribute","__oneOf__","title","subSchemas","permissions","SELF","PERMISSION","READ_ONLY","__isSensitive__","sensitive","__userPermission__","__displayType__","__displayTypeLabel__","displayType","DATATYPE","__supportsMinMax__","__isReadOnly__","mutability","MUTABILITY","READONLY","__isWriteOnly__","WRITEONLY","__displayScope__","__isScopeSelf__","SCOPE","__isNoneScopeArrayType__","isScopeSelf","isArrayDataType","__isImported__","externalName","__isFromBaseSchema__","schemaMeta","__enumDefined__","__supportEnum__","SUPPORTENUM","__isNumberTypeEnum__","ARRAYDISPLAYTYPE","arrayofnumber","__isIntegerTypeEnum__","arrayofinteger","__isObjectTypeEnum__","arrayofobject","__isStringTypeEnum__","arrayofstring","__enumConstraintType__","isStringType","isNumberType","isIntegerType","isObjectType","__isEnumDefinedAndSupported__","enumDefined","supportEnum","__isLoginOfBaseSchema__","isFromBaseSchema","_updateTypeFormatConstraints","_updateDisplayType","_updateMinMax","_convertEqualsToMinMax","_setConstraintText","_setLoginPattern","extendedType","getDisplayType","_setRangeConstraints","SUPPORTSMINMAX","DISPLAYSCOPE","NA","_setMasterOverride","_setSubSchemas","enumValidationError","_validateEnumOneOf","constraitType","constraitHandler","_checkBetweenConstraints","minVal","maxVal","__minVal__","__maxVal__","_checkIntegerConstraints","_checkGreaterThanConstraint","_checkLessThanConstraint","_checkEqualsConstraint","masterOverride","masterOverrideValue","minimum","maximum","allOf","oneOf","noneOf","LOGINPATTERNFORMAT","NONE","CUSTOM","_extractLoginPattern","EMAIL","FORMATDISPLAYTYPE","arraytype","enumOneOf","_isValidateOneOfConstraint","constraintType","errorTypeMsg","isConstraintValueMatchType","json","_enumAssignment","_attributeOverrideToJson","_normalizeUnionValue","_patternAssignment","masterOverrideType","overrideProfile","_getEnumOneOfWithTitleCheck","_buildLoginPattern","_escapedRegexChar","char","silent","DISPLAYTYPES","constraint","SYSTEM","isEnumType","getEnumValues","detectHasEnumDefined","enumValues","convertToOneOf","SchemaProperties","areAllReadOnly","createModelProperties","schemaProperty","SchemaUtils","BOOLEAN","date-time","country-code","language-code","locale","timezone","ref-id","arrayofref-id","date","boolean","reference","image","password","READWRITE","IMMUTABLE","UNION","DISABLE","ENABLE","UNION_OPTIONS","HIDE","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","itemType","getSourceUsernameType","mappingDirection","targetName","appName","sourceUsernameType","isObjectDataType","getEnumInputOptions","inputOptions","label","readOnly","customExplain","explain","getDropdownOptionsFromOneOf","valuesToEnumObjects","enumObjectsToValues","valueToEnumObject","enumObjectToValue","getDropdownOptions","isOneOfEnumObject","convertIndexToEnumIndex","convertEnumObjectToOneOf","convertEnumToOneOf","const","valueToTitle","ENUM_KEY_PREFIX","oneOfObj","enumValue","isStringConstraint","isNumberConstraint","isIntegerConstraint","isObjectConstraint","parseProperties","properties","Schema","trimProperty","save","Schemas","BaseButtonLink","normalizeEvents","events","click","eventName","preventDefault","stopPropagation","ViewUtil","disabledEvents","defaultAttrs","data-se","additionalAttr","__getAttribute","tagName","visible","enabled","enableWhen","showWhen","getTemplateData","disabled","$el","addClass","icon","applyDoWhen","toggleVisible","enable","disable","bool","toggleClass","delegateEvents","hidden","eventBus","removeChildren","compileTemplate","broadcast","listen","off","confirm","okfn","cancelfn","subtitle","cancelFn","alert","noCancelButton","decorate","TargetView","getIndex","container","CHILDREN","doRender","RENDERED","renderTemplate","ADD_TO_CONTAINER","subscribeEvents","isEventPropertyRe","matchKeys","bindings","callbacks","PARENT","CHILD_DEFINITIONS","children","childDefinition","autoRender","unregister","stopListening","viewIndex","selector","bubble","prepend","unescapingRexExp","elementUnescapedOuterHTMLLength","templateUnescapedLength","viewOptions","append","rendered","modelData","preRender","postRender","getChildren","methodName","child","changeEventString","doWhen","calcDoWhen","modelValue","_doWhen","animate","SettingsModel","Notification","ConfirmationDialog","getRoute","route","_notify","_confirm","Dialog","dialog","notification","unload","History","started","history","navigate","fragment","orgId","orgName","serverStatus","persona","isDeveloperConsole","isPreview","extraProperties","features","_features","hasFeature","feature","logHasFeatureError","hasAnyFeature","featureArray","hasPermission","permission","fade","width","dismissable","click .infobox-dismiss-link","fadeOut","css","margin-left","BaseFormDialog","minWidth","maxWidth","content","BaseModalDialog","FORM_FIELDS","FORM_DEFAULTS","layout","scrollOnError","SIMPLE_MODAL_PARAMS","focus","autoResize","autoPosition","form","resizeModal","removeFn","resize","getAttribute","addInput","addButton","addDivider","addSectionTitle","modal","modalHeight","height","modalMinHeight","minHeight","windowHeight","contentHeight","outerHeight","clearErrors","onClose","InputFactory","InputLabel","InputContainer","InputWrapper","ErrorBanner","ErrorParser","ReadModeBar","pointerEventsPolyfill","pointerEventsSupported","hasClass","currentTarget","underneathElem","elementFromPoint","clientX","clientY","pointer-events","pointerEvents","submit","__save","action","pathname","convertSavingState","rawSavingStateEvent","defaultEvent","savingStateEvent","__buttons","__errorFields","__saveModelState","totalSteps","__toolbar","__createToolbar","__addLayoutItem","__applyMode","showBanner","__showErrors","__cancel","__previous","hasSavingState","customSavingState","__setSavingState","__clearSavingState","danger","saveBtnClassName","toolbar","saveId","saveClassName","cancel","hasPrevStep","read","noButtonBar","autoSave","showErrors","resizeSelector","hasReadMode","isReadOnly","hasButtonBar","__readModeBar","readModeBar","formTitle","removeClass","__toggleToolbar","_editMode","edit","__originalModel","isValid","validateArray","fieldName","getInputs","parseErrorMessage","errorSummary","getResponseJSON","validationErrors","parseFieldErrors","errors","errorCauses","scrollTop","top","supports","__addNonInputLayoutItem","itemOptions","applyShowWhen","applyToggleWhen","toggleWhen","_options","validateInput","inputsOptions","generateInputOptions","__createInput","validateOnlyIfDirty","errorField","inputId","multi","inputWrapper","__createWrapper","__createLabel","_createContainer","INPUT_OPTIONS","WRAPPER_OPTIONS","LABEL_OPTIONS","CONTAINER_OPTIONS","isABaseView","wide","inputGroup","_getNames","inputItem","__setExplain","__setError","__clearError","__errorState","tmpl","$elExplain","not","redirect","reloadPage","reload","constantError","getUrlQueryString","queries","queriesString","createInput","Input","isBaseInput","editMode","readMode","registry","_isLabelView","sublabel","tooltip","option","qtip","classes","my","fixed","runCallback","runIf","inputWrapperClassName","optionsClassName","getLabel","getInput","getInputContainer","decorateDoWhen","timeoutId","intervalId","phaseCount","keyup","isEnter","mousedown","mouseup","__changeSaveText","clearInterval","__showLoadingText","SAVE_BUTTON_PHASES","ALL_OPTIONS","fields","createFn","OTHER_OPTIONS","fieldNames","createReadFormButton","ariaLabel","aria-label","toggleAndResize","UP","DOWN","DEL","TAB","ENTER","ESC","COMMA","PAGEUP","PAGEDOWN","SPACE","BACKSPACE","__isKey","which","keyCode","isEsc","isSpaceBar","modelEvents","form:clear-errors","FIELD_REGEX","responseText","parseErrorSummary","parseErrorCauseObject","errorCause","localizedMsg","apiMsg","parseErrors","cause","change:__edit__","StateMachine","clean","stateData","SECURED_COOKIE","setCookie","secure","getCookie","removeCookie","converter","api","expires","setMilliseconds","getMilliseconds","cookie","toUTCString","cookies","rdecode","getJSON","withConverter","MOMENT_UNIT","MILLISECOND","SECOND","MINUTE","HOUR","DAY","MINUTES_HOURS_DAYS","MILLISECONDS_SECONDS_MINUTES","convertToPDT","milliseconds","formatter","defaultText","getTimeInHighestRelevantUnit","unit","highestUnit","duration","seconds","minutes","hours","as","convertMomentUnits","momentUnit","convertTimeUnit","fromUnit","toUnit","convertTimeFormat","timeString","fromFormatter","toFormatter","addItem","itemSelector","optionsTemplate","DropDownOption","seleniumId","click a.option-selected","click .dropdown-disabled","addOption","BooleanSelect","TextBoxSet","defaultOptions","convertStringToNumber","getChoices","customOptions","configs","getObjectName","schemaProp","objectName","augmentSchemaProp","possibleValues","profile","fixedValues","defaultValues","userValues","augmentSchemaProps","schemaProps","cleanSchema","isValidSchemaProp","createInputOptions","preparedSchemaProp","custom","standard","hasValidSchemaProps","validSchema","prepareSchema","true","false","BaseInput","autoWidth","findSelectWidth","$select","recalculateChosen","$chosen","$results","$clone","$win","rHeight","rBottom","wHeight","CHOSEN_WINDOW_MARGIN","maxHeight","CHOSEN_MAX_HEIGHT","fixChosenModal","removeAttr","baseStyles","float","z-index","resizeHandler","CHOSEN_Z_INDEX","parents","scroll","change select","keyup .chzn-search > :text","getOptions","getModelValue","chosen","__applyChosen","searchThreshold","getParam","disable_search_threshold","placeholder_text","toStringValue","selectedOption","displayString","Callout","getNameString","defaultPlaceholder","placeholder","inlineValidation","addInlineValidation","addModelListeners","addAriaLabel","toModelValue","__getDependencyCalloutBtn","btnConfig","btnOptions","originalClick","one","__showInputDependencies","CalloutBtn","getCalloutParent","__getCalloutMsgContainer","calloutMsg","showCallout","calloutConfig","dependencyResolved","callout","btn","dependencyCallout","calloutParent","removeCallout","__evaluateCalloutObject","calloutTitle","defaultCallout","__handleDependency","resolved","fieldDependency","_isEdited","isEditMode","validationError","__markError","getReadModeString","readModeStr","changeType","getParams","getParamOrAttribute","Time","getOption","getTopClass","UNLOADING_FADE","dismissible","bullets","DEBOUNCE_DELAY","LOADING_FADE","ROW_EXPANDER_TRANSITION","HIDE_ADD_MAPPING_FORM","jQuery","SelectParser","options_index","parsed","add_node","nodeName","add_group","add_option","group_position","_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","search_contains","single_backstroke_delete","max_selected_options","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","newchar","container_width","offsetWidth","documentMode","Chosen","__hasProp","__extends","__super__","input_field","_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","blur","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_id","substr","metaKey","ctrlKey","result_activate","result_deactivate","result_data","deselected","found","regex","regexAnchor","result_id","searchText","startpos","zregex","_j","_len1","no_results_clear","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","siblings","h","style_block","styles","f_width","outerWidth","DeletableBox","click .array-inputs-button","addNewElement","uniqueIdPrefix","_setArrayObject","arrayObject","_addDeletableBox","deletableBox","updatedValue","slideDown","isVowel","getArticle","errorClass","updateArrayEvent","click a","keyup input","getPlaceholderText","errorExplain","getErrorExplainText","debounceDelay","slideUp","parseFunc","clearInvalid","markInvalid","_x3","_parseInt2","hasTitleAndText","createQtipContent","input input","change input","keydown input","inputValue","innerTooltip","adjust","mouse","viewport","elem","newAttrs","rinlinejQuery","specified","clearPlaceholder","$input","activeElement","setPlaceholder","$replacement","placeholder-password","placeholder-id","placeholder-textinput","hooks","isInputSupported","isTextareaSupported","valHooks","textarea","focus.placeholder","blur.placeholder","$element","$inputs","toggleTemplate","toggleTimeout","__showPasswordToggle","showPasswordToggle","__showPassword","_this2","passwordToggleTimer","__hidePassword","change :checkbox","customInput","closest","wrapAll","hover","RadioOption","change :radio","templates","optionId","realName","webpackPolyfill","deprecate","paths","_iterator","_iterator2","_symbol","_symbol2","_typeof","IS_WRAP","virtual","hb","_handlebarsCompilerCompiler","precompile","AST","_handlebarsCompilerAst2","Compiler","JavaScriptCompiler","_handlebarsCompilerJavascriptCompiler2","Parser","_handlebarsCompilerBase","_handlebarsRuntime","_handlebarsRuntime2","_handlebarsCompilerAst","_handlebarsCompilerJavascriptCompiler","_handlebarsCompilerVisitor","_handlebarsCompilerVisitor2","_handlebarsNoConflict","_handlebarsNoConflict2","inst","Visitor","base","HandlebarsEnvironment","_handlebarsSafeString2","Exception","_handlebarsException2","VM","spec","_interopRequireWildcard","_handlebarsBase","_handlebarsSafeString","_handlebarsException","_handlebarsUtils","newObj","partials","decorators","_helpers","registerDefaultHelpers","_decorators","registerDefaultDecorators","_utils","_exception","_exception2","_logger","_logger2","COMPILER_REVISION","REVISION_CHANGES","1","2","3","4","5","6","7","objectType","logger","unregisterHelper","registerPartial","unregisterPartial","registerDecorator","unregisterDecorator","createFrame","chr","toHTML","possible","badChars","frame","_parent","blockParams","ids","appendContextPath","contextPath","=","line","column","errorProps","captureStackTrace","lineNumber","_Object$defineProperty","nop","$Object","setDescs","getNames","_helpersBlockHelperMissing2","_helpersEach2","_helpersHelperMissing2","_helpersIf2","_helpersLog2","_helpersLookup2","_helpersWith2","_helpersBlockHelperMissing","_helpersEach","_helpersHelperMissing","_helpersIf","_helpersLog","_helpersLookup","_helpersWith","inverse","execIteration","priorKey","conditional","includeZero","_decoratorsInline2","_decoratorsInline","methodMap","lookupLevel","levelMap","_key","checkRevision","compilerInfo","compilerRevision","currentRevision","_base","runtimeVersions","compilerVersions","templateSpec","env","invokePartialWrapper","resolvePartial","invokePartial","compilerOptions","indent","lines","main","depths","_setup","useData","initData","useBlockParams","useDepths","executeDecorators","decorator","main_d","compiler","lookup","lambda","current","programs","program","declaredBlockParams","programWrapper","wrapProgram","merge","nullContext","_Object$seal","isTop","usePartial","useDecorators","_child","prog","currentDepths","currentPartialBlock","partialBlock","seal","$Handlebars","helperExpression","scopedId","simpleId","_parser2","yy","locInfo","SourceLocation","srcName","strip","_whitespaceControl2","accept","_parser","_whitespaceControl","Helpers","handlebars","symbols_","EOF","program_repetition0","statement","mustache","block","rawBlock","COMMENT","CONTENT","openRawBlock","rawBlock_repetition_plus0","END_RAW_BLOCK","OPEN_RAW_BLOCK","helperName","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","ID","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","stripFlags","prepareRawBlock","prepareBlock","chained","prepareMustache","preparePartialBlock","preparePath","table","8","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","91","102","105","111","112","117","120","123","124","136","137","parseError","lex","lexer","stack","vstack","lstack","recovering","setInput","yylloc","yyloc","ranges","symbol","preErrorSymbol","newState","expected","yyval","errStr","showPosition","first_line","last_line","first_column","last_column","_input","_more","_less","matched","conditionStack","ch","unput","oldLines","more","less","pastInput","past","upcomingInput","pre","tempMatch","rules","_currentRules","flex","condition","popState","conditions","topState","pushState","yy_","$avoiding_name_collisions","YY_START","mu","inclusive","emu","com","INITIAL","WhitespaceControl","isPrevWhitespace","body","isRoot","sibling","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","depthString","isLiteral","escapeFlag","escaped","contents","inverted","statements","firstLoc","lastLoc","compat","ast","environment","compileInput","execOptions","compiled","setupOptions","argEquals","transformLiteralToPath","literal","_ast","_ast2","opcodes","opcode","otherOpcode","guid","sourceNode","stringParams","trackIds","knownHelpers","helperMissing","blockHelperMissing","if","unless","with","_name","compileProgram","childCompiler","bodyLength","isSimple","classifySexpr","helperSexpr","simpleSexpr","ambiguousSexpr","setupFullMustacheParams","explicitPartialContext","isDynamic","preventIndent","noEscape","isBlock","knownHelpersOnly","falsy","addDepth","scoped","blockParamId","blockParamIndex","pushParam","isBlockParam","isHelper","isEligible","_name2","pushParams","blockParamChild","omitEmpty","Literal","strictLookup","requireTerminal","popStack","nameLookup","aliasable","quotedString","_codeGen","_codeGen2","isValidJavaScriptVariableName","depthedLookup","revision","appendToBuffer","initializeBuffer","asObject","isChild","environments","preamble","stackSlot","stackVars","aliases","registers","hashes","compileStack","inlineStack","compileChildren","currentLocation","pushSource","createFunctionContext","_context","objectLiteral","toStringWithSourceMap","file","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","getContext","pushContext","pushStackLiteral","lookupOnContext","resolvePath","lookupBlockParam","lookupData","assumeObjects","resolvePossibleLambda","pushStringParam","pushString","emptyHash","pushHash","types","contexts","popHash","pushLiteral","pushProgram","programExpression","paramSize","foundDecorator","invokeHelper","nonHelper","helper","setupHelper","simple","callParams","invokeKnownHelper","invokeAmbiguous","helperCall","useRegister","paramsInit","setupParams","assignToHash","pushId","existing","matchExistingProgram","programParams","expr","createdStack","usedLiteral","incrStack","topStackName","wrapped","inline","blockHelper","foundHelper","callContext","objectArgs","hashIds","hashTypes","hashContexts","generateArray","reservedWords","compilerWords","RESERVED_WORDS","castChunk","chunk","codeGen","CodeGen","srcFile","SourceNode","chunks","generateList","previousBackbone","emulateHTTP","emulateJSON","addMethod","defaultVal","addUnderscoreMethods","eventSplitter","eventsApi","internalOn","listening","_events","onApi","listeners","_listeners","_listenId","listeningTo","_listeningTo","thisId","objId","handlers","offApi","_callback","onceMap","listenToOnce","offer","triggerApi","objEvents","allEvents","triggerEvents","ev","a1","a2","a3","cidPrefix","changed","_validate","changes","changing","_changing","_previousAttributes","_pending","hasChanged","changedAttributes","diff","old","previousAttributes","serverAttrs","wrapError","isNew","patch","destroy","urlError","modelMethods","comparator","_reset","setOptions","addOptions","singular","removed","_removeModels","_isModel","sortable","sortAttr","toAdd","toRemove","modelMap","order","orderChanged","_prepareModel","_addReference","modelId","orderedModels","addOpts","_removeReference","previousModels","_byId","callbackOpts","_onModelEvent","prevId","collectionMethods","attributeMethods","_ensureElement","delegateEventSplitter","_removeElement","setElement","undelegateEvents","_setElement","undelegate","_createElement","_setAttributes","contentType","_method","processData","textStatus","errorThrown","ajax","routes","_bindRoutes","optionalParam","namedParam","splatParam","escapeRegExp","_routeToRegExp","_extractParameters","execute","optional","routeStripper","rootStripper","pathStripper","interval","atRoot","getSearch","matchRoot","decodeFragment","decodeURI","getHash","getPath","getFragment","_usePushState","_wantsHashChange","hashChange","_hasHashChange","_useHashChange","_wantsPushState","_hasPushState","tabIndex","iWindow","insertBefore","firstChild","attachEvent","checkUrl","_checkUrlInterval","loadUrl","removeEventListener","detachEvent","_updateHash","protoProps","staticProps","Surrogate","noGlobal","isWindow","winnow","elements","qualifier","grep","risSimple","inArray","cur","createOptions","rnotwhite","flag","detach","completed","readyState","ready","dataAttr","rmultiDash","rbrace","parseJSON","isEmptyDataObject","isEmptyObject","internalData","pvt","acceptData","thisCache","internalKey","expando","deletedIds","camelCase","internalRemoveData","cleanData","support","deleteExpando","adjustCSS","valueParts","tween","adjusted","maxIterations","currentValue","cssNumber","initialInUnit","rcssNum","createSafeFragment","nodeNames","safeFrag","createDocumentFragment","getAll","elems","getElementsByTagName","querySelectorAll","setGlobalEval","refElements","_data","fixDefaultChecked","rcheckableType","defaultChecked","checked","buildFragment","scripts","selection","ignored","tbody","nodes","rhtml","rtagName","wrapMap","_default","htmlPrefilter","lastChild","leadingWhitespace","rleadingWhitespace","rtbody","textContent","appendChecked","ownerDocument","rscriptType","returnTrue","returnFalse","safeActiveElement","origFn","manipulationTarget","disableScript","restoreScript","rscriptTypeMasked","removeAttribute","cloneCopyEvent","dest","hasData","oldData","curData","fixCloneNodeIssues","noCloneEvent","removeEvent","parentNode","outerHTML","html5Clone","defaultSelected","domManip","hasScripts","doc","iNoClone","checkClone","rchecked","_evalUrl","globalEval","rcleanScript","keepData","actualDisplay","appendTo","defaultDisplay","elemdisplay","contentDocument","addGetHookIf","conditionFn","hookFn","vendorPropName","emptyStyle","capName","cssPrefixes","showHide","isHidden","setPositiveNumber","subtract","rnumsplit","augmentWidthOrHeight","extra","isBorderBox","cssExpand","getWidthOrHeight","valueIsBorderBox","offsetHeight","getStyles","boxSizing","msFullscreenElement","getClientRects","getBoundingClientRect","curCSS","rnumnonpx","boxSizingReliable","Tween","easing","createFxNow","fxNow","genFx","includeWidth","opacity","createTween","animation","Animation","tweeners","defaultPrefilter","oldfire","checkDisplay","anim","orig","dataShow","_queueHooks","unqueued","fire","always","overflow","overflowX","overflowY","inlineBlockNeedsLayout","zoom","shrinkWrapBlocks","rfxtypes","_removeData","propFilter","specialEasing","cssHooks","expand","stopped","prefilters","deferred","Deferred","tick","currentTime","startTime","temp","percent","tweens","notifyWith","resolveWith","originalProperties","originalOptions","gotoEnd","rejectWith","fx","timer","progress","getClass","addToPrefiltersOrTransports","structure","dataTypeExpression","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspect","inspected","prefilterOrFactory","dataTypeOrTransport","seekingTransport","transports","ajaxExtend","deep","flatOptions","ajaxSettings","ajaxHandleResponses","responses","firstDataType","ct","finalDataType","mimeType","ajaxConvert","response","isSuccess","conv2","conv","responseFields","dataFilter","getDisplay","filterHidden","buildParams","traditional","rbracket","createStandardXHR","XMLHttpRequest","createActiveXHR","ActiveXObject","getWindow","defaultView","parentWindow","class2type","rmsPrefix","rdashAlpha","fcamelCase","jquery","pushStack","prevObject","copyIsArray","copy","isReady","isNumeric","realStringObj","ownFirst","execScript","makeArray","second","callbackInverse","callbackExpect","Sizzle","seed","nid","nidselect","groups","newSelector","newContext","preferredDoc","setDocument","documentIsHTML","rquickExpr","getElementById","getElementsByClassName","qsa","compilerCache","rbuggyQSA","rescape","setAttribute","tokenize","ridentifier","toSelector","rsibling","testContext","qsaError","createCache","Expr","cacheLength","markFunction","addHandle","attrHandle","siblingCheck","MAX_NEGATIVE","nextSibling","createInputPseudo","createButtonPseudo","createPositionalPseudo","matchIndexes","setFilters","tokens","addCombinator","combinator","checkNonElements","doneName","xml","oldCache","uniqueCache","outerCache","newCache","dirruns","uniqueID","elementMatcher","matchers","multipleContexts","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","sortOrder","push_native","booleans","whitespace","identifier","pseudos","rwhitespace","rcomma","rcombinators","rattributeQuotes","rpseudo","matchExpr","CLASS","ATTR","PSEUDO","CHILD","needsContext","rinputs","rheader","rnative","runescape","funescape","escapedWhitespace","unloadHandler","els","hasCompare","createComment","getById","getElementsByName","attrId","getAttributeNode","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","duplicates","detectDuplicates","sortStable","nodeValue","selectors","createPseudo"," ","+","~","excess","unquoted","nodeNameSelector","operator","what","forward","ofType","nodeIndex","useCache","pseudo","innerText","lang","elemLang","hasFocus","button","even","odd","radio","checkbox","filters","parseOnly","soFar","preFilters","cached","div1","isXMLDoc","until","truncate","rneedsContext","rsingleTag","rootjQuery","parseHTML","rparentsprev","guaranteedUnique","targets","addBack","parentsUntil","nextUntil","prevUntil","Callbacks","firing","memory","fired","locked","firingIndex","stopOnFalse","lock","fireWith","tuples","newDefer","tuple","returned","pipe","stateString","when","subordinate","progressValues","progressContexts","resolveContexts","resolveValues","updateFunc","readyList","readyWait","holdReady","hold","triggerHandler","doScroll","frameElement","doScrollCheck","noData","applet ","embed ","object ","removeData","dequeue","startLength","clearQueue","shrinkWrapBlocksVal","pnum","access","chainable","emptyGet","bulk","htmlSerialize","cloneNode","noCloneChecked","legend","area","thead","tr","col","td","optgroup","tfoot","colgroup","caption","th","change","focusin","rformElems","rkeyEvent","rmouseEvent","rfocusMorph","rtypenamespace","handleObjIn","special","eventHandle","handleObj","namespaces","origType","elemData","triggered","dispatch","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","replaceWith","replaceChild","prependTo","insertAfter","replaceAll","insert","HTML","BODY","rmargin","swap","computeStyleTests","divStyle","pixelPositionVal","boxSizingReliableVal","reliableMarginLeftVal","pixelMarginRightVal","reliableMarginRightVal","getComputedStyle","marginLeft","marginRight","reliableHiddenOffsetsVal","cssFloat","backgroundClip","clearCloneStyle","MozBoxSizing","WebkitBoxSizing","reliableHiddenOffsets","pixelMarginRight","pixelPosition","reliableMarginRight","reliableMarginLeft","rposition","opener","getPropertyValue","currentStyle","rs","rsLeft","runtimeStyle","pixelLeft","ralpha","ropacity","rdisplayswap","cssShow","visibility","cssNormalTransform","letterSpacing","fontWeight","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","lineHeight","orphans","widows","zIndex","cssProps","origName","$1","margin","padding","border","suffix","expanded","propHooks","eased","linear","swing","cos","timerId","rrun","*","tweener","prefilter","speed","opt","speeds","fadeTo","optall","doAnimation","stopQueue","timers","cssFn","slideToggle","fadeIn","fadeToggle","slow","fast","getSetAttribute","hrefNormalized","checkOn","optSelected","enctype","optDisabled","radioValue","rreturn","optionSet","scrollHeight","nodeHook","boolHook","ruseDefault","getSetInput","nType","attrHooks","attrNames","propFix","setAttributeNode","createAttribute","coords","contenteditable","rfocusable","rclickable","removeProp","tabindex","rclass","curValue","clazz","finalValue","stateVal","classNames","fnOver","fnOut","nonce","rquery","rvalidtokens","requireNonComma","comma","parseXML","DOMParser","parseFromString","loadXML","rhash","rts","rheaders","rlocalProtocol","rnoContent","rprotocol","rurl","allTypes","ajaxLocation","ajaxLocParts","active","lastModified","etag","isLocal","accepts","* text","text html","text json","text xml","ajaxPrefilter","ajaxTransport","nativeStatusText","modified","statusText","timeoutTimer","transport","responseHeadersString","ifModified","cacheURL","callbackContext","statusCode","fireGlobals","globalEventContext","completeDeferred","responseHeaders","requestHeaders","requestHeadersNames","strAbort","getAllResponseHeaders","lname","overrideMimeType","finalText","crossDomain","hasContent","send","getScript","throws","wrapInner","unwrap","r20","rCRLF","rsubmitterTypes","rsubmittable","serialize","serializeArray","xhrId","xhrCallbacks","xhrSupported","cors","username","xhrFields","isAbort","onreadystatechange","script","text script","scriptCharset","charset","onload","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","createHTMLDocument","implementation","keepScripts","_load","animated","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","calculatePosition","curElem","using","win","box","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","","defaultExtra","funcName","andSelf","_jQuery","Q","login","country","BrowserFeatures","parseOverrides","i18n","i18nWithLowerCaseKeys","getCachedLanguages","storage","localStorage","getItem","STORAGE_KEY","addLanguageToCache","language","loginJson","countryJson","setItem","fetchJsonp","assets","languageCode","rewrite","bundlePathTpl","getBundles","localStorageIsSupported","localStorageIsNotSupported","spread","courage","currentLanguage","isLoaded","loadLanguage","overrides","parsedOverrides","lowerCaseLanguage","bundles","definition","bootstrap","uncurryThis","isStopIteration","object_toString","QReturnValue","makeStackTraceLong","hasStacks","STACK_JUMP_SEPARATOR","stacks","concatedStacks","filterStackString","stackString","desiredLines","isInternalFrame","isNodeFrame","stackLine","getFileNameAndLineNumber","attempt1","attempt2","attempt3","fileNameAndLineNumber","fileName","qFileName","qStartingLine","qEndingLine","captureLine","firstLine","alternative","isPromiseAlike","coerce","fulfill","become","newPromise","resolvedPromise","array_reduce","messages","promiseDispatch","progressListeners","object_create","op","operands","array_slice","nearerValue","nearer","isPromise","longStackSupport","progressListener","resolver","answerPs","fulfilled","rejected","progressed","isPending","isFulfilled","isRejected","resetUnhandledRejections","unhandledReasons","unhandledRejections","trackUnhandledRejections","trackRejection","runAfter","array_indexOf","reportedUnhandledRejections","untrackRejection","atReport","rejection","rhs","post","thisp","object_keys","master","isDef","makeGenerator","continuer","verb","StopIteration","errback","spawn","_return","promised","promises","pendingCount","snapshot","onProgress","allResolved","array_map","allSettled","nodeify","nodeback","runSingle","laterQueue","flushing","isNodeJS","requestTick","requestPortTick","basis","Type","object_hasOwnProperty","ReturnValue","Q_DEBUG","makeNodeResolver","passByCopy","makePromise","_fulfilled","_rejected","newException","_progressed","newValue","threw","onerror","fcall","thenResolve","thenReject","getUnhandledReasons","stopUnhandledRejectionTracking","del","mapply","mcall","fapply","fbind","regardless","onUnhandledError","ms","nfapply","nodeArgs","nfcall","nfbind","denodeify","baseArgs","nbind","nmapply","npost","nsend","nmcall","ninvoke","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","hasFullCorsSupport","hasXDomainRequest","XDomainRequest","corsIsNotSupported","corsIsNotEnabled","jqXhr","removeItem","supportsPushState","isIE","isFirefox","getUserLanguages","languages","signout","remember","rememberDevice","rememberDevice.timebased","rememberDevice.devicebased","autoPush","unlockaccount","needhelp","goback","forgotpassword","help","retry","minutes.oneMinute","days","error.config","error.required.authParams","error.required.baseUrl","error.required.success","error.required.el","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.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.E0000079","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.errorbanner.title","oform.errormsg.title","oform.error.unexpected","model.validation.field.blank","model.validation.field.ascii","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.too.long","model.validation.field.too.small","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.call","factor.call.description","factor.securityQuestion","factor.securityQuestion.description","factor.windowsHello","factor.windowsHello.signin.description","factor.u2f","factor.u2f.description","factor.email","factor.password","factor.customFactor.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","recovery.sms.hint","recovery.mobile.hint","recovery.sms","recovery.call","recovery.smsOrCall","enroll.choices.title","enroll.choices.description","enroll.choices.optional","enroll.choices.list.setup","enroll.choices.list.enrolled","enroll.choices.list.optional","enroll.choices.step","enroll.choices.setup","enroll.choices.submit.finish","enroll.choices.submit.configure","enroll.choices.submit.next","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.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.totp.installApp","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.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.totp.enterCode","enroll.totp.setupApp","enroll.totp.setupGoogleAuthApp","enroll.totp.cannotScan","enroll.totp.refreshBarcode","enroll.totp.cannotScanBarcode","enroll.totp.manualSetupInstructions","enroll.totp.sharedSecretInstructions","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.duoSecurity.push","mfa.duoSecurity.sms","mfa.duoSecurity.call","mfa.challenge.title","mfa.challenge.orEnterCode","oktaverify.send","oktaverify.resend","oktaverify.sent","oktaverify.rejected","oktaverify.timeout","oktaverify.warning","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.complexity.requirements","password.complexity.history","password.complexity.minAgeMinutes","password.complexity.minAgeHours","password.complexity.minAgeDays","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.expiring.later","password.expiring.title","password.expiring.today","password.expiring.soon","password.expiring.subtitle","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.desc","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","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","consent.required.text","consent.required.headline","consent.required.description","consent.required.termsOfService","consent.required.privacyPolicy","consent.required.consentButton","consent.required.cancelButton","cert.authentication.title","u2f.error.notSupportedBrowser","u2f.error.notSupportedBrowser.oneFactor","u2f.error.notSupportedMobileDevice","u2f.error.notSupportedMobileDevice.oneFactor","error.invalid.identifierFirst","deviceTrust.sso.subtitle","enroll.u2f.general1","u2f.error.noFirefoxExtension","utils_hooks__hooks","hookCallback","setHookCallback","isDate","hasOwnProp","create_utc__createUTC","createLocalOrUTC","defaultParsingFlags","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidMonth","userInvalidated","iso","getParsingFlags","_pf","valid__isValid","_isValid","invalidWeekday","_strict","bigHour","valid__createInvalid","copyConfig","_isAMomentObject","_tzm","_isUTC","_offset","_locale","momentProperties","Moment","updateInProgress","updateOffset","isMoment","absFloor","toInt","argumentForCoercion","coercedNumber","compareArrays","array1","array2","dontConvert","lengthDiff","diffs","suppressDeprecationWarnings","firstTime","deprecateSimple","deprecations","locale_set__set","_config","_ordinalParseLenient","_ordinalParse","mergeConfigs","parentConfig","childConfig","Locale","normalizeLocale","chooseLocale","loadLocale","oldLocale","locales","globalLocale","_abbr","locale_locales__getSetGlobalLocale","locale_locales__getLocale","defineLocale","abbr","parentLocale","updateLocale","locale_locales__listLocales","addUnitAlias","shorthand","lowerCase","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","makeGetSet","keepTime","get_set__set","get_set__get","mom","getSet","zeroFill","targetLength","forceSign","absNumber","zerosToFill","addFormatToken","padded","ordinal","formatTokenFunctions","localeData","removeFormattingTokens","makeFormatFunction","formattingTokens","formatMoment","expandFormat","formatFunctions","invalidDate","replaceLongDateFormatTokens","longDateFormat","localFormattingTokens","addRegexToken","strictRegex","regexes","isStrict","getParseRegexForToken","unescapeFormat","regexEscape","p2","p3","p4","addParseToken","addWeekParseToken","addTimeToArrayFromToken","daysInMonth","year","month","UTC","localeMonths","_months","MONTHS_IN_FORMAT","localeMonthsShort","_monthsShort","localeMonthsParse","monthName","_monthsParse","_longMonthsParse","_shortMonthsParse","months","monthsShort","setMonth","dayOfMonth","monthsParse","getSetMonth","getDaysInMonth","monthsShortRegex","_monthsParseExact","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","monthsRegex","_monthsStrictRegex","_monthsRegex","cmpLenRev","shortPieces","longPieces","mixedPieces","checkOverflow","MONTH","DATE","YEAR","_overflowDayOfYear","_overflowWeeks","WEEK","_overflowWeekday","WEEKDAY","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","extendedIsoRegex","basicIsoRegex","isoDates","isoTimes","tzRegex","configFromStringAndFormat","configFromString","aspNetJsonRegex","createFromInputFallback","createDate","M","getFullYear","setFullYear","createUTCDate","setUTCFullYear","daysInYear","isLeapYear","getIsLeapYear","firstWeekOffset","dow","doy","fwd","fwdlw","getUTCDay","dayOfYearFromWeeks","week","weekday","resYear","resDayOfYear","localWeekday","weekOffset","dayOfYear","weekOfYear","resWeek","weeksInYear","weekOffsetNext","currentDateArray","nowValue","_useUTC","getMonth","getDate","configFromArray","currentDate","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","setUTCMinutes","weekYear","weekdayOverflow","local__createLocal","_week","gg","ISO_8601","parsedInput","skipped","totalParsedInputLength","meridiemFixWrap","_meridiem","hour","meridiem","isPm","meridiemHour","isPM","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","score","configFromObject","day","minute","millisecond","createFromConfig","prepareConfig","preparse","configFromInput","isUTC","pickBy","moments","Duration","years","quarters","quarter","weeks","_milliseconds","_days","_bubble","isDuration","offsetFromString","chunkOffset","cloneWithOffset","setTime","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","localAdjust","matchShortOffset","_changeInProgress","add_subtract__addSubtract","create__createDuration","getSetZone","setOffsetToUTC","setOffsetToLocal","setOffsetToParsedOffset","matchOffset","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","isUtcOffset","isUtc","diffRes","aspNetRegex","isoRegex","parseIso","momentsDifference","inp","positiveMomentsDifference","isAfter","isBefore","absRound","createAdder","direction","period","dur","isAdding","moment_calendar__calendar","formats","sod","startOf","calendar","localInput","endOf","isBetween","isSame","inputMs","isSameOrAfter","isSameOrBefore","asFloat","zoneDelta","monthDiff","anchor2","wholeMonthDiff","anchor","moment_format__toISOString","toDate","inputString","defaultFormat","postformat","withoutSuffix","humanize","fromNow","toNow","newLocaleData","isoWeekday","to_type__valueOf","unix","moment_valid__isValid","parsingFlags","invalidAt","creationData","addWeekYearFormatToken","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","isoWeek","getISOWeeksInYear","getWeeksInYear","weekInfo","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","localeWeek","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","parseWeekday","weekdaysParse","localeWeekdays","_weekdays","isFormat","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","localeWeekdaysParse","weekdayName","_weekdaysParse","_minWeekdaysParse","_shortWeekdaysParse","_fullWeekdaysParse","weekdays","weekdaysShort","weekdaysMin","getSetDayOfWeek","getDay","getSetLocaleDayOfWeek","getSetISODayOfWeek","getSetDayOfYear","hFormat","lowercase","matchMeridiem","_meridiemParse","localeIsPM","localeMeridiem","isLower","parseMs","getZoneAbbr","getZoneName","moment__createUnix","moment__createInZone","parseZone","locale_calendar__calendar","_calendar","_longDateFormat","formatUpper","_invalidDate","_ordinal","preParsePostFormat","relative__relativeTime","isFuture","_relativeTime","pastFuture","lists__get","lists__listMonths","lists__listMonthsShort","lists__listWeekdays","lists__listWeekdaysShort","lists__listWeekdaysMin","duration_abs__abs","mathAbs","duration_add_subtract__addSubtract","duration_add_subtract__add","duration_add_subtract__subtract","absCeil","monthsFromDays","monthsToDays","daysToMonths","duration_as__valueOf","makeAs","duration_get__get","makeGetter","substituteTimeAgo","relativeTime","duration_humanize__relativeTime","posNegDuration","thresholds","duration_humanize__getSetRelativeTimeThreshold","threshold","withSuffix","iso_string__toISOString","iso_string__abs","Y","total","asSeconds","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchTimestamp","matchWord","defaultLocaleMonths","defaultLocaleMonthsShort","defaultMonthsShortRegex","defaultMonthsRegex","parseTwoDigitYear","getSetYear","prototypeMin","prototypeMax","add_subtract__add","add_subtract__subtract","isoWeekYear","defaultLocaleWeek","getSetDayOfMonth","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","_isPm","pos1","pos2","defaultLocaleMeridiemParse","getSetHour","getSetMinute","getSetSecond","getSetMillisecond","momentPrototype__proto","isoWeeks","isoWeeksInYear","isDST","isDSTShifted","zoneAbbr","zoneName","dates","zone","momentPrototype","defaultCalendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","defaultLongDateFormat","LTS","LL","LLL","LLLL","defaultInvalidDate","defaultOrdinal","defaultOrdinalParse","defaultRelativeTime","future","mm","hh","dd","prototype__proto","firstDayOfYear","firstDayOfWeek","ordinalParse","langData","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","duration_prototype__proto","toIsoString","invalid","relativeTimeThreshold","_moment","QTip","_id","NAMESPACE","img","plugins","FALSE","onTooltip","lastClass","destroyed","waiting","hiddenDuringWait","positioning","triggering","invalidOpt","invalidContent","sanitizeOptions","loading","newContent","TRUE","PLUGINS","sanitize","convertNotation","notation","levels","setCallback","category","rule","checks","createWidgetClass","cls","WIDGET","showMethod","CLASS_DISABLED","hideMethod","ontoTooltip","SELECTOR","ontoTarget","inactiveMethod","inactive","repositionMethod","reposition","QTIP","ATTR_ID","posOptions","docBody","metadata5","html5","solo","CORNER","overwrite","ATTR_HAS","suppress","oldtitle","camel","vendorCss","ucProp","intCss","Tip","_ns","Modal","Ie6","CHECKS","trackingBound","X","WIDTH","HEIGHT","TOP","LEFT","BOTTOM","RIGHT","CENTER","FLIPINVERT","SHIFT","INACTIVE_EVENTS","CLASS_FIXED","CLASS_DEFAULT","CLASS_FOCUS","CLASS_HOVER","replaceSuffix","BROWSER","ie","iOS","_when","deferreds","posClass","_createPosClass","tracking","role","aria-live","aria-atomic","aria-describedby","aria-hidden","_createTitle","_updateTitle","_createButton","_updateContent","_setWidget","_unassignEvents","_assignEvents","_trigger","builtin","^id$","nextid","newId","^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","rmove","rrender","_update","_waitForContent","images","imagesLoaded","titlebar","widget","abbrev","effect","pluginCalculations","newClass","tooltipWidth","tooltipHeight","targetWidth","targetHeight","isScroll","distance","origin","innerWidth","clientWidth","scrollX","scrollY","innerHeight","imagemap","svg","ownerSVGElement","adjustable","scrolled","quirks","compatMode","Corner","corner","forceY","center","identicalState","allow","contentOptions","sameTarget","_storeMouse","autofocus","qtips","curIndex","newIndex","zindex","_bind","ns","_unbind","_bindEvents","showEvents","hideEvents","showTargets","hideTargets","showCallback","hideCallback","similarTargets","toggleEvents","showIndex","_assignInitialEvents","hoverIntent","hoverEvent","prerender","showTarget","hideTarget","moveEvent","onTarget","containerTarget","viewportTarget","documentTarget","windowTarget","leave","isAncestor","inactiveEvents","command","ui","move","TIP","createVML","SCALE","PIXEL_RATIO","BACKING_STORE_RATIO","MARGIN","BORDER","COLOR","BG_COLOR","TRANSPARENT","IMPORTANT","HASCANVAS","INVALID","devicePixelRatio","backingStorePixelRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","tip","lineJoin","miterLimit","_swapDimensions","_resetDimensions","_useTitle","_parseCorner","_parseWidth","side","use","_parseRadius","_invalidColour","_parseColours","borderSide","colorElem","_calculateSize","bigHyp","ratio","isCenter","smallHyp","hyp","_calculateTip","width2","height2","tips","br","bl","tl","tc","bc","rc","lc","lb","rb","_drawCoords","beginPath","moveTo","lineTo","closePath","bigCoords","translate","newSize","inner","curSize","mimic","restore","clearRect","fillStyle","coordsize","antialias","fillcolor","filled","stroked","opera","calculate","corners","userOffset","bottom","shiftflip","popposite","opposite","newCorner","shiftonly","xy","horizontal","vertical","cornerTop","cornerLeft","^position.my|style.tip.(corner|mimic|border)$","^style.tip.(height|width)$","^content.title|style.(classes|widget)$","MODAL","OVERLAY","MODALCLASS","MODALSELECTOR","focusable","mapName","isTabIndexNotNaN","focusInputs","blurElems","focusableElems","stealFocus","targetOnTop","prevState","stealfocus","visibleModals","overlay","modal_zindex","oEvent","^show.modal.(on|blur)$","elemWidth","elemHeight","otherSide","adjustment","side1","side2","lengthName","elemLength","initialPos","mySide","atSide","isShift","myLength","atLength","sideOffset","viewportScroll","viewportOffset","containerStatic","containerOffset","overflow1","overflow2","viewportWidth","viewportHeight","newMy","methodX","methodY","polys","polygon","baseCoords","newWidth","newHeight","compareX","compareY","realX","realY","rect","ax","ay","bx","by","_angles","ellipse","cx","cy","ry","rxc","rys","sin","circle","frameOffset","mtx","transformed","points","strokeWidth2","getBBox","baseVal","y2","numberOfItems","createSVGPoint","getScreenCTM","matrixTransform","imageOffset","shape","coordsString","coordsArray","IE6","BGIFRAME","_scroll","bgiframe","adjustBGIFrame","redrawContainer","redraw","tipAdjust","dimensions","plugin","drawing","perc","ie6","^content|style$","DIRECTION_BACK","RECOVERY_TYPE_PASSWORD","RECOVERY_TYPE_UNLOCK","RECOVERY_FACTOR_TYPE_SMS","RECOVERY_FACTOR_TYPE_EMAIL","RECOVERY_FACTOR_TYPE_CALL","FORGOT_PASSWORD_EMAIL_SENT","UNLOCK_ACCOUNT_EMAIL_SENT","CONFIG_ERROR","UNSUPPORTED_BROWSER_ERROR","OAUTH_ERROR","AUTH_STOP_POLL_INITIATION_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","UnsupportedBrowserError","RegistrationError","AuthStopPollInitiationError","jqueryRequest","withCredentials","OktaAuthBuilder","sdk","AuthSdkError","removeTrailingSlash","authorizeUrl","userinfoUrl","ajaxRequest","SDK_VERSION","maxClockSkew","DEFAULT_MAX_CLOCK_SKEW","sessionExists","setCookieAndRedirect","transactionStatus","resumeTransaction","transactionExists","_getCookie","authorize","deprecateWrap","getToken","verify","verifyIdToken","decode","decodeToken","_getLocationHref","refreshToken","getUserInfo","verifyToken","_setLocation","_getHistory","_getLocation","_getDocument","fingerprint","_getUserAgent","isWindowsPhone","isFingerprintSupported","agent","TokenManager","oauthUtil","http","isPopupPostMessageSupported","isIE8or9","isTokenVerifySupported","crypto","subtle","signIn","postToTransaction","sendFingerprint","X-Device-Fingerprint","forgotPassword","unlockAccount","verifyRecoveryToken","webfinger","toQueryParams","Accept","addListener","removeListener","parentElement","InvalidCharacterError","btoa","atob","bs","isToken","accessToken","eventTarget","loadFrame","loadPopup","appearance","isIE11OrLess","winEl","getWellKnown","cacheResponse","getKey","kid","wellKnown","jwksUri","cacheContents","httpCache","getStorage","cachedResponse","expiresAt","cachedKey","clearStorage","validateClaims","claims","aud","iss","iat","getOAuthUrls","sharedResourceServerRegex","hashToObject","plus2space","paramSplit","storageUtil","getHttpCache","httpRequest","saveAuthnState","Content-Type","ajaxOptions","deleteCookie","STATE_TOKEN_COOKIE_NAME","updateStorage","DEFAULT_CACHE_DURATION","serverErr","AuthApiError","isAbsoluteUrl","postOptions","base64UrlToBase64","b64u","base64UrlToString","b64","utf8","stringToBuffer","base64UrlDecode","additionalArgs","isoToUTCString","isoTime","isoDate","genRandomString","randomCharset","cl","obj1","objArray","removeNils","cleaned","newobj","searchParams","getLink","linkName","altName","_links","getNativeConsole","getConsole","nativeConsole","expiresText","cookieText","_setDocumentCookie","_getDocumentCookie","storageBuilder","browserHasLocalStorage","getLocalStorage","browserHasSessionStorage","getSessionStorage","CACHE_STORAGE_NAME","getCookieStorage","sessionStorage","webstorage","storageName","storageString","setStorage","errorLink","errorId","DEFAULT_POLLING_DELAY","FRAME_ID","REDIRECT_OAUTH_PARAMS_COOKIE_NAME","REDIRECT_STATE_COOKIE_NAME","REDIRECT_NONCE_COOKIE_NAME","TOKEN_STORAGE_NAME","addStateToken","builtArgs","getStateToken","AuthTransaction","getPollFn","pollFn","pollLink","isPolling","retryCount","recursivePoll","pollRes","factorResult","AuthPollStopError","delayLength","link2fn","lk","hints","factorType","provider","updatePhone","links2fns","poll","flattenEmbedded","objArr","ol","embedded","_embedded","redirectUrl","checkAccountSetupComplete","decodedToken","jwt","payload","signature","isExpired","jwtExp","expirationTime","hasAudience","jwtAudience","audience","audiences","jwtAudiences","ai","sdkCrypto","ignoreSignature","valid","prompt","addPostMessageListener","responseHandler","addFragmentListener","windowEl","hashChangeHandler","closed","handleOAuthResponse","urls","tokenTypes","tokenDict","tokenType","authorizationCode","getDefaultOAuthParams","oauthOptions","convertOAuthParamsToQueryParams","oauthQueryParams","client_id","redirect_uri","response_type","response_mode","idp","max_age","maxAge","buildAuthorizeParams","getOrigin","originRegex","hasClosed","popupDeferred","sessionTokenOverrides","idpOverrides","requestUrl","flowType","iframePromise","iframeEl","popupPromise","windowOptions","windowOrigin","redirectUriOrigin","closePoller","respType","removeHash","nativeHistory","nativeDoc","nativeLoc","replaceState","oauthParamsCookie","accessTokenObject","authenticateHeader","errorMatches","errorDescriptionMatches","errorDescription","algo","extractable","usages","importKey","cryptoKey","b64Signature","summary","emitExpired","tokenMgmtRef","emitter","clearRefreshTimeout","refreshTimeouts","clearRefreshTimeoutAll","setRefreshTimeout","refreshWait","refreshTimeout","autoRefresh","setRefreshTimeoutAll","tokenStorage","freshToken","Emitter","evtArr","evts","liveEvents","expandLanguage","parseException","errorMsg","toLower","strings","expandLanguages","callAfterTimeout","BaseLoginRouter","IDPDiscoveryController","PrimaryAuthController","VerifyDuoController","MfaVerifyController","VerifyWindowsHelloController","VerifyU2FController","VerifyWebauthnController","VerifyCustomFactorController","EnrollChoicesController","EnrollDuoController","EnrollQuestionController","EnrollWindowsHelloController","EnrollCallAndSmsController","EnrollOnPremController","EnrollSymantecVipController","EnrollYubikeyController","EnrollTotpController","EnrollU2FController","EnrollWebauthnController","EnrollCustomFactorController","BarcodeTotpController","BarcodePushController","ActivateTotpController","ManualSetupTotpController","ManualSetupPushController","EnrollmentLinkSentController","EnterPasscodePushFlowController","PasswordExpiredController","CustomPasswordExpiredController","ForgotPasswordController","RecoveryChallengeController","PwdResetEmailSentController","RecoveryQuestionController","PasswordResetController","RecoveryLoadingController","UnlockAccountController","AccountUnlockedController","UnlockEmailSentController","RefreshAuthStateController","RegistrationController","RegistrationCompleteController","ConsentRequiredController","SecurityBeacon","FactorBeacon","ConsentBeacon","signin","signin/verify/duo/web","signin/verify/fido/webauthn","signin/verify/fido/u2f","signin/verify/generic_saml/assertion:saml2","signin/verify/generic_oidc/assertion:oidc","signin/verify/:provider/:factorType","signin/enroll","signin/enroll/duo/web","signin/enroll/okta/question","signin/enroll/okta/sms","signin/enroll/okta/call","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/:provider/:factorType","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/: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","*wildcard","stateLessRouteHandlers","defaultAuth","idpDiscovery","primaryAuth","Beacon","verifyDuo","verifyWebauthn","verifyU2F","verifySAMLFactor","verifyOIDCFactor","enrollChoices","enrollDuo","enrollQuestion","enrollSms","enrollCall","enrollRsa","enrollOnPrem","enrollSymantecVip","enrollYubikey","enrollSAMLFactor","enrollOIDCFactor","enrollTotpFactor","enrollWebauthn","enrollU2F","scanBarcodeTotpFactor","scanBarcodePushFactor","activateTotpFactor","manualSetupTotpFactor","manualSetupPushFactor","activationLinkSent","enterPasscodeInPushEnrollmentFlow","passwordExpired","customPasswordExpired","recoveryChallenge","recoveryEmailSent","unlockEmailSent","recoveryQuestion","passwordReset","recoveryLoading","accountUnlocked","refreshAuthState","registerComplete","consentRequired","FormController","EnterPasscodeForm","Footer","factorId","passCode","__factorType__","__provider__","doTransaction","transaction","activate","FormType","BaseLoginController","BaseLoginModel","SimpleForm","INPUT","label-top","BUTTON","DIVIDER","TOOLBAR","footer","addListeners","back","Button","Divider","getForm","disableSubmitButton","toggleButtonState","setTransactionHandler","transactionErrorHandler","totpModel","fetchInitialData","trapAuthResponse","postRenderAnimation","page","KNOWN_ERRORS","rethrow","trans","manageTransaction","setTransaction","startTransaction","FactorUtil","factorName","getFactorLabel","formChildren","factorData","OKTA_VERIFY","iconClassName","OKTA_VERIFY_PUSH","U2F","WINDOWS_HELLO","YUBIKEY","GOOGLE_AUTH","SMS","CALL","QUESTION","DUO","SYMANTEC_VIP","RSA_SECURID","ON_PREM","PASSWORD","GENERIC_SAML","GENERIC_OIDC","getFactorName","isOktaVerify","getFactorDescription","getFactorIconClassName","getFactorSortOrder","getRememberDeviceValue","getSecurityQuestionLabel","questionObj","localizedQuestion","question","questionText","getPasswordComplexityDescription","policy","getPasswordAgeRequirement","displayableTime","propertiesString","setExcludeAttributes","policyComplexity","excludeAttributes","excludeFirstName","excludeLastName","complexity","complexityFields","minLowerCase","minUpperCase","minNumber","minSymbol","excludeUsername","requirements","complexityValue","complexityType","requirement","age","historyCount","minAgeMinutes","minAgeDescription","inputmode","click .js-back","Settings","Header","AuthContainer","AppState","RouterUtil","Animations","isStateLessRouteHandler","routeName","beaconIsAvailable","assetBaseUrl","assetRewrite","setAuthClient","routeAfterAuthStatusChange","recoveryToken","createRecoveryUrl","createRefreshUrl","controllerOptions","getContentEl","oldController","setBeacon","swapPages","$parent","$oldRoot","$newRoot","flashError","Factor","getSecurityImage","deviceFingerprint","securityImageUrlTpl","securityImage","UNDEFINED_USER","securityImageDescription","UNDEFINED_USER_IMAGE_DESCRIPTION","pwdImg","USER_NOT_SEEN_ON_DEVICE","NEW_USER","NEW_USER_IMAGE_DESCRIPTION","imageDescription","UNKNOWN_IMAGE_DESCRIPTION","getMinutesString","factorLifetimeInMinutes","lifetimeInHours","lifetimeInDays","DEFAULT_APP_LOGO","lastAuthResponse","transactionError","factors","userCountryCode","userPhoneNumber","factorActivationType","beaconType","typingPattern","disableUsername","trapMfaRequiredResponse","setAuthResponse","factor","isSuccessResponse","isMfaRequired","isMfaEnroll","isMfaChallenge","isUnauthenticated","isMfaRejectedByUser","isMfaTimeout","isMfaEnrollActivate","isWaitingForActivation","hasMultipleFactorsAvailable","promptForFactorInUnauthenticated","userId","isPwdExpiringSoon","passwordExpireDays","expiration","isPwdManagedByOkta","passwordExpiredWebsiteName","passwordExpiredLinkUrl","recoveryType","activatedFactorId","activatedFactorType","activatedFactorProvider","qrcode","activation","activationSendLinks","sendLinks","textActivationLinkUrl","emailActivationLinkUrl","sharedSecret","duoEnrollActivation","prevLink","recovery_question","userProfile","userConsentName","firstName","lastName","userEmail","userFullName","defaultAppLogo","targetLabel","targetLogo","logo","targetTermsOfService","targetPrivacyPolicy","targetClientURI","hasExistingPhones","phones","hasExistingPhonesForCall","isUndefinedUser","isNewUser","allowRememberDevice","rememberDeviceLabel","rememberDeviceLifetimeInMinutes","rememberDeviceByDefault","factorsPolicyInfo","verifyCustomFactorRedirectUrl","enrollCustomFactorRedirectUrl","factorUtil","PUSH_INTERVAL","enrollment","vendorName","answer","backupFactor","showAnswer","isOktaFactor","factorLabel","factorDescription","securityQuestion","phoneNumber","deviceName","enrolled","canUseResend","isAnswerRequired","pushFactorHasAutoPush","resend","firstLink","initiatePollTimout","Factors","lastUsedFactor","oktaPushFactor","totpFactor","isTotpFirst","parsedFactors","isOkta","isOktaTotp","isOktaPush","notEnrolled","hideOktaTotp","hideOktaPush","getDefaultFactor","getFirstUnenrolledRequiredFactor","SharedUtil","DEFAULT_LANGUAGE","supportedIdps","supportedResponseTypes","oauthRedirectTpl","assetBaseUrlTpl","signOutLink","relayState","transformUsername","processCreds","logoText","helpSupportNumber","features.router","features.securityImage","features.rememberMe","features.autoPush","features.smsRecovery","features.callRecovery","features.emailRecovery","features.windowsVerify","features.webauthn","features.selfServiceUnlock","features.multiOptionalFactorEnroll","features.preventBrowserFromSavingOktaPassword","features.deviceFingerprinting","features.hideSignOutLinkInMFA","features.customExpiredPassword","features.registration","features.consent","features.idpDiscovery","features.passwordlessAuth","features.showPasswordToggleOnSignInPage","features.trackTypingPattern","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","customButtons","registration.click","registration.parseSchema","registration.preSubmit","registration.postSubmit","consent.cancel","idpDiscovery.requestContext","userLanguages","preferred","supportedLowerCase","supportedPos","oauth2Enabled","responseTypes","oauthRedirectUri","configuredSocialIdps","socialAuthPositionTop","configuredButtons","buttonArray","socialAuthButton","fromURI","targetUri","customConfiguredButton","hasConfiguredButtons","setAcceptLanguageHeader","operation","transformFn","creds","parseSchema","onSuccess","onFailure","preSubmit","postData","postSubmit","labels","abu","LoadingBeacon","isLoadingBeacon","beacon","removeBeacon","currentBeacon","addBeacon","NextBeacon","typeOfTransition","NO_BEACON_CLS","LOADING_BEACON_CLS","setLoadingBeacon","removeLoadingBeacon","transition","explode","implode","swapBeacons","isLoading","text-indent","rotate","SWAP_PAGE_TIME","directionClassName","radialProgressBar","circles","clip","leftHalf","transform","_regenerator","_regenerator2","_asyncToGenerator2","_asyncToGenerator3","setBackgroundImage","imgSrc","imgDescription","isSecurityImage","antiPhishingMessage","host","destroyAntiPhishingMessage","updateSecurityImage","_callee","hasBorder","hasAntiPhishing","removeAntiPhishingMessage","g","hadRuntime","oldRuntime","_promise","_promise2","gen","CAN_REMOVE_BEACON_CLS","ErrorCodes","verifyUrlTpl","enrollFactorUrlTpl","activateFactorUrlTpl","recoveryUrlTpl","refreshUrlTpl","sessionCookieRedirectTpl","createVerifyUrl","createEnrollFactorUrl","createActivateFactorUrl","INVALID_TOKEN_EXCEPTION","handleResponseStatus","successData","targetUrl","stepUp","activateUrl","fromEmail","isForgotPassword","isUnlock","defaultFactor","factorURL","PrimaryAuthForm","CustomButtons","FooterRegistration","PrimaryAuthModel","DeviceFingerprint","multiOptionalFactorEnroll","addFooter","setUsername","focusout input[name=username]","generateDeviceFingerprint","focusin input","focusout input","click .button-show","TypingUtil","trackTypingPattern","getTypingPattern","stateEnableChange","getUsernameField","getPasswordField","getRemeberMeCheckbox","userNameFieldObject","iconDivider","passwordFieldObject","track","getUserAgent","isMessageFromCorrectSource","$iframe","oktaDomainUrl","removeIframe","onMessageReceivedFromOkta","handleError","sendMessageToOkta","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","ut","pressTime","seekTime","realKeyCode","arrD","addDiagram","mouseScroll","scrollStarted","scrollTimes","scrollTopArr","scrollInterval","checkScroll","mouseMove","xPositions","screenX","yPositions","screenY","moveInterval","checkMove","mouseDown","stopTime","eventType","mouseUp","clickTime","selectionStart","targetFound","getDistance","getTotalDistance","totalDistance","getAngle","xPosDelta","yPosDelta","angle","leftRight","downUp","atan","recordMoveAction","deltaTime","directDistance","ratioDistance","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","multiplier","fVal","tempval","fnv1aHash","hval","returnArr","diagramType","sliceStackByTargetId","missingCount","diagramHistoryLength","strLength","returnTextId","strUpperCharCode","currentSensitiveCharCode","strLower","strUpper","lastFoundPos","lastPos","currentCharCode","startPos","finishPos","savedMissingAvgValues","historyLength","missing","startCount","newStack","seekArr","pressArr","historyStackObj","arrLen","clicksArrLen","stopArrLen","rec","avgAcc","revs","tReturn","checkMobileValidity","totalEvents","mobile","vendor","_isIterable2","_isIterable3","_getIterator2","_getIterator3","sliceIterator","_arr","_e","isIterable","getIterator","dividerTpl","formTitleTpl","buttons","divider","click a.registration-link","handleClickEvent","clickHandler","templateData","CookieUtil","cookieUsername","getCookieUsername","getUsernameAndRemember","lastUsername","settingsUsername","rememberMeEnabled","setUsernameCookie","primaryAuthPromise","signInArgs","getSignInArgs","doPrimaryAuth","authenticate","removeUsernameCookie","warnBeforePasswordExpired","deviceFingerprintEnabled","typingPatternEnabled","LAST_USERNAME_COOKIE_NAME","DAYS_SAVE_REMEMBER","helpLinkUrl","customHelpPage","toggleLinks","click .js-help","click .js-forgot-password","customResetPasswordPage","click .js-unlock","customUnlockPage","Duo","FooterSignout","postAction","getInitOptions","signedResponse","sig_response","sig_request","post_action","verification","throwError","hyphenize","getDataAttribute","dataset","fallbackEvent","onReady","offReady","onMessage","offMessage","parseSigRequest","sig","sigParts","sigRequest","duoSig","appSig","onDOMReady","iframeId","isDuoMessage","Boolean","DUO_MESSAGE_FORMAT","DUO_ERROR_FORMAT","DUO_OPEN_WINDOW_FORMAT","post_argument","postArgument","submit_callback","submitCallback","onReceivedMessage","isValidUrlToOpen","doPostBack","protocol","VALID_OPEN_WINDOW_DOMAINS","_onReady","_parseSigRequest","_isDuoMessage","_doPostBack","linkClassName","linkText","TOTPForm","YubikeyForm","SecurityQuestionForm","PassCodeForm","PushForm","PasswordForm","InlineTOTPForm","getFormAndButtonDetails","buttonDataSe","buttonClassName","formSubmit","formRetry","formSubmitted","subtitleTpl","API_RATE_LIMIT","formAndButtonDetails","maskPasswordField","titleTpl","WARNING_TIMEOUT","warningTemplate","setSubmitState","showError","clearWarnings","ableToSubmit","doSave","isAutoPushEnabled","warningTimeout","showWarning","warning","addInlineTotp","webauthn","Spinner","HtmlErrorMessageView","__autoTriggered__","isAvailable","verifyData","getAssertion","challenge","credentialId","assertion","authenticatorData","clientData","signatureData","request","_startEnrollment","_resetErrorMessage","_stopEnrollment","messageView","_errorMessageView","_successEnrollment","_freeze","_freeze2","FidoUtil","adaptToOkta","makeCredential","accountInfo","cryptoParams","algorithm","msCredentials","cred","credential","publicKey","attestation","allowList","authnrData","isNewApiAvailable","credentials","isWebauthnOrU2fAvailable","isU2fAvailable","getU2fEnrollErrorMessageKeyByCode","getU2fVerifyErrorMessageKeyByCode","isOneFactor","getU2fEnrollErrorMessageByCode","getU2fVerifyErrorMessageByCode","getU2fVersion","spinner:show","spinner:hide","appId","registeredKeys","keyHandle","u2f","errorMessageKey","js_api_version","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_","platform","connect","includeTlsChannelId","WrappedChromeRuntimePort_","WrappedAuthenticatorPort_","WrappedIosPort_","port_","formatSignRequest_","timeoutSeconds","reqId","requestId","formatRegisterRequest_","registerRequests","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","CryptoUtil","allowCredentials","strToBin","binToStr","clientDataJSON","extensions","appid","getStringHash","base64UrlSafeToBase64","bin","byte","saveText","FactorList","RequiredFactorList","pageType","skip","minimize","notEnrolledListTitle","listTitle","hasRequired","numRequiredEnrolled","numRequiredNotEnrolled","numOptionalEnrolled","numOptionalNotEnrolled","FactorRow","maximize","numRequired","numCompleted","currentStep","listSubtitle","currentModel","currentRow","enroll","securityQuestions","questions","questionsRes","__isEnrolled__","_enroll","rpDisplayName","userDisplayName","accountName","PhoneTextBox","CountryUtil","isCallFactor","getClassName","sendCode","factorIdIsDefined","countryCode","phoneExtension","lastEnrolledPhoneNumber","trapEnrollment","ableToResend","skipPhoneValidation","countryCallingCode","getCallingCodeForCountry","fullPhoneNumber","lastEnrolled","limitResending","profileData","doEnroll","resendCode","isCall","numberFieldClassName","getCountries","countryCallingCodes","countries","sorted","SX","IM","CC","AC","TA","BL","MF","CW","BQ","001","isRSA","nextPassCode","StoreLinks","BarcodeView","showWhenDeviceTypeSelected","__deviceType__","AppDownloadInstructionsView","appStoreLink","appIcon","appStoreName","STORE","GOOGLE","OKTA","appStoreLinkText","APPLE","ANDROID","WINDOWS","BLACKBERRY","click [data-type=\"manual-setup\"]","click [data-type=\"refresh-qrcode\"]","instructions","__enrolled__","registrationData","newCredential","attestationObject","u2fParams","pollForEnrollment","IDPDiscoveryForm","IDPDiscoveryModel","requestContext","primaryAuthModel","usernameProps","resource","webfingerArgs","redirectToIdp","queryParams","ManualSetupFooter","click .js-goto","goToFactorActivation","setStateValues","enrollFactor","smsItem","emailItem","activationType","MANUAL","setInitialModel","goToFactor","emailSentForm","smsSentForm","ValidationUtil","oldPassword","newPassword","confirmPassword","validatePasswordMatch","changePassword","expiringSoon","numDays","validateUsername","click .js-signout","click .js-skip","passwordWarn","ContactSupport","noFactorsError","click .js-contact-support","smsEnabled","callEnabled","emailEnabled","noFactorsEnabled","mobileFactors","createRecoveryFactorButton","setDefaultFactorType","labelCode","click .send-email-link","sendEmailLink","resetPassword","RegistrationSchema","LoginModel","RegistrationFormFactory","click .help","getRegistrationApiUrl","defaultPolicyId","orgPolicyId","apiUrl","getRegistrationPolicyApi","doPostSubmit","activationToken","loginModel","loginWithActivationToken","registerUser","postSubmitData","errMsg","createRegistrationModel","modelProperties","hideRegisterButton","updatedSchema","requiredFieldsLabel","_Okta$internal$models","RegistrationSchemaPropertyCollection","modelProperty","parseResponseData","requireFields","requireField","fieldOrderIds","fieldOrder","fieldOrderId","profileSchema","getParts","usernameArr","minPartsLength","userNameParts","delimiters","userNamePart","passwordContainsUserName","usernamePart","checkSubSchema","subSchema","checkSubSchemas","ele","fnCreateInputOptions","focusout","change:userName","getUsernameParts","click .back-btn","ScopeList","consent","consentCancelFn","termsOfService","privacyPolicy","ScopeItem","FactorsDropDown","click .auth-beacon-factor","FactorsDropDownOptions","$target","isDropdown","getDropdownOption","dropdownOptions","TITLE","DUO_PUSH","DUO_SMS","DUO_CALL","customLogo","defaultLogo","clientURI"],"mappings":";;;;;;;;;;;;CAAA,SAAAA,EAAAC,GACA,gBAAAC,UAAA,gBAAAC,QACAA,OAAAD,QAAAD,IACA,kBAAAG,gBAAAC,IACAD,UAAAH,GACA,gBAAAC,SACAA,QAAA,WAAAD,IAEAD,EAAA,WAAAC,KACCK,KAAA,WACD,MCAgB,UAAUC,GCN1B,QAAAC,GAAAC,GAGA,GAAAC,EAAAD,GACA,MAAAC,GAAAD,GAAAP,OAGA,IAAAC,GAAAO,EAAAD,IACAP,WACAS,GAAAF,EACAG,QAAA,EAUA,OANAL,GAAAE,GAAAI,KAAAV,EAAAD,QAAAC,IAAAD,QAAAM,GAGAL,EAAAS,QAAA,EAGAT,EAAAD,QAvBA,GAAAQ,KAqCA,OATAF,GAAAM,EAAAP,EAGAC,EAAAO,EAAAL,EAGAF,EAAAQ,EAAA,GAGAR,EAAA,KDgBM,SAASL,EAAQD,EAASM,GAE/BA,EAAoB,GACpBL,EAAOD,QAAUM,EAAoB,MAKhC,SAASL,EAAQD,EAASM,IE9DhC,SAAAS,GAAA,YAcA,SAAAb,GAAAc,EAAAC,EAAAC,GACAF,EAAAC,IAAAE,OAAAC,GAAAJ,EAAAC,GACAI,UAAA,EACAC,cAAA,EACAJ,UAVA,GANAZ,EAAA,GAEAA,EAAA,KAEAA,EAAA,KAEAS,EAAAQ,eACA,SAAAC,OAAA,iDAEAT,GAAAQ,gBAAA,CAEA,IAAAH,GAAA,gBASAlB,GAAAuB,OAAAC,UAAA,aAAAC,UACAzB,EAAAuB,OAAAC,UAAA,cAAAE,QAEA,gMAAAC,MAAA,KAAAC,QAAA,SAAAb,MACAA,IAAAf,EAAA6B,MAAAd,EAAAe,SAAArB,KAAAsB,QAAAhB,SFkE8BN,KAAKX,EAAU,WAAa,MAAOI,WAI3D,SAASH,EAAQD,EAASM,GGhGhCA,EAAA,GACAA,EAAA,IACAA,EAAA,IACAA,EAAA,IACAA,EAAA,IACAA,EAAA,IACAA,EAAA,IACAA,EAAA,IACAA,EAAA,IACAA,EAAA,IACAA,EAAA,IACAA,EAAA,IACAA,EAAA,IACAA,EAAA,IACAA,EAAA,IACAA,EAAA,IACAA,EAAA,IACAA,EAAA,IACAA,EAAA,IACAA,EAAA,IACAA,EAAA,IACAA,EAAA,IACAA,EAAA,IACAA,EAAA,IACAA,EAAA,IACAA,EAAA,IACAA,EAAA,IACAA,EAAA,IACAA,EAAA,IACAA,EAAA,IACAA,EAAA,IACAA,EAAA,IACAA,EAAA,IACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,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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})(this, function() {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\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[\"OktaSignIn\"] = factory();\n\telse\n\t\troot[\"OktaSignIn\"] = 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__webpack_require__(1);\n\tmodule.exports = __webpack_require__(327);\n\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {\"use strict\";\n\t\n\t__webpack_require__(2);\n\t\n\t__webpack_require__(323);\n\t\n\t__webpack_require__(324);\n\t\n\tif (global._babelPolyfill) {\n\t throw new Error(\"only one instance of babel-polyfill is allowed\");\n\t}\n\tglobal._babelPolyfill = true;\n\t\n\tvar DEFINE_PROPERTY = \"defineProperty\";\n\tfunction define(O, key, value) {\n\t O[key] || Object[DEFINE_PROPERTY](O, key, {\n\t writable: true,\n\t configurable: true,\n\t value: value\n\t });\n\t}\n\t\n\tdefine(String.prototype, \"padLeft\", \"\".padStart);\n\tdefine(String.prototype, \"padRight\", \"\".padEnd);\n\t\n\t\"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\t [][key] && define(Array, key, Function.call.bind([][key]));\n\t});\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 2 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(3);\n\t__webpack_require__(51);\n\t__webpack_require__(52);\n\t__webpack_require__(53);\n\t__webpack_require__(54);\n\t__webpack_require__(56);\n\t__webpack_require__(59);\n\t__webpack_require__(60);\n\t__webpack_require__(61);\n\t__webpack_require__(62);\n\t__webpack_require__(63);\n\t__webpack_require__(64);\n\t__webpack_require__(65);\n\t__webpack_require__(66);\n\t__webpack_require__(67);\n\t__webpack_require__(69);\n\t__webpack_require__(71);\n\t__webpack_require__(73);\n\t__webpack_require__(75);\n\t__webpack_require__(78);\n\t__webpack_require__(79);\n\t__webpack_require__(80);\n\t__webpack_require__(84);\n\t__webpack_require__(86);\n\t__webpack_require__(88);\n\t__webpack_require__(91);\n\t__webpack_require__(92);\n\t__webpack_require__(93);\n\t__webpack_require__(94);\n\t__webpack_require__(96);\n\t__webpack_require__(97);\n\t__webpack_require__(98);\n\t__webpack_require__(99);\n\t__webpack_require__(100);\n\t__webpack_require__(101);\n\t__webpack_require__(102);\n\t__webpack_require__(104);\n\t__webpack_require__(105);\n\t__webpack_require__(106);\n\t__webpack_require__(108);\n\t__webpack_require__(109);\n\t__webpack_require__(110);\n\t__webpack_require__(112);\n\t__webpack_require__(114);\n\t__webpack_require__(115);\n\t__webpack_require__(116);\n\t__webpack_require__(117);\n\t__webpack_require__(118);\n\t__webpack_require__(119);\n\t__webpack_require__(120);\n\t__webpack_require__(121);\n\t__webpack_require__(122);\n\t__webpack_require__(123);\n\t__webpack_require__(124);\n\t__webpack_require__(125);\n\t__webpack_require__(126);\n\t__webpack_require__(131);\n\t__webpack_require__(132);\n\t__webpack_require__(136);\n\t__webpack_require__(137);\n\t__webpack_require__(138);\n\t__webpack_require__(139);\n\t__webpack_require__(141);\n\t__webpack_require__(142);\n\t__webpack_require__(143);\n\t__webpack_require__(144);\n\t__webpack_require__(145);\n\t__webpack_require__(146);\n\t__webpack_require__(147);\n\t__webpack_require__(148);\n\t__webpack_require__(149);\n\t__webpack_require__(150);\n\t__webpack_require__(151);\n\t__webpack_require__(152);\n\t__webpack_require__(153);\n\t__webpack_require__(154);\n\t__webpack_require__(155);\n\t__webpack_require__(157);\n\t__webpack_require__(158);\n\t__webpack_require__(160);\n\t__webpack_require__(161);\n\t__webpack_require__(167);\n\t__webpack_require__(168);\n\t__webpack_require__(170);\n\t__webpack_require__(171);\n\t__webpack_require__(172);\n\t__webpack_require__(176);\n\t__webpack_require__(177);\n\t__webpack_require__(178);\n\t__webpack_require__(179);\n\t__webpack_require__(180);\n\t__webpack_require__(182);\n\t__webpack_require__(183);\n\t__webpack_require__(184);\n\t__webpack_require__(185);\n\t__webpack_require__(188);\n\t__webpack_require__(190);\n\t__webpack_require__(191);\n\t__webpack_require__(192);\n\t__webpack_require__(194);\n\t__webpack_require__(196);\n\t__webpack_require__(198);\n\t__webpack_require__(199);\n\t__webpack_require__(200);\n\t__webpack_require__(202);\n\t__webpack_require__(203);\n\t__webpack_require__(204);\n\t__webpack_require__(205);\n\t__webpack_require__(216);\n\t__webpack_require__(220);\n\t__webpack_require__(221);\n\t__webpack_require__(223);\n\t__webpack_require__(224);\n\t__webpack_require__(228);\n\t__webpack_require__(229);\n\t__webpack_require__(231);\n\t__webpack_require__(232);\n\t__webpack_require__(233);\n\t__webpack_require__(234);\n\t__webpack_require__(235);\n\t__webpack_require__(236);\n\t__webpack_require__(237);\n\t__webpack_require__(238);\n\t__webpack_require__(239);\n\t__webpack_require__(240);\n\t__webpack_require__(241);\n\t__webpack_require__(242);\n\t__webpack_require__(243);\n\t__webpack_require__(244);\n\t__webpack_require__(245);\n\t__webpack_require__(246);\n\t__webpack_require__(247);\n\t__webpack_require__(248);\n\t__webpack_require__(249);\n\t__webpack_require__(251);\n\t__webpack_require__(252);\n\t__webpack_require__(253);\n\t__webpack_require__(254);\n\t__webpack_require__(255);\n\t__webpack_require__(257);\n\t__webpack_require__(258);\n\t__webpack_require__(259);\n\t__webpack_require__(261);\n\t__webpack_require__(262);\n\t__webpack_require__(263);\n\t__webpack_require__(264);\n\t__webpack_require__(265);\n\t__webpack_require__(266);\n\t__webpack_require__(267);\n\t__webpack_require__(268);\n\t__webpack_require__(270);\n\t__webpack_require__(271);\n\t__webpack_require__(273);\n\t__webpack_require__(274);\n\t__webpack_require__(275);\n\t__webpack_require__(276);\n\t__webpack_require__(279);\n\t__webpack_require__(280);\n\t__webpack_require__(282);\n\t__webpack_require__(283);\n\t__webpack_require__(284);\n\t__webpack_require__(285);\n\t__webpack_require__(287);\n\t__webpack_require__(288);\n\t__webpack_require__(289);\n\t__webpack_require__(290);\n\t__webpack_require__(291);\n\t__webpack_require__(292);\n\t__webpack_require__(293);\n\t__webpack_require__(294);\n\t__webpack_require__(295);\n\t__webpack_require__(296);\n\t__webpack_require__(298);\n\t__webpack_require__(299);\n\t__webpack_require__(300);\n\t__webpack_require__(301);\n\t__webpack_require__(302);\n\t__webpack_require__(303);\n\t__webpack_require__(304);\n\t__webpack_require__(305);\n\t__webpack_require__(306);\n\t__webpack_require__(307);\n\t__webpack_require__(308);\n\t__webpack_require__(310);\n\t__webpack_require__(311);\n\t__webpack_require__(312);\n\t__webpack_require__(313);\n\t__webpack_require__(314);\n\t__webpack_require__(315);\n\t__webpack_require__(316);\n\t__webpack_require__(317);\n\t__webpack_require__(318);\n\t__webpack_require__(319);\n\t__webpack_require__(320);\n\t__webpack_require__(321);\n\t__webpack_require__(322);\n\tmodule.exports = __webpack_require__(9);\n\n\n/***/ },\n/* 3 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// ECMAScript 6 symbols shim\n\tvar global = __webpack_require__(4);\n\tvar has = __webpack_require__(5);\n\tvar DESCRIPTORS = __webpack_require__(6);\n\tvar $export = __webpack_require__(8);\n\tvar redefine = __webpack_require__(18);\n\tvar META = __webpack_require__(22).KEY;\n\tvar $fails = __webpack_require__(7);\n\tvar shared = __webpack_require__(23);\n\tvar setToStringTag = __webpack_require__(25);\n\tvar uid = __webpack_require__(19);\n\tvar wks = __webpack_require__(26);\n\tvar wksExt = __webpack_require__(27);\n\tvar wksDefine = __webpack_require__(28);\n\tvar enumKeys = __webpack_require__(29);\n\tvar isArray = __webpack_require__(44);\n\tvar anObject = __webpack_require__(12);\n\tvar isObject = __webpack_require__(13);\n\tvar toIObject = __webpack_require__(32);\n\tvar toPrimitive = __webpack_require__(16);\n\tvar createDesc = __webpack_require__(17);\n\tvar _create = __webpack_require__(45);\n\tvar gOPNExt = __webpack_require__(48);\n\tvar $GOPD = __webpack_require__(50);\n\tvar $DP = __webpack_require__(11);\n\tvar $keys = __webpack_require__(30);\n\tvar gOPD = $GOPD.f;\n\tvar dP = $DP.f;\n\tvar gOPN = gOPNExt.f;\n\tvar $Symbol = global.Symbol;\n\tvar $JSON = global.JSON;\n\tvar _stringify = $JSON && $JSON.stringify;\n\tvar PROTOTYPE = 'prototype';\n\tvar HIDDEN = wks('_hidden');\n\tvar TO_PRIMITIVE = wks('toPrimitive');\n\tvar isEnum = {}.propertyIsEnumerable;\n\tvar SymbolRegistry = shared('symbol-registry');\n\tvar AllSymbols = shared('symbols');\n\tvar OPSymbols = shared('op-symbols');\n\tvar ObjectProto = Object[PROTOTYPE];\n\tvar USE_NATIVE = typeof $Symbol == 'function';\n\tvar QObject = global.QObject;\n\t// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\n\tvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\t\n\t// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\n\tvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n\t return _create(dP({}, 'a', {\n\t get: function () { return dP(this, 'a', { value: 7 }).a; }\n\t })).a != 7;\n\t}) ? function (it, key, D) {\n\t var protoDesc = gOPD(ObjectProto, key);\n\t if (protoDesc) delete ObjectProto[key];\n\t dP(it, key, D);\n\t if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n\t} : dP;\n\t\n\tvar wrap = function (tag) {\n\t var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n\t sym._k = tag;\n\t return sym;\n\t};\n\t\n\tvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n\t return typeof it == 'symbol';\n\t} : function (it) {\n\t return it instanceof $Symbol;\n\t};\n\t\n\tvar $defineProperty = function defineProperty(it, key, D) {\n\t if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n\t anObject(it);\n\t key = toPrimitive(key, true);\n\t anObject(D);\n\t if (has(AllSymbols, key)) {\n\t if (!D.enumerable) {\n\t if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n\t it[HIDDEN][key] = true;\n\t } else {\n\t if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n\t D = _create(D, { enumerable: createDesc(0, false) });\n\t } return setSymbolDesc(it, key, D);\n\t } return dP(it, key, D);\n\t};\n\tvar $defineProperties = function defineProperties(it, P) {\n\t anObject(it);\n\t var keys = enumKeys(P = toIObject(P));\n\t var i = 0;\n\t var l = keys.length;\n\t var key;\n\t while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n\t return it;\n\t};\n\tvar $create = function create(it, P) {\n\t return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n\t};\n\tvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n\t var E = isEnum.call(this, key = toPrimitive(key, true));\n\t if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n\t return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n\t};\n\tvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n\t it = toIObject(it);\n\t key = toPrimitive(key, true);\n\t if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n\t var D = gOPD(it, key);\n\t if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n\t return D;\n\t};\n\tvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n\t var names = gOPN(toIObject(it));\n\t var result = [];\n\t var i = 0;\n\t var key;\n\t while (names.length > i) {\n\t if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n\t } return result;\n\t};\n\tvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n\t var IS_OP = it === ObjectProto;\n\t var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n\t var result = [];\n\t var i = 0;\n\t var key;\n\t while (names.length > i) {\n\t if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n\t } return result;\n\t};\n\t\n\t// 19.4.1.1 Symbol([description])\n\tif (!USE_NATIVE) {\n\t $Symbol = function Symbol() {\n\t if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n\t var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n\t var $set = function (value) {\n\t if (this === ObjectProto) $set.call(OPSymbols, value);\n\t if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n\t setSymbolDesc(this, tag, createDesc(1, value));\n\t };\n\t if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n\t return wrap(tag);\n\t };\n\t redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n\t return this._k;\n\t });\n\t\n\t $GOPD.f = $getOwnPropertyDescriptor;\n\t $DP.f = $defineProperty;\n\t __webpack_require__(49).f = gOPNExt.f = $getOwnPropertyNames;\n\t __webpack_require__(43).f = $propertyIsEnumerable;\n\t __webpack_require__(42).f = $getOwnPropertySymbols;\n\t\n\t if (DESCRIPTORS && !__webpack_require__(24)) {\n\t redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n\t }\n\t\n\t wksExt.f = function (name) {\n\t return wrap(wks(name));\n\t };\n\t}\n\t\n\t$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\t\n\tfor (var es6Symbols = (\n\t // 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\t 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n\t).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\t\n\tfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\t\n\t$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n\t // 19.4.2.1 Symbol.for(key)\n\t 'for': function (key) {\n\t return has(SymbolRegistry, key += '')\n\t ? SymbolRegistry[key]\n\t : SymbolRegistry[key] = $Symbol(key);\n\t },\n\t // 19.4.2.5 Symbol.keyFor(sym)\n\t keyFor: function keyFor(sym) {\n\t if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n\t for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n\t },\n\t useSetter: function () { setter = true; },\n\t useSimple: function () { setter = false; }\n\t});\n\t\n\t$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n\t // 19.1.2.2 Object.create(O [, Properties])\n\t create: $create,\n\t // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n\t defineProperty: $defineProperty,\n\t // 19.1.2.3 Object.defineProperties(O, Properties)\n\t defineProperties: $defineProperties,\n\t // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n\t getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n\t // 19.1.2.7 Object.getOwnPropertyNames(O)\n\t getOwnPropertyNames: $getOwnPropertyNames,\n\t // 19.1.2.8 Object.getOwnPropertySymbols(O)\n\t getOwnPropertySymbols: $getOwnPropertySymbols\n\t});\n\t\n\t// 24.3.2 JSON.stringify(value [, replacer [, space]])\n\t$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n\t var S = $Symbol();\n\t // MS Edge converts symbol values to JSON as {}\n\t // WebKit converts symbol values to JSON as null\n\t // V8 throws on boxed symbols\n\t return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n\t})), 'JSON', {\n\t stringify: function stringify(it) {\n\t var args = [it];\n\t var i = 1;\n\t var replacer, $replacer;\n\t while (arguments.length > i) args.push(arguments[i++]);\n\t $replacer = replacer = args[1];\n\t if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n\t if (!isArray(replacer)) replacer = function (key, value) {\n\t if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n\t if (!isSymbol(value)) return value;\n\t };\n\t args[1] = replacer;\n\t return _stringify.apply($JSON, args);\n\t }\n\t});\n\t\n\t// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n\t$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(10)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n\t// 19.4.3.5 Symbol.prototype[@@toStringTag]\n\tsetToStringTag($Symbol, 'Symbol');\n\t// 20.2.1.9 Math[@@toStringTag]\n\tsetToStringTag(Math, 'Math', true);\n\t// 24.3.3 JSON[@@toStringTag]\n\tsetToStringTag(global.JSON, 'JSON', true);\n\n\n/***/ },\n/* 4 */\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\n\t // eslint-disable-next-line no-new-func\n\t : Function('return this')();\n\tif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ },\n/* 5 */\n/***/ function(module, exports) {\n\n\tvar hasOwnProperty = {}.hasOwnProperty;\n\tmodule.exports = function (it, key) {\n\t return hasOwnProperty.call(it, key);\n\t};\n\n\n/***/ },\n/* 6 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// Thank's IE8 for his funny defineProperty\n\tmodule.exports = !__webpack_require__(7)(function () {\n\t return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n\t});\n\n\n/***/ },\n/* 7 */\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/***/ },\n/* 8 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar global = __webpack_require__(4);\n\tvar core = __webpack_require__(9);\n\tvar hide = __webpack_require__(10);\n\tvar redefine = __webpack_require__(18);\n\tvar ctx = __webpack_require__(20);\n\tvar PROTOTYPE = 'prototype';\n\t\n\tvar $export = function (type, name, source) {\n\t var IS_FORCED = type & $export.F;\n\t var IS_GLOBAL = type & $export.G;\n\t var IS_STATIC = type & $export.S;\n\t var IS_PROTO = type & $export.P;\n\t var IS_BIND = type & $export.B;\n\t var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n\t var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n\t var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n\t var key, own, out, exp;\n\t if (IS_GLOBAL) source = name;\n\t for (key in source) {\n\t // contains in native\n\t own = !IS_FORCED && target && target[key] !== undefined;\n\t // export native or passed\n\t out = (own ? target : source)[key];\n\t // bind timers to global for call from export context\n\t exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n\t // extend global\n\t if (target) redefine(target, key, out, type & $export.U);\n\t // export\n\t if (exports[key] != out) hide(exports, key, exp);\n\t if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n\t }\n\t};\n\tglobal.core = core;\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\t$export.U = 64; // safe\n\t$export.R = 128; // real proto method for `library`\n\tmodule.exports = $export;\n\n\n/***/ },\n/* 9 */\n/***/ function(module, exports) {\n\n\tvar core = module.exports = { version: '2.5.7' };\n\tif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar dP = __webpack_require__(11);\n\tvar createDesc = __webpack_require__(17);\n\tmodule.exports = __webpack_require__(6) ? function (object, key, value) {\n\t return dP.f(object, key, createDesc(1, value));\n\t} : function (object, key, value) {\n\t object[key] = value;\n\t return object;\n\t};\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar anObject = __webpack_require__(12);\n\tvar IE8_DOM_DEFINE = __webpack_require__(14);\n\tvar toPrimitive = __webpack_require__(16);\n\tvar dP = Object.defineProperty;\n\t\n\texports.f = __webpack_require__(6) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n\t anObject(O);\n\t P = toPrimitive(P, true);\n\t anObject(Attributes);\n\t if (IE8_DOM_DEFINE) try {\n\t return dP(O, P, Attributes);\n\t } catch (e) { /* empty */ }\n\t if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n\t if ('value' in Attributes) O[P] = Attributes.value;\n\t return O;\n\t};\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(13);\n\tmodule.exports = function (it) {\n\t if (!isObject(it)) throw TypeError(it + ' is not an object!');\n\t return it;\n\t};\n\n\n/***/ },\n/* 13 */\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/***/ },\n/* 14 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = !__webpack_require__(6) && !__webpack_require__(7)(function () {\n\t return Object.defineProperty(__webpack_require__(15)('div'), 'a', { get: function () { return 7; } }).a != 7;\n\t});\n\n\n/***/ },\n/* 15 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(13);\n\tvar document = __webpack_require__(4).document;\n\t// typeof document.createElement is 'object' in old IE\n\tvar is = isObject(document) && isObject(document.createElement);\n\tmodule.exports = function (it) {\n\t return is ? document.createElement(it) : {};\n\t};\n\n\n/***/ },\n/* 16 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 7.1.1 ToPrimitive(input [, PreferredType])\n\tvar isObject = __webpack_require__(13);\n\t// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n\t// and the second argument - flag - preferred type is a string\n\tmodule.exports = function (it, S) {\n\t if (!isObject(it)) return it;\n\t var fn, val;\n\t if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n\t if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n\t if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n\t throw TypeError(\"Can't convert object to primitive value\");\n\t};\n\n\n/***/ },\n/* 17 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function (bitmap, value) {\n\t return {\n\t enumerable: !(bitmap & 1),\n\t configurable: !(bitmap & 2),\n\t writable: !(bitmap & 4),\n\t value: value\n\t };\n\t};\n\n\n/***/ },\n/* 18 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar global = __webpack_require__(4);\n\tvar hide = __webpack_require__(10);\n\tvar has = __webpack_require__(5);\n\tvar SRC = __webpack_require__(19)('src');\n\tvar TO_STRING = 'toString';\n\tvar $toString = Function[TO_STRING];\n\tvar TPL = ('' + $toString).split(TO_STRING);\n\t\n\t__webpack_require__(9).inspectSource = function (it) {\n\t return $toString.call(it);\n\t};\n\t\n\t(module.exports = function (O, key, val, safe) {\n\t var isFunction = typeof val == 'function';\n\t if (isFunction) has(val, 'name') || hide(val, 'name', key);\n\t if (O[key] === val) return;\n\t if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n\t if (O === global) {\n\t O[key] = val;\n\t } else if (!safe) {\n\t delete O[key];\n\t hide(O, key, val);\n\t } else if (O[key]) {\n\t O[key] = val;\n\t } else {\n\t hide(O, key, val);\n\t }\n\t// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n\t})(Function.prototype, TO_STRING, function toString() {\n\t return typeof this == 'function' && this[SRC] || $toString.call(this);\n\t});\n\n\n/***/ },\n/* 19 */\n/***/ function(module, exports) {\n\n\tvar id = 0;\n\tvar px = Math.random();\n\tmodule.exports = function (key) {\n\t return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n\t};\n\n\n/***/ },\n/* 20 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// optional / simple context binding\n\tvar aFunction = __webpack_require__(21);\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/***/ },\n/* 21 */\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/***/ },\n/* 22 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar META = __webpack_require__(19)('meta');\n\tvar isObject = __webpack_require__(13);\n\tvar has = __webpack_require__(5);\n\tvar setDesc = __webpack_require__(11).f;\n\tvar id = 0;\n\tvar isExtensible = Object.isExtensible || function () {\n\t return true;\n\t};\n\tvar FREEZE = !__webpack_require__(7)(function () {\n\t return isExtensible(Object.preventExtensions({}));\n\t});\n\tvar setMeta = function (it) {\n\t setDesc(it, META, { value: {\n\t i: 'O' + ++id, // object ID\n\t w: {} // weak collections IDs\n\t } });\n\t};\n\tvar fastKey = function (it, create) {\n\t // return primitive with prefix\n\t if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n\t if (!has(it, META)) {\n\t // can't set metadata to uncaught frozen object\n\t if (!isExtensible(it)) return 'F';\n\t // not necessary to add metadata\n\t if (!create) return 'E';\n\t // add missing metadata\n\t setMeta(it);\n\t // return object ID\n\t } return it[META].i;\n\t};\n\tvar getWeak = function (it, create) {\n\t if (!has(it, META)) {\n\t // can't set metadata to uncaught frozen object\n\t if (!isExtensible(it)) return true;\n\t // not necessary to add metadata\n\t if (!create) return false;\n\t // add missing metadata\n\t setMeta(it);\n\t // return hash weak collections IDs\n\t } return it[META].w;\n\t};\n\t// add metadata on freeze-family methods calling\n\tvar onFreeze = function (it) {\n\t if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n\t return it;\n\t};\n\tvar meta = module.exports = {\n\t KEY: META,\n\t NEED: false,\n\t fastKey: fastKey,\n\t getWeak: getWeak,\n\t onFreeze: onFreeze\n\t};\n\n\n/***/ },\n/* 23 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar core = __webpack_require__(9);\n\tvar global = __webpack_require__(4);\n\tvar SHARED = '__core-js_shared__';\n\tvar store = global[SHARED] || (global[SHARED] = {});\n\t\n\t(module.exports = function (key, value) {\n\t return store[key] || (store[key] = value !== undefined ? value : {});\n\t})('versions', []).push({\n\t version: core.version,\n\t mode: __webpack_require__(24) ? 'pure' : 'global',\n\t copyright: '© 2018 Denis Pushkarev (zloirock.ru)'\n\t});\n\n\n/***/ },\n/* 24 */\n/***/ function(module, exports) {\n\n\tmodule.exports = false;\n\n\n/***/ },\n/* 25 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar def = __webpack_require__(11).f;\n\tvar has = __webpack_require__(5);\n\tvar TAG = __webpack_require__(26)('toStringTag');\n\t\n\tmodule.exports = function (it, tag, stat) {\n\t if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n\t};\n\n\n/***/ },\n/* 26 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar store = __webpack_require__(23)('wks');\n\tvar uid = __webpack_require__(19);\n\tvar Symbol = __webpack_require__(4).Symbol;\n\tvar USE_SYMBOL = typeof Symbol == 'function';\n\t\n\tvar $exports = module.exports = function (name) {\n\t return store[name] || (store[name] =\n\t USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n\t};\n\t\n\t$exports.store = store;\n\n\n/***/ },\n/* 27 */\n/***/ function(module, exports, __webpack_require__) {\n\n\texports.f = __webpack_require__(26);\n\n\n/***/ },\n/* 28 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar global = __webpack_require__(4);\n\tvar core = __webpack_require__(9);\n\tvar LIBRARY = __webpack_require__(24);\n\tvar wksExt = __webpack_require__(27);\n\tvar defineProperty = __webpack_require__(11).f;\n\tmodule.exports = function (name) {\n\t var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n\t if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n\t};\n\n\n/***/ },\n/* 29 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// all enumerable object keys, includes symbols\n\tvar getKeys = __webpack_require__(30);\n\tvar gOPS = __webpack_require__(42);\n\tvar pIE = __webpack_require__(43);\n\tmodule.exports = function (it) {\n\t var result = getKeys(it);\n\t var getSymbols = gOPS.f;\n\t if (getSymbols) {\n\t var symbols = getSymbols(it);\n\t var isEnum = pIE.f;\n\t var i = 0;\n\t var key;\n\t while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n\t } return result;\n\t};\n\n\n/***/ },\n/* 30 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.14 / 15.2.3.14 Object.keys(O)\n\tvar $keys = __webpack_require__(31);\n\tvar enumBugKeys = __webpack_require__(41);\n\t\n\tmodule.exports = Object.keys || function keys(O) {\n\t return $keys(O, enumBugKeys);\n\t};\n\n\n/***/ },\n/* 31 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar has = __webpack_require__(5);\n\tvar toIObject = __webpack_require__(32);\n\tvar arrayIndexOf = __webpack_require__(36)(false);\n\tvar IE_PROTO = __webpack_require__(40)('IE_PROTO');\n\t\n\tmodule.exports = function (object, names) {\n\t var O = toIObject(object);\n\t var i = 0;\n\t var result = [];\n\t var key;\n\t for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n\t // Don't enum bug & hidden keys\n\t while (names.length > i) if (has(O, key = names[i++])) {\n\t ~arrayIndexOf(result, key) || result.push(key);\n\t }\n\t return result;\n\t};\n\n\n/***/ },\n/* 32 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// to indexed object, toObject with fallback for non-array-like ES3 strings\n\tvar IObject = __webpack_require__(33);\n\tvar defined = __webpack_require__(35);\n\tmodule.exports = function (it) {\n\t return IObject(defined(it));\n\t};\n\n\n/***/ },\n/* 33 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// fallback for non-array-like ES3 and non-enumerable old V8 strings\n\tvar cof = __webpack_require__(34);\n\t// eslint-disable-next-line no-prototype-builtins\n\tmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n\t return cof(it) == 'String' ? it.split('') : Object(it);\n\t};\n\n\n/***/ },\n/* 34 */\n/***/ function(module, exports) {\n\n\tvar toString = {}.toString;\n\t\n\tmodule.exports = function (it) {\n\t return toString.call(it).slice(8, -1);\n\t};\n\n\n/***/ },\n/* 35 */\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/***/ },\n/* 36 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// false -> Array#indexOf\n\t// true -> Array#includes\n\tvar toIObject = __webpack_require__(32);\n\tvar toLength = __webpack_require__(37);\n\tvar toAbsoluteIndex = __webpack_require__(39);\n\tmodule.exports = function (IS_INCLUDES) {\n\t return function ($this, el, fromIndex) {\n\t var O = toIObject($this);\n\t var length = toLength(O.length);\n\t var index = toAbsoluteIndex(fromIndex, length);\n\t var value;\n\t // Array#includes uses SameValueZero equality algorithm\n\t // eslint-disable-next-line no-self-compare\n\t if (IS_INCLUDES && el != el) while (length > index) {\n\t value = O[index++];\n\t // eslint-disable-next-line no-self-compare\n\t if (value != value) return true;\n\t // Array#indexOf ignores holes, Array#includes - not\n\t } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n\t if (O[index] === el) return IS_INCLUDES || index || 0;\n\t } return !IS_INCLUDES && -1;\n\t };\n\t};\n\n\n/***/ },\n/* 37 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 7.1.15 ToLength\n\tvar toInteger = __webpack_require__(38);\n\tvar min = Math.min;\n\tmodule.exports = function (it) {\n\t return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n\t};\n\n\n/***/ },\n/* 38 */\n/***/ function(module, exports) {\n\n\t// 7.1.4 ToInteger\n\tvar ceil = Math.ceil;\n\tvar floor = Math.floor;\n\tmodule.exports = function (it) {\n\t return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n\t};\n\n\n/***/ },\n/* 39 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar toInteger = __webpack_require__(38);\n\tvar max = Math.max;\n\tvar min = Math.min;\n\tmodule.exports = function (index, length) {\n\t index = toInteger(index);\n\t return index < 0 ? max(index + length, 0) : min(index, length);\n\t};\n\n\n/***/ },\n/* 40 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar shared = __webpack_require__(23)('keys');\n\tvar uid = __webpack_require__(19);\n\tmodule.exports = function (key) {\n\t return shared[key] || (shared[key] = uid(key));\n\t};\n\n\n/***/ },\n/* 41 */\n/***/ function(module, exports) {\n\n\t// IE 8- don't enum bug keys\n\tmodule.exports = (\n\t 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n\t).split(',');\n\n\n/***/ },\n/* 42 */\n/***/ function(module, exports) {\n\n\texports.f = Object.getOwnPropertySymbols;\n\n\n/***/ },\n/* 43 */\n/***/ function(module, exports) {\n\n\texports.f = {}.propertyIsEnumerable;\n\n\n/***/ },\n/* 44 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 7.2.2 IsArray(argument)\n\tvar cof = __webpack_require__(34);\n\tmodule.exports = Array.isArray || function isArray(arg) {\n\t return cof(arg) == 'Array';\n\t};\n\n\n/***/ },\n/* 45 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n\tvar anObject = __webpack_require__(12);\n\tvar dPs = __webpack_require__(46);\n\tvar enumBugKeys = __webpack_require__(41);\n\tvar IE_PROTO = __webpack_require__(40)('IE_PROTO');\n\tvar Empty = function () { /* empty */ };\n\tvar PROTOTYPE = 'prototype';\n\t\n\t// Create object with fake `null` prototype: use iframe Object with cleared prototype\n\tvar createDict = function () {\n\t // Thrash, waste and sodomy: IE GC bug\n\t var iframe = __webpack_require__(15)('iframe');\n\t var i = enumBugKeys.length;\n\t var lt = '<';\n\t var gt = '>';\n\t var iframeDocument;\n\t iframe.style.display = 'none';\n\t __webpack_require__(47).appendChild(iframe);\n\t iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n\t // createDict = iframe.contentWindow.Object;\n\t // html.removeChild(iframe);\n\t iframeDocument = iframe.contentWindow.document;\n\t iframeDocument.open();\n\t iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n\t iframeDocument.close();\n\t createDict = iframeDocument.F;\n\t while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n\t return createDict();\n\t};\n\t\n\tmodule.exports = Object.create || function create(O, Properties) {\n\t var result;\n\t if (O !== null) {\n\t Empty[PROTOTYPE] = anObject(O);\n\t result = new Empty();\n\t Empty[PROTOTYPE] = null;\n\t // add \"__proto__\" for Object.getPrototypeOf polyfill\n\t result[IE_PROTO] = O;\n\t } else result = createDict();\n\t return Properties === undefined ? result : dPs(result, Properties);\n\t};\n\n\n/***/ },\n/* 46 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar dP = __webpack_require__(11);\n\tvar anObject = __webpack_require__(12);\n\tvar getKeys = __webpack_require__(30);\n\t\n\tmodule.exports = __webpack_require__(6) ? Object.defineProperties : function defineProperties(O, Properties) {\n\t anObject(O);\n\t var keys = getKeys(Properties);\n\t var length = keys.length;\n\t var i = 0;\n\t var P;\n\t while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n\t return O;\n\t};\n\n\n/***/ },\n/* 47 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar document = __webpack_require__(4).document;\n\tmodule.exports = document && document.documentElement;\n\n\n/***/ },\n/* 48 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\n\tvar toIObject = __webpack_require__(32);\n\tvar gOPN = __webpack_require__(49).f;\n\tvar toString = {}.toString;\n\t\n\tvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n\t ? Object.getOwnPropertyNames(window) : [];\n\t\n\tvar getWindowNames = function (it) {\n\t try {\n\t return gOPN(it);\n\t } catch (e) {\n\t return windowNames.slice();\n\t }\n\t};\n\t\n\tmodule.exports.f = function getOwnPropertyNames(it) {\n\t return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n\t};\n\n\n/***/ },\n/* 49 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\n\tvar $keys = __webpack_require__(31);\n\tvar hiddenKeys = __webpack_require__(41).concat('length', 'prototype');\n\t\n\texports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n\t return $keys(O, hiddenKeys);\n\t};\n\n\n/***/ },\n/* 50 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar pIE = __webpack_require__(43);\n\tvar createDesc = __webpack_require__(17);\n\tvar toIObject = __webpack_require__(32);\n\tvar toPrimitive = __webpack_require__(16);\n\tvar has = __webpack_require__(5);\n\tvar IE8_DOM_DEFINE = __webpack_require__(14);\n\tvar gOPD = Object.getOwnPropertyDescriptor;\n\t\n\texports.f = __webpack_require__(6) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n\t O = toIObject(O);\n\t P = toPrimitive(P, true);\n\t if (IE8_DOM_DEFINE) try {\n\t return gOPD(O, P);\n\t } catch (e) { /* empty */ }\n\t if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n\t};\n\n\n/***/ },\n/* 51 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar $export = __webpack_require__(8);\n\t// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n\t$export($export.S, 'Object', { create: __webpack_require__(45) });\n\n\n/***/ },\n/* 52 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar $export = __webpack_require__(8);\n\t// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n\t$export($export.S + $export.F * !__webpack_require__(6), 'Object', { defineProperty: __webpack_require__(11).f });\n\n\n/***/ },\n/* 53 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar $export = __webpack_require__(8);\n\t// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)\n\t$export($export.S + $export.F * !__webpack_require__(6), 'Object', { defineProperties: __webpack_require__(46) });\n\n\n/***/ },\n/* 54 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n\tvar toIObject = __webpack_require__(32);\n\tvar $getOwnPropertyDescriptor = __webpack_require__(50).f;\n\t\n\t__webpack_require__(55)('getOwnPropertyDescriptor', function () {\n\t return function getOwnPropertyDescriptor(it, key) {\n\t return $getOwnPropertyDescriptor(toIObject(it), key);\n\t };\n\t});\n\n\n/***/ },\n/* 55 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// most Object methods by ES6 should accept primitives\n\tvar $export = __webpack_require__(8);\n\tvar core = __webpack_require__(9);\n\tvar fails = __webpack_require__(7);\n\tmodule.exports = function (KEY, exec) {\n\t var fn = (core.Object || {})[KEY] || Object[KEY];\n\t var 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/***/ },\n/* 56 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.9 Object.getPrototypeOf(O)\n\tvar toObject = __webpack_require__(57);\n\tvar $getPrototypeOf = __webpack_require__(58);\n\t\n\t__webpack_require__(55)('getPrototypeOf', function () {\n\t return function getPrototypeOf(it) {\n\t return $getPrototypeOf(toObject(it));\n\t };\n\t});\n\n\n/***/ },\n/* 57 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 7.1.13 ToObject(argument)\n\tvar defined = __webpack_require__(35);\n\tmodule.exports = function (it) {\n\t return Object(defined(it));\n\t};\n\n\n/***/ },\n/* 58 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\n\tvar has = __webpack_require__(5);\n\tvar toObject = __webpack_require__(57);\n\tvar IE_PROTO = __webpack_require__(40)('IE_PROTO');\n\tvar ObjectProto = Object.prototype;\n\t\n\tmodule.exports = Object.getPrototypeOf || function (O) {\n\t O = toObject(O);\n\t if (has(O, IE_PROTO)) return O[IE_PROTO];\n\t if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n\t return O.constructor.prototype;\n\t } return O instanceof Object ? ObjectProto : null;\n\t};\n\n\n/***/ },\n/* 59 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.14 Object.keys(O)\n\tvar toObject = __webpack_require__(57);\n\tvar $keys = __webpack_require__(30);\n\t\n\t__webpack_require__(55)('keys', function () {\n\t return function keys(it) {\n\t return $keys(toObject(it));\n\t };\n\t});\n\n\n/***/ },\n/* 60 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.7 Object.getOwnPropertyNames(O)\n\t__webpack_require__(55)('getOwnPropertyNames', function () {\n\t return __webpack_require__(48).f;\n\t});\n\n\n/***/ },\n/* 61 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.5 Object.freeze(O)\n\tvar isObject = __webpack_require__(13);\n\tvar meta = __webpack_require__(22).onFreeze;\n\t\n\t__webpack_require__(55)('freeze', function ($freeze) {\n\t return function freeze(it) {\n\t return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n\t };\n\t});\n\n\n/***/ },\n/* 62 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.17 Object.seal(O)\n\tvar isObject = __webpack_require__(13);\n\tvar meta = __webpack_require__(22).onFreeze;\n\t\n\t__webpack_require__(55)('seal', function ($seal) {\n\t return function seal(it) {\n\t return $seal && isObject(it) ? $seal(meta(it)) : it;\n\t };\n\t});\n\n\n/***/ },\n/* 63 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.15 Object.preventExtensions(O)\n\tvar isObject = __webpack_require__(13);\n\tvar meta = __webpack_require__(22).onFreeze;\n\t\n\t__webpack_require__(55)('preventExtensions', function ($preventExtensions) {\n\t return function preventExtensions(it) {\n\t return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;\n\t };\n\t});\n\n\n/***/ },\n/* 64 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.12 Object.isFrozen(O)\n\tvar isObject = __webpack_require__(13);\n\t\n\t__webpack_require__(55)('isFrozen', function ($isFrozen) {\n\t return function isFrozen(it) {\n\t return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n\t };\n\t});\n\n\n/***/ },\n/* 65 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.13 Object.isSealed(O)\n\tvar isObject = __webpack_require__(13);\n\t\n\t__webpack_require__(55)('isSealed', function ($isSealed) {\n\t return function isSealed(it) {\n\t return isObject(it) ? $isSealed ? $isSealed(it) : false : true;\n\t };\n\t});\n\n\n/***/ },\n/* 66 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.11 Object.isExtensible(O)\n\tvar isObject = __webpack_require__(13);\n\t\n\t__webpack_require__(55)('isExtensible', function ($isExtensible) {\n\t return function isExtensible(it) {\n\t return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;\n\t };\n\t});\n\n\n/***/ },\n/* 67 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 19.1.3.1 Object.assign(target, source)\n\tvar $export = __webpack_require__(8);\n\t\n\t$export($export.S + $export.F, 'Object', { assign: __webpack_require__(68) });\n\n\n/***/ },\n/* 68 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// 19.1.2.1 Object.assign(target, source, ...)\n\tvar getKeys = __webpack_require__(30);\n\tvar gOPS = __webpack_require__(42);\n\tvar pIE = __webpack_require__(43);\n\tvar toObject = __webpack_require__(57);\n\tvar IObject = __webpack_require__(33);\n\tvar $assign = Object.assign;\n\t\n\t// should work with symbols and should have deterministic property order (V8 bug)\n\tmodule.exports = !$assign || __webpack_require__(7)(function () {\n\t var A = {};\n\t var B = {};\n\t // eslint-disable-next-line no-undef\n\t var S = Symbol();\n\t var K = 'abcdefghijklmnopqrst';\n\t A[S] = 7;\n\t K.split('').forEach(function (k) { B[k] = k; });\n\t return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n\t}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n\t var T = toObject(target);\n\t var aLen = arguments.length;\n\t var index = 1;\n\t var getSymbols = gOPS.f;\n\t var isEnum = pIE.f;\n\t while (aLen > index) {\n\t var S = IObject(arguments[index++]);\n\t var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n\t var length = keys.length;\n\t var j = 0;\n\t var key;\n\t while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n\t } return T;\n\t} : $assign;\n\n\n/***/ },\n/* 69 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 19.1.3.10 Object.is(value1, value2)\n\tvar $export = __webpack_require__(8);\n\t$export($export.S, 'Object', { is: __webpack_require__(70) });\n\n\n/***/ },\n/* 70 */\n/***/ function(module, exports) {\n\n\t// 7.2.9 SameValue(x, y)\n\tmodule.exports = Object.is || function is(x, y) {\n\t // eslint-disable-next-line no-self-compare\n\t return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n\t};\n\n\n/***/ },\n/* 71 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 19.1.3.19 Object.setPrototypeOf(O, proto)\n\tvar $export = __webpack_require__(8);\n\t$export($export.S, 'Object', { setPrototypeOf: __webpack_require__(72).set });\n\n\n/***/ },\n/* 72 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// Works with __proto__ only. Old v8 can't work with null proto objects.\n\t/* eslint-disable no-proto */\n\tvar isObject = __webpack_require__(13);\n\tvar anObject = __webpack_require__(12);\n\tvar check = function (O, proto) {\n\t anObject(O);\n\t if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n\t};\n\tmodule.exports = {\n\t set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n\t function (test, buggy, set) {\n\t try {\n\t set = __webpack_require__(20)(Function.call, __webpack_require__(50).f(Object.prototype, '__proto__').set, 2);\n\t set(test, []);\n\t buggy = !(test instanceof Array);\n\t } catch (e) { buggy = true; }\n\t return function setPrototypeOf(O, proto) {\n\t check(O, proto);\n\t if (buggy) O.__proto__ = proto;\n\t else set(O, proto);\n\t return O;\n\t };\n\t }({}, false) : undefined),\n\t check: check\n\t};\n\n\n/***/ },\n/* 73 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// 19.1.3.6 Object.prototype.toString()\n\tvar classof = __webpack_require__(74);\n\tvar test = {};\n\ttest[__webpack_require__(26)('toStringTag')] = 'z';\n\tif (test + '' != '[object z]') {\n\t __webpack_require__(18)(Object.prototype, 'toString', function toString() {\n\t return '[object ' + classof(this) + ']';\n\t }, true);\n\t}\n\n\n/***/ },\n/* 74 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// getting tag from 19.1.3.6 Object.prototype.toString()\n\tvar cof = __webpack_require__(34);\n\tvar TAG = __webpack_require__(26)('toStringTag');\n\t// ES3 wrong here\n\tvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\t\n\t// fallback for IE11 Script Access Denied error\n\tvar tryGet = function (it, key) {\n\t try {\n\t return it[key];\n\t } catch (e) { /* empty */ }\n\t};\n\t\n\tmodule.exports = function (it) {\n\t var O, T, B;\n\t return it === undefined ? 'Undefined' : it === null ? 'Null'\n\t // @@toStringTag case\n\t : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n\t // builtinTag case\n\t : ARG ? cof(O)\n\t // ES3 arguments fallback\n\t : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n\t};\n\n\n/***/ },\n/* 75 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)\n\tvar $export = __webpack_require__(8);\n\t\n\t$export($export.P, 'Function', { bind: __webpack_require__(76) });\n\n\n/***/ },\n/* 76 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar aFunction = __webpack_require__(21);\n\tvar isObject = __webpack_require__(13);\n\tvar invoke = __webpack_require__(77);\n\tvar arraySlice = [].slice;\n\tvar factories = {};\n\t\n\tvar construct = function (F, len, args) {\n\t if (!(len in factories)) {\n\t for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']';\n\t // eslint-disable-next-line no-new-func\n\t factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n\t } return factories[len](F, args);\n\t};\n\t\n\tmodule.exports = Function.bind || function bind(that /* , ...args */) {\n\t var fn = aFunction(this);\n\t var partArgs = arraySlice.call(arguments, 1);\n\t var bound = function (/* args... */) {\n\t var args = partArgs.concat(arraySlice.call(arguments));\n\t return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n\t };\n\t if (isObject(fn.prototype)) bound.prototype = fn.prototype;\n\t return bound;\n\t};\n\n\n/***/ },\n/* 77 */\n/***/ function(module, exports) {\n\n\t// fast apply, http://jsperf.lnkit.com/fast-apply/5\n\tmodule.exports = function (fn, args, that) {\n\t var un = that === undefined;\n\t switch (args.length) {\n\t case 0: return un ? fn()\n\t : fn.call(that);\n\t case 1: return un ? fn(args[0])\n\t : fn.call(that, args[0]);\n\t case 2: return un ? fn(args[0], args[1])\n\t : fn.call(that, args[0], args[1]);\n\t case 3: return un ? fn(args[0], args[1], args[2])\n\t : fn.call(that, args[0], args[1], args[2]);\n\t case 4: return un ? fn(args[0], args[1], args[2], args[3])\n\t : fn.call(that, args[0], args[1], args[2], args[3]);\n\t } return fn.apply(that, args);\n\t};\n\n\n/***/ },\n/* 78 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar dP = __webpack_require__(11).f;\n\tvar FProto = Function.prototype;\n\tvar nameRE = /^\\s*function ([^ (]*)/;\n\tvar NAME = 'name';\n\t\n\t// 19.2.4.2 name\n\tNAME in FProto || __webpack_require__(6) && dP(FProto, NAME, {\n\t configurable: true,\n\t get: function () {\n\t try {\n\t return ('' + this).match(nameRE)[1];\n\t } catch (e) {\n\t return '';\n\t }\n\t }\n\t});\n\n\n/***/ },\n/* 79 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar isObject = __webpack_require__(13);\n\tvar getPrototypeOf = __webpack_require__(58);\n\tvar HAS_INSTANCE = __webpack_require__(26)('hasInstance');\n\tvar FunctionProto = Function.prototype;\n\t// 19.2.3.6 Function.prototype[@@hasInstance](V)\n\tif (!(HAS_INSTANCE in FunctionProto)) __webpack_require__(11).f(FunctionProto, HAS_INSTANCE, { value: function (O) {\n\t if (typeof this != 'function' || !isObject(O)) return false;\n\t if (!isObject(this.prototype)) return O instanceof this;\n\t // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:\n\t while (O = getPrototypeOf(O)) if (this.prototype === O) return true;\n\t return false;\n\t} });\n\n\n/***/ },\n/* 80 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar $export = __webpack_require__(8);\n\tvar $parseInt = __webpack_require__(81);\n\t// 18.2.5 parseInt(string, radix)\n\t$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt });\n\n\n/***/ },\n/* 81 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar $parseInt = __webpack_require__(4).parseInt;\n\tvar $trim = __webpack_require__(82).trim;\n\tvar ws = __webpack_require__(83);\n\tvar hex = /^[-+]?0[xX]/;\n\t\n\tmodule.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) {\n\t var string = $trim(String(str), 3);\n\t return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));\n\t} : $parseInt;\n\n\n/***/ },\n/* 82 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar $export = __webpack_require__(8);\n\tvar defined = __webpack_require__(35);\n\tvar fails = __webpack_require__(7);\n\tvar spaces = __webpack_require__(83);\n\tvar space = '[' + spaces + ']';\n\tvar non = '\\u200b\\u0085';\n\tvar ltrim = RegExp('^' + space + space + '*');\n\tvar rtrim = RegExp(space + space + '*$');\n\t\n\tvar exporter = function (KEY, exec, ALIAS) {\n\t var exp = {};\n\t var FORCE = fails(function () {\n\t return !!spaces[KEY]() || non[KEY]() != non;\n\t });\n\t var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n\t if (ALIAS) exp[ALIAS] = fn;\n\t $export($export.P + $export.F * FORCE, 'String', exp);\n\t};\n\t\n\t// 1 -> String#trimLeft\n\t// 2 -> String#trimRight\n\t// 3 -> String#trim\n\tvar trim = exporter.trim = function (string, TYPE) {\n\t string = String(defined(string));\n\t if (TYPE & 1) string = string.replace(ltrim, '');\n\t if (TYPE & 2) string = string.replace(rtrim, '');\n\t return string;\n\t};\n\t\n\tmodule.exports = exporter;\n\n\n/***/ },\n/* 83 */\n/***/ function(module, exports) {\n\n\tmodule.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n\t '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n\n\n/***/ },\n/* 84 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar $export = __webpack_require__(8);\n\tvar $parseFloat = __webpack_require__(85);\n\t// 18.2.4 parseFloat(string)\n\t$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat });\n\n\n/***/ },\n/* 85 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar $parseFloat = __webpack_require__(4).parseFloat;\n\tvar $trim = __webpack_require__(82).trim;\n\t\n\tmodule.exports = 1 / $parseFloat(__webpack_require__(83) + '-0') !== -Infinity ? function parseFloat(str) {\n\t var string = $trim(String(str), 3);\n\t var result = $parseFloat(string);\n\t return result === 0 && string.charAt(0) == '-' ? -0 : result;\n\t} : $parseFloat;\n\n\n/***/ },\n/* 86 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar global = __webpack_require__(4);\n\tvar has = __webpack_require__(5);\n\tvar cof = __webpack_require__(34);\n\tvar inheritIfRequired = __webpack_require__(87);\n\tvar toPrimitive = __webpack_require__(16);\n\tvar fails = __webpack_require__(7);\n\tvar gOPN = __webpack_require__(49).f;\n\tvar gOPD = __webpack_require__(50).f;\n\tvar dP = __webpack_require__(11).f;\n\tvar $trim = __webpack_require__(82).trim;\n\tvar NUMBER = 'Number';\n\tvar $Number = global[NUMBER];\n\tvar Base = $Number;\n\tvar proto = $Number.prototype;\n\t// Opera ~12 has broken Object#toString\n\tvar BROKEN_COF = cof(__webpack_require__(45)(proto)) == NUMBER;\n\tvar TRIM = 'trim' in String.prototype;\n\t\n\t// 7.1.3 ToNumber(argument)\n\tvar toNumber = function (argument) {\n\t var it = toPrimitive(argument, false);\n\t if (typeof it == 'string' && it.length > 2) {\n\t it = TRIM ? it.trim() : $trim(it, 3);\n\t var first = it.charCodeAt(0);\n\t var third, radix, maxCode;\n\t if (first === 43 || first === 45) {\n\t third = it.charCodeAt(2);\n\t if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n\t } else if (first === 48) {\n\t switch (it.charCodeAt(1)) {\n\t case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n\t case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n\t default: return +it;\n\t }\n\t for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n\t code = digits.charCodeAt(i);\n\t // parseInt parses a string to a first unavailable symbol\n\t // but ToNumber should return NaN if a string contains unavailable symbols\n\t if (code < 48 || code > maxCode) return NaN;\n\t } return parseInt(digits, radix);\n\t }\n\t } return +it;\n\t};\n\t\n\tif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n\t $Number = function Number(value) {\n\t var it = arguments.length < 1 ? 0 : value;\n\t var that = this;\n\t return that instanceof $Number\n\t // check on 1..constructor(foo) case\n\t && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n\t ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n\t };\n\t for (var keys = __webpack_require__(6) ? gOPN(Base) : (\n\t // ES3:\n\t 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n\t // ES6 (in case, if modules with ES6 Number statics required before):\n\t 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n\t 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n\t ).split(','), j = 0, key; keys.length > j; j++) {\n\t if (has(Base, key = keys[j]) && !has($Number, key)) {\n\t dP($Number, key, gOPD(Base, key));\n\t }\n\t }\n\t $Number.prototype = proto;\n\t proto.constructor = $Number;\n\t __webpack_require__(18)(global, NUMBER, $Number);\n\t}\n\n\n/***/ },\n/* 87 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(13);\n\tvar setPrototypeOf = __webpack_require__(72).set;\n\tmodule.exports = function (that, target, C) {\n\t var S = target.constructor;\n\t var P;\n\t if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n\t setPrototypeOf(that, P);\n\t } return that;\n\t};\n\n\n/***/ },\n/* 88 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $export = __webpack_require__(8);\n\tvar toInteger = __webpack_require__(38);\n\tvar aNumberValue = __webpack_require__(89);\n\tvar repeat = __webpack_require__(90);\n\tvar $toFixed = 1.0.toFixed;\n\tvar floor = Math.floor;\n\tvar data = [0, 0, 0, 0, 0, 0];\n\tvar ERROR = 'Number.toFixed: incorrect invocation!';\n\tvar ZERO = '0';\n\t\n\tvar multiply = function (n, c) {\n\t var i = -1;\n\t var c2 = c;\n\t while (++i < 6) {\n\t c2 += n * data[i];\n\t data[i] = c2 % 1e7;\n\t c2 = floor(c2 / 1e7);\n\t }\n\t};\n\tvar divide = function (n) {\n\t var i = 6;\n\t var c = 0;\n\t while (--i >= 0) {\n\t c += data[i];\n\t data[i] = floor(c / n);\n\t c = (c % n) * 1e7;\n\t }\n\t};\n\tvar numToString = function () {\n\t var i = 6;\n\t var s = '';\n\t while (--i >= 0) {\n\t if (s !== '' || i === 0 || data[i] !== 0) {\n\t var t = String(data[i]);\n\t s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;\n\t }\n\t } return s;\n\t};\n\tvar pow = function (x, n, acc) {\n\t return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n\t};\n\tvar log = function (x) {\n\t var n = 0;\n\t var x2 = x;\n\t while (x2 >= 4096) {\n\t n += 12;\n\t x2 /= 4096;\n\t }\n\t while (x2 >= 2) {\n\t n += 1;\n\t x2 /= 2;\n\t } return n;\n\t};\n\t\n\t$export($export.P + $export.F * (!!$toFixed && (\n\t 0.00008.toFixed(3) !== '0.000' ||\n\t 0.9.toFixed(0) !== '1' ||\n\t 1.255.toFixed(2) !== '1.25' ||\n\t 1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n\t) || !__webpack_require__(7)(function () {\n\t // V8 ~ Android 4.3-\n\t $toFixed.call({});\n\t})), 'Number', {\n\t toFixed: function toFixed(fractionDigits) {\n\t var x = aNumberValue(this, ERROR);\n\t var f = toInteger(fractionDigits);\n\t var s = '';\n\t var m = ZERO;\n\t var e, z, j, k;\n\t if (f < 0 || f > 20) throw RangeError(ERROR);\n\t // eslint-disable-next-line no-self-compare\n\t if (x != x) return 'NaN';\n\t if (x <= -1e21 || x >= 1e21) return String(x);\n\t if (x < 0) {\n\t s = '-';\n\t x = -x;\n\t }\n\t if (x > 1e-21) {\n\t e = log(x * pow(2, 69, 1)) - 69;\n\t z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);\n\t z *= 0x10000000000000;\n\t e = 52 - e;\n\t if (e > 0) {\n\t multiply(0, z);\n\t j = f;\n\t while (j >= 7) {\n\t multiply(1e7, 0);\n\t j -= 7;\n\t }\n\t multiply(pow(10, j, 1), 0);\n\t j = e - 1;\n\t while (j >= 23) {\n\t divide(1 << 23);\n\t j -= 23;\n\t }\n\t divide(1 << j);\n\t multiply(1, 1);\n\t divide(2);\n\t m = numToString();\n\t } else {\n\t multiply(0, z);\n\t multiply(1 << -e, 0);\n\t m = numToString() + repeat.call(ZERO, f);\n\t }\n\t }\n\t if (f > 0) {\n\t k = m.length;\n\t m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));\n\t } else {\n\t m = s + m;\n\t } return m;\n\t }\n\t});\n\n\n/***/ },\n/* 89 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar cof = __webpack_require__(34);\n\tmodule.exports = function (it, msg) {\n\t if (typeof it != 'number' && cof(it) != 'Number') throw TypeError(msg);\n\t return +it;\n\t};\n\n\n/***/ },\n/* 90 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar toInteger = __webpack_require__(38);\n\tvar defined = __webpack_require__(35);\n\t\n\tmodule.exports = function repeat(count) {\n\t var str = String(defined(this));\n\t var res = '';\n\t var n = toInteger(count);\n\t if (n < 0 || n == Infinity) throw RangeError(\"Count can't be negative\");\n\t for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str;\n\t return res;\n\t};\n\n\n/***/ },\n/* 91 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $export = __webpack_require__(8);\n\tvar $fails = __webpack_require__(7);\n\tvar aNumberValue = __webpack_require__(89);\n\tvar $toPrecision = 1.0.toPrecision;\n\t\n\t$export($export.P + $export.F * ($fails(function () {\n\t // IE7-\n\t return $toPrecision.call(1, undefined) !== '1';\n\t}) || !$fails(function () {\n\t // V8 ~ Android 4.3-\n\t $toPrecision.call({});\n\t})), 'Number', {\n\t toPrecision: function toPrecision(precision) {\n\t var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');\n\t return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision);\n\t }\n\t});\n\n\n/***/ },\n/* 92 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 20.1.2.1 Number.EPSILON\n\tvar $export = __webpack_require__(8);\n\t\n\t$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) });\n\n\n/***/ },\n/* 93 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 20.1.2.2 Number.isFinite(number)\n\tvar $export = __webpack_require__(8);\n\tvar _isFinite = __webpack_require__(4).isFinite;\n\t\n\t$export($export.S, 'Number', {\n\t isFinite: function isFinite(it) {\n\t return typeof it == 'number' && _isFinite(it);\n\t }\n\t});\n\n\n/***/ },\n/* 94 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 20.1.2.3 Number.isInteger(number)\n\tvar $export = __webpack_require__(8);\n\t\n\t$export($export.S, 'Number', { isInteger: __webpack_require__(95) });\n\n\n/***/ },\n/* 95 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 20.1.2.3 Number.isInteger(number)\n\tvar isObject = __webpack_require__(13);\n\tvar floor = Math.floor;\n\tmodule.exports = function isInteger(it) {\n\t return !isObject(it) && isFinite(it) && floor(it) === it;\n\t};\n\n\n/***/ },\n/* 96 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 20.1.2.4 Number.isNaN(number)\n\tvar $export = __webpack_require__(8);\n\t\n\t$export($export.S, 'Number', {\n\t isNaN: function isNaN(number) {\n\t // eslint-disable-next-line no-self-compare\n\t return number != number;\n\t }\n\t});\n\n\n/***/ },\n/* 97 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 20.1.2.5 Number.isSafeInteger(number)\n\tvar $export = __webpack_require__(8);\n\tvar isInteger = __webpack_require__(95);\n\tvar abs = Math.abs;\n\t\n\t$export($export.S, 'Number', {\n\t isSafeInteger: function isSafeInteger(number) {\n\t return isInteger(number) && abs(number) <= 0x1fffffffffffff;\n\t }\n\t});\n\n\n/***/ },\n/* 98 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 20.1.2.6 Number.MAX_SAFE_INTEGER\n\tvar $export = __webpack_require__(8);\n\t\n\t$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff });\n\n\n/***/ },\n/* 99 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 20.1.2.10 Number.MIN_SAFE_INTEGER\n\tvar $export = __webpack_require__(8);\n\t\n\t$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff });\n\n\n/***/ },\n/* 100 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar $export = __webpack_require__(8);\n\tvar $parseFloat = __webpack_require__(85);\n\t// 20.1.2.12 Number.parseFloat(string)\n\t$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat });\n\n\n/***/ },\n/* 101 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar $export = __webpack_require__(8);\n\tvar $parseInt = __webpack_require__(81);\n\t// 20.1.2.13 Number.parseInt(string, radix)\n\t$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt });\n\n\n/***/ },\n/* 102 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 20.2.2.3 Math.acosh(x)\n\tvar $export = __webpack_require__(8);\n\tvar log1p = __webpack_require__(103);\n\tvar sqrt = Math.sqrt;\n\tvar $acosh = Math.acosh;\n\t\n\t$export($export.S + $export.F * !($acosh\n\t // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509\n\t && Math.floor($acosh(Number.MAX_VALUE)) == 710\n\t // Tor Browser bug: Math.acosh(Infinity) -> NaN\n\t && $acosh(Infinity) == Infinity\n\t), 'Math', {\n\t acosh: function acosh(x) {\n\t return (x = +x) < 1 ? NaN : x > 94906265.62425156\n\t ? Math.log(x) + Math.LN2\n\t : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));\n\t }\n\t});\n\n\n/***/ },\n/* 103 */\n/***/ function(module, exports) {\n\n\t// 20.2.2.20 Math.log1p(x)\n\tmodule.exports = Math.log1p || function log1p(x) {\n\t return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);\n\t};\n\n\n/***/ },\n/* 104 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 20.2.2.5 Math.asinh(x)\n\tvar $export = __webpack_require__(8);\n\tvar $asinh = Math.asinh;\n\t\n\tfunction asinh(x) {\n\t return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));\n\t}\n\t\n\t// Tor Browser bug: Math.asinh(0) -> -0\n\t$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh });\n\n\n/***/ },\n/* 105 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 20.2.2.7 Math.atanh(x)\n\tvar $export = __webpack_require__(8);\n\tvar $atanh = Math.atanh;\n\t\n\t// Tor Browser bug: Math.atanh(-0) -> 0\n\t$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {\n\t atanh: function atanh(x) {\n\t return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;\n\t }\n\t});\n\n\n/***/ },\n/* 106 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 20.2.2.9 Math.cbrt(x)\n\tvar $export = __webpack_require__(8);\n\tvar sign = __webpack_require__(107);\n\t\n\t$export($export.S, 'Math', {\n\t cbrt: function cbrt(x) {\n\t return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);\n\t }\n\t});\n\n\n/***/ },\n/* 107 */\n/***/ function(module, exports) {\n\n\t// 20.2.2.28 Math.sign(x)\n\tmodule.exports = Math.sign || function sign(x) {\n\t // eslint-disable-next-line no-self-compare\n\t return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n\t};\n\n\n/***/ },\n/* 108 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 20.2.2.11 Math.clz32(x)\n\tvar $export = __webpack_require__(8);\n\t\n\t$export($export.S, 'Math', {\n\t clz32: function clz32(x) {\n\t return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;\n\t }\n\t});\n\n\n/***/ },\n/* 109 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 20.2.2.12 Math.cosh(x)\n\tvar $export = __webpack_require__(8);\n\tvar exp = Math.exp;\n\t\n\t$export($export.S, 'Math', {\n\t cosh: function cosh(x) {\n\t return (exp(x = +x) + exp(-x)) / 2;\n\t }\n\t});\n\n\n/***/ },\n/* 110 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 20.2.2.14 Math.expm1(x)\n\tvar $export = __webpack_require__(8);\n\tvar $expm1 = __webpack_require__(111);\n\t\n\t$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 });\n\n\n/***/ },\n/* 111 */\n/***/ function(module, exports) {\n\n\t// 20.2.2.14 Math.expm1(x)\n\tvar $expm1 = Math.expm1;\n\tmodule.exports = (!$expm1\n\t // Old FF bug\n\t || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168\n\t // Tor Browser bug\n\t || $expm1(-2e-17) != -2e-17\n\t) ? function expm1(x) {\n\t return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;\n\t} : $expm1;\n\n\n/***/ },\n/* 112 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 20.2.2.16 Math.fround(x)\n\tvar $export = __webpack_require__(8);\n\t\n\t$export($export.S, 'Math', { fround: __webpack_require__(113) });\n\n\n/***/ },\n/* 113 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 20.2.2.16 Math.fround(x)\n\tvar sign = __webpack_require__(107);\n\tvar pow = Math.pow;\n\tvar EPSILON = pow(2, -52);\n\tvar EPSILON32 = pow(2, -23);\n\tvar MAX32 = pow(2, 127) * (2 - EPSILON32);\n\tvar MIN32 = pow(2, -126);\n\t\n\tvar roundTiesToEven = function (n) {\n\t return n + 1 / EPSILON - 1 / EPSILON;\n\t};\n\t\n\tmodule.exports = Math.fround || function fround(x) {\n\t var $abs = Math.abs(x);\n\t var $sign = sign(x);\n\t var a, result;\n\t if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;\n\t a = (1 + EPSILON32 / EPSILON) * $abs;\n\t result = a - (a - $abs);\n\t // eslint-disable-next-line no-self-compare\n\t if (result > MAX32 || result != result) return $sign * Infinity;\n\t return $sign * result;\n\t};\n\n\n/***/ },\n/* 114 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])\n\tvar $export = __webpack_require__(8);\n\tvar abs = Math.abs;\n\t\n\t$export($export.S, 'Math', {\n\t hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars\n\t var sum = 0;\n\t var i = 0;\n\t var aLen = arguments.length;\n\t var larg = 0;\n\t var arg, div;\n\t while (i < aLen) {\n\t arg = abs(arguments[i++]);\n\t if (larg < arg) {\n\t div = larg / arg;\n\t sum = sum * div * div + 1;\n\t larg = arg;\n\t } else if (arg > 0) {\n\t div = arg / larg;\n\t sum += div * div;\n\t } else sum += arg;\n\t }\n\t return larg === Infinity ? Infinity : larg * Math.sqrt(sum);\n\t }\n\t});\n\n\n/***/ },\n/* 115 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 20.2.2.18 Math.imul(x, y)\n\tvar $export = __webpack_require__(8);\n\tvar $imul = Math.imul;\n\t\n\t// some WebKit versions fails with big numbers, some has wrong arity\n\t$export($export.S + $export.F * __webpack_require__(7)(function () {\n\t return $imul(0xffffffff, 5) != -5 || $imul.length != 2;\n\t}), 'Math', {\n\t imul: function imul(x, y) {\n\t var UINT16 = 0xffff;\n\t var xn = +x;\n\t var yn = +y;\n\t var xl = UINT16 & xn;\n\t var yl = UINT16 & yn;\n\t return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);\n\t }\n\t});\n\n\n/***/ },\n/* 116 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 20.2.2.21 Math.log10(x)\n\tvar $export = __webpack_require__(8);\n\t\n\t$export($export.S, 'Math', {\n\t log10: function log10(x) {\n\t return Math.log(x) * Math.LOG10E;\n\t }\n\t});\n\n\n/***/ },\n/* 117 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 20.2.2.20 Math.log1p(x)\n\tvar $export = __webpack_require__(8);\n\t\n\t$export($export.S, 'Math', { log1p: __webpack_require__(103) });\n\n\n/***/ },\n/* 118 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 20.2.2.22 Math.log2(x)\n\tvar $export = __webpack_require__(8);\n\t\n\t$export($export.S, 'Math', {\n\t log2: function log2(x) {\n\t return Math.log(x) / Math.LN2;\n\t }\n\t});\n\n\n/***/ },\n/* 119 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 20.2.2.28 Math.sign(x)\n\tvar $export = __webpack_require__(8);\n\t\n\t$export($export.S, 'Math', { sign: __webpack_require__(107) });\n\n\n/***/ },\n/* 120 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 20.2.2.30 Math.sinh(x)\n\tvar $export = __webpack_require__(8);\n\tvar expm1 = __webpack_require__(111);\n\tvar exp = Math.exp;\n\t\n\t// V8 near Chromium 38 has a problem with very small numbers\n\t$export($export.S + $export.F * __webpack_require__(7)(function () {\n\t return !Math.sinh(-2e-17) != -2e-17;\n\t}), 'Math', {\n\t sinh: function sinh(x) {\n\t return Math.abs(x = +x) < 1\n\t ? (expm1(x) - expm1(-x)) / 2\n\t : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);\n\t }\n\t});\n\n\n/***/ },\n/* 121 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 20.2.2.33 Math.tanh(x)\n\tvar $export = __webpack_require__(8);\n\tvar expm1 = __webpack_require__(111);\n\tvar exp = Math.exp;\n\t\n\t$export($export.S, 'Math', {\n\t tanh: function tanh(x) {\n\t var a = expm1(x = +x);\n\t var b = expm1(-x);\n\t return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));\n\t }\n\t});\n\n\n/***/ },\n/* 122 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 20.2.2.34 Math.trunc(x)\n\tvar $export = __webpack_require__(8);\n\t\n\t$export($export.S, 'Math', {\n\t trunc: function trunc(it) {\n\t return (it > 0 ? Math.floor : Math.ceil)(it);\n\t }\n\t});\n\n\n/***/ },\n/* 123 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar $export = __webpack_require__(8);\n\tvar toAbsoluteIndex = __webpack_require__(39);\n\tvar fromCharCode = String.fromCharCode;\n\tvar $fromCodePoint = String.fromCodePoint;\n\t\n\t// length should be 1, old FF problem\n\t$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n\t // 21.1.2.2 String.fromCodePoint(...codePoints)\n\t fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars\n\t var res = [];\n\t var aLen = arguments.length;\n\t var i = 0;\n\t var code;\n\t while (aLen > i) {\n\t code = +arguments[i++];\n\t if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');\n\t res.push(code < 0x10000\n\t ? fromCharCode(code)\n\t : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)\n\t );\n\t } return res.join('');\n\t }\n\t});\n\n\n/***/ },\n/* 124 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar $export = __webpack_require__(8);\n\tvar toIObject = __webpack_require__(32);\n\tvar toLength = __webpack_require__(37);\n\t\n\t$export($export.S, 'String', {\n\t // 21.1.2.4 String.raw(callSite, ...substitutions)\n\t raw: function raw(callSite) {\n\t var tpl = toIObject(callSite.raw);\n\t var len = toLength(tpl.length);\n\t var aLen = arguments.length;\n\t var res = [];\n\t var i = 0;\n\t while (len > i) {\n\t res.push(String(tpl[i++]));\n\t if (i < aLen) res.push(String(arguments[i]));\n\t } return res.join('');\n\t }\n\t});\n\n\n/***/ },\n/* 125 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// 21.1.3.25 String.prototype.trim()\n\t__webpack_require__(82)('trim', function ($trim) {\n\t return function trim() {\n\t return $trim(this, 3);\n\t };\n\t});\n\n\n/***/ },\n/* 126 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $at = __webpack_require__(127)(true);\n\t\n\t// 21.1.3.27 String.prototype[@@iterator]()\n\t__webpack_require__(128)(String, 'String', function (iterated) {\n\t this._t = String(iterated); // target\n\t this._i = 0; // next index\n\t// 21.1.5.2.1 %StringIteratorPrototype%.next()\n\t}, function () {\n\t var O = this._t;\n\t var index = this._i;\n\t var point;\n\t if (index >= O.length) return { value: undefined, done: true };\n\t point = $at(O, index);\n\t this._i += point.length;\n\t return { value: point, done: false };\n\t});\n\n\n/***/ },\n/* 127 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar toInteger = __webpack_require__(38);\n\tvar defined = __webpack_require__(35);\n\t// true -> String#at\n\t// false -> String#codePointAt\n\tmodule.exports = function (TO_STRING) {\n\t return function (that, pos) {\n\t var s = String(defined(that));\n\t var i = toInteger(pos);\n\t var l = s.length;\n\t var a, b;\n\t if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n\t a = s.charCodeAt(i);\n\t return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n\t ? TO_STRING ? s.charAt(i) : a\n\t : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n\t };\n\t};\n\n\n/***/ },\n/* 128 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar LIBRARY = __webpack_require__(24);\n\tvar $export = __webpack_require__(8);\n\tvar redefine = __webpack_require__(18);\n\tvar hide = __webpack_require__(10);\n\tvar Iterators = __webpack_require__(129);\n\tvar $iterCreate = __webpack_require__(130);\n\tvar setToStringTag = __webpack_require__(25);\n\tvar getPrototypeOf = __webpack_require__(58);\n\tvar ITERATOR = __webpack_require__(26)('iterator');\n\tvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\n\tvar FF_ITERATOR = '@@iterator';\n\tvar KEYS = 'keys';\n\tvar VALUES = 'values';\n\t\n\tvar returnThis = function () { return this; };\n\t\n\tmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n\t $iterCreate(Constructor, NAME, next);\n\t var getMethod = function (kind) {\n\t if (!BUGGY && kind in proto) return proto[kind];\n\t switch (kind) {\n\t case KEYS: return function keys() { return new Constructor(this, kind); };\n\t case VALUES: return function values() { return new Constructor(this, kind); };\n\t } return function entries() { return new Constructor(this, kind); };\n\t };\n\t var TAG = NAME + ' Iterator';\n\t var DEF_VALUES = DEFAULT == VALUES;\n\t var VALUES_BUG = false;\n\t var proto = Base.prototype;\n\t var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n\t var $default = $native || getMethod(DEFAULT);\n\t var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n\t var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n\t var methods, key, IteratorPrototype;\n\t // Fix native\n\t if ($anyNative) {\n\t IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n\t if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n\t // Set @@toStringTag to native iterators\n\t setToStringTag(IteratorPrototype, TAG, true);\n\t // fix for some old engines\n\t if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n\t }\n\t }\n\t // fix Array#{values, @@iterator}.name in V8 / FF\n\t if (DEF_VALUES && $native && $native.name !== VALUES) {\n\t VALUES_BUG = true;\n\t $default = function values() { return $native.call(this); };\n\t }\n\t // Define iterator\n\t if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n\t hide(proto, ITERATOR, $default);\n\t }\n\t // Plug for library\n\t Iterators[NAME] = $default;\n\t Iterators[TAG] = returnThis;\n\t if (DEFAULT) {\n\t methods = {\n\t values: DEF_VALUES ? $default : getMethod(VALUES),\n\t keys: IS_SET ? $default : getMethod(KEYS),\n\t entries: $entries\n\t };\n\t if (FORCED) for (key in methods) {\n\t if (!(key in proto)) redefine(proto, key, methods[key]);\n\t } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n\t }\n\t return methods;\n\t};\n\n\n/***/ },\n/* 129 */\n/***/ function(module, exports) {\n\n\tmodule.exports = {};\n\n\n/***/ },\n/* 130 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar create = __webpack_require__(45);\n\tvar descriptor = __webpack_require__(17);\n\tvar setToStringTag = __webpack_require__(25);\n\tvar IteratorPrototype = {};\n\t\n\t// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n\t__webpack_require__(10)(IteratorPrototype, __webpack_require__(26)('iterator'), function () { return this; });\n\t\n\tmodule.exports = function (Constructor, NAME, next) {\n\t Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n\t setToStringTag(Constructor, NAME + ' Iterator');\n\t};\n\n\n/***/ },\n/* 131 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $export = __webpack_require__(8);\n\tvar $at = __webpack_require__(127)(false);\n\t$export($export.P, 'String', {\n\t // 21.1.3.3 String.prototype.codePointAt(pos)\n\t codePointAt: function codePointAt(pos) {\n\t return $at(this, pos);\n\t }\n\t});\n\n\n/***/ },\n/* 132 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n\t'use strict';\n\tvar $export = __webpack_require__(8);\n\tvar toLength = __webpack_require__(37);\n\tvar context = __webpack_require__(133);\n\tvar ENDS_WITH = 'endsWith';\n\tvar $endsWith = ''[ENDS_WITH];\n\t\n\t$export($export.P + $export.F * __webpack_require__(135)(ENDS_WITH), 'String', {\n\t endsWith: function endsWith(searchString /* , endPosition = @length */) {\n\t var that = context(this, searchString, ENDS_WITH);\n\t var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n\t var len = toLength(that.length);\n\t var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);\n\t var search = String(searchString);\n\t return $endsWith\n\t ? $endsWith.call(that, search, end)\n\t : that.slice(end - search.length, end) === search;\n\t }\n\t});\n\n\n/***/ },\n/* 133 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// helper for String#{startsWith, endsWith, includes}\n\tvar isRegExp = __webpack_require__(134);\n\tvar defined = __webpack_require__(35);\n\t\n\tmodule.exports = function (that, searchString, NAME) {\n\t if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n\t return String(defined(that));\n\t};\n\n\n/***/ },\n/* 134 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 7.2.8 IsRegExp(argument)\n\tvar isObject = __webpack_require__(13);\n\tvar cof = __webpack_require__(34);\n\tvar MATCH = __webpack_require__(26)('match');\n\tmodule.exports = function (it) {\n\t var isRegExp;\n\t return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n\t};\n\n\n/***/ },\n/* 135 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar MATCH = __webpack_require__(26)('match');\n\tmodule.exports = function (KEY) {\n\t var re = /./;\n\t try {\n\t '/./'[KEY](re);\n\t } catch (e) {\n\t try {\n\t re[MATCH] = false;\n\t return !'/./'[KEY](re);\n\t } catch (f) { /* empty */ }\n\t } return true;\n\t};\n\n\n/***/ },\n/* 136 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n\t'use strict';\n\tvar $export = __webpack_require__(8);\n\tvar context = __webpack_require__(133);\n\tvar INCLUDES = 'includes';\n\t\n\t$export($export.P + $export.F * __webpack_require__(135)(INCLUDES), 'String', {\n\t includes: function includes(searchString /* , position = 0 */) {\n\t return !!~context(this, searchString, INCLUDES)\n\t .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n\t }\n\t});\n\n\n/***/ },\n/* 137 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar $export = __webpack_require__(8);\n\t\n\t$export($export.P, 'String', {\n\t // 21.1.3.13 String.prototype.repeat(count)\n\t repeat: __webpack_require__(90)\n\t});\n\n\n/***/ },\n/* 138 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n\t'use strict';\n\tvar $export = __webpack_require__(8);\n\tvar toLength = __webpack_require__(37);\n\tvar context = __webpack_require__(133);\n\tvar STARTS_WITH = 'startsWith';\n\tvar $startsWith = ''[STARTS_WITH];\n\t\n\t$export($export.P + $export.F * __webpack_require__(135)(STARTS_WITH), 'String', {\n\t startsWith: function startsWith(searchString /* , position = 0 */) {\n\t var that = context(this, searchString, STARTS_WITH);\n\t var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n\t var search = String(searchString);\n\t return $startsWith\n\t ? $startsWith.call(that, search, index)\n\t : that.slice(index, index + search.length) === search;\n\t }\n\t});\n\n\n/***/ },\n/* 139 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// B.2.3.2 String.prototype.anchor(name)\n\t__webpack_require__(140)('anchor', function (createHTML) {\n\t return function anchor(name) {\n\t return createHTML(this, 'a', 'name', name);\n\t };\n\t});\n\n\n/***/ },\n/* 140 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar $export = __webpack_require__(8);\n\tvar fails = __webpack_require__(7);\n\tvar defined = __webpack_require__(35);\n\tvar quot = /\"/g;\n\t// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\n\tvar createHTML = function (string, tag, attribute, value) {\n\t var S = String(defined(string));\n\t var p1 = '<' + tag;\n\t if (attribute !== '') p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '"') + '\"';\n\t return p1 + '>' + S + '';\n\t};\n\tmodule.exports = function (NAME, exec) {\n\t var O = {};\n\t O[NAME] = exec(createHTML);\n\t $export($export.P + $export.F * fails(function () {\n\t var test = ''[NAME]('\"');\n\t return test !== test.toLowerCase() || test.split('\"').length > 3;\n\t }), 'String', O);\n\t};\n\n\n/***/ },\n/* 141 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// B.2.3.3 String.prototype.big()\n\t__webpack_require__(140)('big', function (createHTML) {\n\t return function big() {\n\t return createHTML(this, 'big', '', '');\n\t };\n\t});\n\n\n/***/ },\n/* 142 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// B.2.3.4 String.prototype.blink()\n\t__webpack_require__(140)('blink', function (createHTML) {\n\t return function blink() {\n\t return createHTML(this, 'blink', '', '');\n\t };\n\t});\n\n\n/***/ },\n/* 143 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// B.2.3.5 String.prototype.bold()\n\t__webpack_require__(140)('bold', function (createHTML) {\n\t return function bold() {\n\t return createHTML(this, 'b', '', '');\n\t };\n\t});\n\n\n/***/ },\n/* 144 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// B.2.3.6 String.prototype.fixed()\n\t__webpack_require__(140)('fixed', function (createHTML) {\n\t return function fixed() {\n\t return createHTML(this, 'tt', '', '');\n\t };\n\t});\n\n\n/***/ },\n/* 145 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// B.2.3.7 String.prototype.fontcolor(color)\n\t__webpack_require__(140)('fontcolor', function (createHTML) {\n\t return function fontcolor(color) {\n\t return createHTML(this, 'font', 'color', color);\n\t };\n\t});\n\n\n/***/ },\n/* 146 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// B.2.3.8 String.prototype.fontsize(size)\n\t__webpack_require__(140)('fontsize', function (createHTML) {\n\t return function fontsize(size) {\n\t return createHTML(this, 'font', 'size', size);\n\t };\n\t});\n\n\n/***/ },\n/* 147 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// B.2.3.9 String.prototype.italics()\n\t__webpack_require__(140)('italics', function (createHTML) {\n\t return function italics() {\n\t return createHTML(this, 'i', '', '');\n\t };\n\t});\n\n\n/***/ },\n/* 148 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// B.2.3.10 String.prototype.link(url)\n\t__webpack_require__(140)('link', function (createHTML) {\n\t return function link(url) {\n\t return createHTML(this, 'a', 'href', url);\n\t };\n\t});\n\n\n/***/ },\n/* 149 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// B.2.3.11 String.prototype.small()\n\t__webpack_require__(140)('small', function (createHTML) {\n\t return function small() {\n\t return createHTML(this, 'small', '', '');\n\t };\n\t});\n\n\n/***/ },\n/* 150 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// B.2.3.12 String.prototype.strike()\n\t__webpack_require__(140)('strike', function (createHTML) {\n\t return function strike() {\n\t return createHTML(this, 'strike', '', '');\n\t };\n\t});\n\n\n/***/ },\n/* 151 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// B.2.3.13 String.prototype.sub()\n\t__webpack_require__(140)('sub', function (createHTML) {\n\t return function sub() {\n\t return createHTML(this, 'sub', '', '');\n\t };\n\t});\n\n\n/***/ },\n/* 152 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// B.2.3.14 String.prototype.sup()\n\t__webpack_require__(140)('sup', function (createHTML) {\n\t return function sup() {\n\t return createHTML(this, 'sup', '', '');\n\t };\n\t});\n\n\n/***/ },\n/* 153 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 20.3.3.1 / 15.9.4.4 Date.now()\n\tvar $export = __webpack_require__(8);\n\t\n\t$export($export.S, 'Date', { now: function () { return new Date().getTime(); } });\n\n\n/***/ },\n/* 154 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $export = __webpack_require__(8);\n\tvar toObject = __webpack_require__(57);\n\tvar toPrimitive = __webpack_require__(16);\n\t\n\t$export($export.P + $export.F * __webpack_require__(7)(function () {\n\t return new Date(NaN).toJSON() !== null\n\t || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1;\n\t}), 'Date', {\n\t // eslint-disable-next-line no-unused-vars\n\t toJSON: function toJSON(key) {\n\t var O = toObject(this);\n\t var pv = toPrimitive(O);\n\t return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();\n\t }\n\t});\n\n\n/***/ },\n/* 155 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\n\tvar $export = __webpack_require__(8);\n\tvar toISOString = __webpack_require__(156);\n\t\n\t// PhantomJS / old WebKit has a broken implementations\n\t$export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', {\n\t toISOString: toISOString\n\t});\n\n\n/***/ },\n/* 156 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\n\tvar fails = __webpack_require__(7);\n\tvar getTime = Date.prototype.getTime;\n\tvar $toISOString = Date.prototype.toISOString;\n\t\n\tvar lz = function (num) {\n\t return num > 9 ? num : '0' + num;\n\t};\n\t\n\t// PhantomJS / old WebKit has a broken implementations\n\tmodule.exports = (fails(function () {\n\t return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';\n\t}) || !fails(function () {\n\t $toISOString.call(new Date(NaN));\n\t})) ? function toISOString() {\n\t if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value');\n\t var d = this;\n\t var y = d.getUTCFullYear();\n\t var m = d.getUTCMilliseconds();\n\t var s = y < 0 ? '-' : y > 9999 ? '+' : '';\n\t return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +\n\t '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +\n\t 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +\n\t ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';\n\t} : $toISOString;\n\n\n/***/ },\n/* 157 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar DateProto = Date.prototype;\n\tvar INVALID_DATE = 'Invalid Date';\n\tvar TO_STRING = 'toString';\n\tvar $toString = DateProto[TO_STRING];\n\tvar getTime = DateProto.getTime;\n\tif (new Date(NaN) + '' != INVALID_DATE) {\n\t __webpack_require__(18)(DateProto, TO_STRING, function toString() {\n\t var value = getTime.call(this);\n\t // eslint-disable-next-line no-self-compare\n\t return value === value ? $toString.call(this) : INVALID_DATE;\n\t });\n\t}\n\n\n/***/ },\n/* 158 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar TO_PRIMITIVE = __webpack_require__(26)('toPrimitive');\n\tvar proto = Date.prototype;\n\t\n\tif (!(TO_PRIMITIVE in proto)) __webpack_require__(10)(proto, TO_PRIMITIVE, __webpack_require__(159));\n\n\n/***/ },\n/* 159 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar anObject = __webpack_require__(12);\n\tvar toPrimitive = __webpack_require__(16);\n\tvar NUMBER = 'number';\n\t\n\tmodule.exports = function (hint) {\n\t if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw TypeError('Incorrect hint');\n\t return toPrimitive(anObject(this), hint != NUMBER);\n\t};\n\n\n/***/ },\n/* 160 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\n\tvar $export = __webpack_require__(8);\n\t\n\t$export($export.S, 'Array', { isArray: __webpack_require__(44) });\n\n\n/***/ },\n/* 161 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar ctx = __webpack_require__(20);\n\tvar $export = __webpack_require__(8);\n\tvar toObject = __webpack_require__(57);\n\tvar call = __webpack_require__(162);\n\tvar isArrayIter = __webpack_require__(163);\n\tvar toLength = __webpack_require__(37);\n\tvar createProperty = __webpack_require__(164);\n\tvar getIterFn = __webpack_require__(165);\n\t\n\t$export($export.S + $export.F * !__webpack_require__(166)(function (iter) { Array.from(iter); }), 'Array', {\n\t // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n\t from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n\t var O = toObject(arrayLike);\n\t var C = typeof this == 'function' ? this : Array;\n\t var aLen = arguments.length;\n\t var mapfn = aLen > 1 ? arguments[1] : undefined;\n\t var mapping = mapfn !== undefined;\n\t var index = 0;\n\t var iterFn = getIterFn(O);\n\t var length, result, step, iterator;\n\t if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n\t // if object isn't iterable or it's array with default iterator - use simple case\n\t if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n\t for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n\t createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n\t }\n\t } else {\n\t length = toLength(O.length);\n\t for (result = new C(length); length > index; index++) {\n\t createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n\t }\n\t }\n\t result.length = index;\n\t return result;\n\t }\n\t});\n\n\n/***/ },\n/* 162 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// call something on iterator step with safe closing on error\n\tvar anObject = __webpack_require__(12);\n\tmodule.exports = function (iterator, fn, value, entries) {\n\t try {\n\t return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n\t // 7.4.6 IteratorClose(iterator, completion)\n\t } catch (e) {\n\t var ret = iterator['return'];\n\t if (ret !== undefined) anObject(ret.call(iterator));\n\t throw e;\n\t }\n\t};\n\n\n/***/ },\n/* 163 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// check on default Array iterator\n\tvar Iterators = __webpack_require__(129);\n\tvar ITERATOR = __webpack_require__(26)('iterator');\n\tvar ArrayProto = Array.prototype;\n\t\n\tmodule.exports = function (it) {\n\t return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n\t};\n\n\n/***/ },\n/* 164 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $defineProperty = __webpack_require__(11);\n\tvar createDesc = __webpack_require__(17);\n\t\n\tmodule.exports = function (object, index, value) {\n\t if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n\t else object[index] = value;\n\t};\n\n\n/***/ },\n/* 165 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar classof = __webpack_require__(74);\n\tvar ITERATOR = __webpack_require__(26)('iterator');\n\tvar Iterators = __webpack_require__(129);\n\tmodule.exports = __webpack_require__(9).getIteratorMethod = function (it) {\n\t if (it != undefined) return it[ITERATOR]\n\t || it['@@iterator']\n\t || Iterators[classof(it)];\n\t};\n\n\n/***/ },\n/* 166 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar ITERATOR = __webpack_require__(26)('iterator');\n\tvar SAFE_CLOSING = false;\n\t\n\ttry {\n\t var riter = [7][ITERATOR]();\n\t riter['return'] = function () { SAFE_CLOSING = true; };\n\t // eslint-disable-next-line no-throw-literal\n\t Array.from(riter, function () { throw 2; });\n\t} catch (e) { /* empty */ }\n\t\n\tmodule.exports = function (exec, skipClosing) {\n\t if (!skipClosing && !SAFE_CLOSING) return false;\n\t var safe = false;\n\t try {\n\t var arr = [7];\n\t var iter = arr[ITERATOR]();\n\t iter.next = function () { return { done: safe = true }; };\n\t arr[ITERATOR] = function () { return iter; };\n\t exec(arr);\n\t } catch (e) { /* empty */ }\n\t return safe;\n\t};\n\n\n/***/ },\n/* 167 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $export = __webpack_require__(8);\n\tvar createProperty = __webpack_require__(164);\n\t\n\t// WebKit Array.of isn't generic\n\t$export($export.S + $export.F * __webpack_require__(7)(function () {\n\t function F() { /* empty */ }\n\t return !(Array.of.call(F) instanceof F);\n\t}), 'Array', {\n\t // 22.1.2.3 Array.of( ...items)\n\t of: function of(/* ...args */) {\n\t var index = 0;\n\t var aLen = arguments.length;\n\t var result = new (typeof this == 'function' ? this : Array)(aLen);\n\t while (aLen > index) createProperty(result, index, arguments[index++]);\n\t result.length = aLen;\n\t return result;\n\t }\n\t});\n\n\n/***/ },\n/* 168 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// 22.1.3.13 Array.prototype.join(separator)\n\tvar $export = __webpack_require__(8);\n\tvar toIObject = __webpack_require__(32);\n\tvar arrayJoin = [].join;\n\t\n\t// fallback for not array-like strings\n\t$export($export.P + $export.F * (__webpack_require__(33) != Object || !__webpack_require__(169)(arrayJoin)), 'Array', {\n\t join: function join(separator) {\n\t return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);\n\t }\n\t});\n\n\n/***/ },\n/* 169 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar fails = __webpack_require__(7);\n\t\n\tmodule.exports = function (method, arg) {\n\t return !!method && fails(function () {\n\t // eslint-disable-next-line no-useless-call\n\t arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null);\n\t });\n\t};\n\n\n/***/ },\n/* 170 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $export = __webpack_require__(8);\n\tvar html = __webpack_require__(47);\n\tvar cof = __webpack_require__(34);\n\tvar toAbsoluteIndex = __webpack_require__(39);\n\tvar toLength = __webpack_require__(37);\n\tvar arraySlice = [].slice;\n\t\n\t// fallback for not array-like ES3 strings and DOM objects\n\t$export($export.P + $export.F * __webpack_require__(7)(function () {\n\t if (html) arraySlice.call(html);\n\t}), 'Array', {\n\t slice: function slice(begin, end) {\n\t var len = toLength(this.length);\n\t var klass = cof(this);\n\t end = end === undefined ? len : end;\n\t if (klass == 'Array') return arraySlice.call(this, begin, end);\n\t var start = toAbsoluteIndex(begin, len);\n\t var upTo = toAbsoluteIndex(end, len);\n\t var size = toLength(upTo - start);\n\t var cloned = new Array(size);\n\t var i = 0;\n\t for (; i < size; i++) cloned[i] = klass == 'String'\n\t ? this.charAt(start + i)\n\t : this[start + i];\n\t return cloned;\n\t }\n\t});\n\n\n/***/ },\n/* 171 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $export = __webpack_require__(8);\n\tvar aFunction = __webpack_require__(21);\n\tvar toObject = __webpack_require__(57);\n\tvar fails = __webpack_require__(7);\n\tvar $sort = [].sort;\n\tvar test = [1, 2, 3];\n\t\n\t$export($export.P + $export.F * (fails(function () {\n\t // IE8-\n\t test.sort(undefined);\n\t}) || !fails(function () {\n\t // V8 bug\n\t test.sort(null);\n\t // Old WebKit\n\t}) || !__webpack_require__(169)($sort)), 'Array', {\n\t // 22.1.3.25 Array.prototype.sort(comparefn)\n\t sort: function sort(comparefn) {\n\t return comparefn === undefined\n\t ? $sort.call(toObject(this))\n\t : $sort.call(toObject(this), aFunction(comparefn));\n\t }\n\t});\n\n\n/***/ },\n/* 172 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $export = __webpack_require__(8);\n\tvar $forEach = __webpack_require__(173)(0);\n\tvar STRICT = __webpack_require__(169)([].forEach, true);\n\t\n\t$export($export.P + $export.F * !STRICT, 'Array', {\n\t // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])\n\t forEach: function forEach(callbackfn /* , thisArg */) {\n\t return $forEach(this, callbackfn, arguments[1]);\n\t }\n\t});\n\n\n/***/ },\n/* 173 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 0 -> Array#forEach\n\t// 1 -> Array#map\n\t// 2 -> Array#filter\n\t// 3 -> Array#some\n\t// 4 -> Array#every\n\t// 5 -> Array#find\n\t// 6 -> Array#findIndex\n\tvar ctx = __webpack_require__(20);\n\tvar IObject = __webpack_require__(33);\n\tvar toObject = __webpack_require__(57);\n\tvar toLength = __webpack_require__(37);\n\tvar asc = __webpack_require__(174);\n\tmodule.exports = function (TYPE, $create) {\n\t var IS_MAP = TYPE == 1;\n\t var IS_FILTER = TYPE == 2;\n\t var IS_SOME = TYPE == 3;\n\t var IS_EVERY = TYPE == 4;\n\t var IS_FIND_INDEX = TYPE == 6;\n\t var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n\t var create = $create || asc;\n\t return function ($this, callbackfn, that) {\n\t var O = toObject($this);\n\t var self = IObject(O);\n\t var f = ctx(callbackfn, that, 3);\n\t var length = toLength(self.length);\n\t var index = 0;\n\t var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n\t var val, res;\n\t for (;length > index; index++) if (NO_HOLES || index in self) {\n\t val = self[index];\n\t res = f(val, index, O);\n\t if (TYPE) {\n\t if (IS_MAP) result[index] = res; // map\n\t else if (res) switch (TYPE) {\n\t case 3: return true; // some\n\t case 5: return val; // find\n\t case 6: return index; // findIndex\n\t case 2: result.push(val); // filter\n\t } else if (IS_EVERY) return false; // every\n\t }\n\t }\n\t return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n\t };\n\t};\n\n\n/***/ },\n/* 174 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\n\tvar speciesConstructor = __webpack_require__(175);\n\t\n\tmodule.exports = function (original, length) {\n\t return new (speciesConstructor(original))(length);\n\t};\n\n\n/***/ },\n/* 175 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(13);\n\tvar isArray = __webpack_require__(44);\n\tvar SPECIES = __webpack_require__(26)('species');\n\t\n\tmodule.exports = function (original) {\n\t var C;\n\t if (isArray(original)) {\n\t C = original.constructor;\n\t // cross-realm fallback\n\t if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n\t if (isObject(C)) {\n\t C = C[SPECIES];\n\t if (C === null) C = undefined;\n\t }\n\t } return C === undefined ? Array : C;\n\t};\n\n\n/***/ },\n/* 176 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $export = __webpack_require__(8);\n\tvar $map = __webpack_require__(173)(1);\n\t\n\t$export($export.P + $export.F * !__webpack_require__(169)([].map, true), 'Array', {\n\t // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])\n\t map: function map(callbackfn /* , thisArg */) {\n\t return $map(this, callbackfn, arguments[1]);\n\t }\n\t});\n\n\n/***/ },\n/* 177 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $export = __webpack_require__(8);\n\tvar $filter = __webpack_require__(173)(2);\n\t\n\t$export($export.P + $export.F * !__webpack_require__(169)([].filter, true), 'Array', {\n\t // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])\n\t filter: function filter(callbackfn /* , thisArg */) {\n\t return $filter(this, callbackfn, arguments[1]);\n\t }\n\t});\n\n\n/***/ },\n/* 178 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $export = __webpack_require__(8);\n\tvar $some = __webpack_require__(173)(3);\n\t\n\t$export($export.P + $export.F * !__webpack_require__(169)([].some, true), 'Array', {\n\t // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])\n\t some: function some(callbackfn /* , thisArg */) {\n\t return $some(this, callbackfn, arguments[1]);\n\t }\n\t});\n\n\n/***/ },\n/* 179 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $export = __webpack_require__(8);\n\tvar $every = __webpack_require__(173)(4);\n\t\n\t$export($export.P + $export.F * !__webpack_require__(169)([].every, true), 'Array', {\n\t // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])\n\t every: function every(callbackfn /* , thisArg */) {\n\t return $every(this, callbackfn, arguments[1]);\n\t }\n\t});\n\n\n/***/ },\n/* 180 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $export = __webpack_require__(8);\n\tvar $reduce = __webpack_require__(181);\n\t\n\t$export($export.P + $export.F * !__webpack_require__(169)([].reduce, true), 'Array', {\n\t // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])\n\t reduce: function reduce(callbackfn /* , initialValue */) {\n\t return $reduce(this, callbackfn, arguments.length, arguments[1], false);\n\t }\n\t});\n\n\n/***/ },\n/* 181 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar aFunction = __webpack_require__(21);\n\tvar toObject = __webpack_require__(57);\n\tvar IObject = __webpack_require__(33);\n\tvar toLength = __webpack_require__(37);\n\t\n\tmodule.exports = function (that, callbackfn, aLen, memo, isRight) {\n\t aFunction(callbackfn);\n\t var O = toObject(that);\n\t var self = IObject(O);\n\t var length = toLength(O.length);\n\t var index = isRight ? length - 1 : 0;\n\t var i = isRight ? -1 : 1;\n\t if (aLen < 2) for (;;) {\n\t if (index in self) {\n\t memo = self[index];\n\t index += i;\n\t break;\n\t }\n\t index += i;\n\t if (isRight ? index < 0 : length <= index) {\n\t throw TypeError('Reduce of empty array with no initial value');\n\t }\n\t }\n\t for (;isRight ? index >= 0 : length > index; index += i) if (index in self) {\n\t memo = callbackfn(memo, self[index], index, O);\n\t }\n\t return memo;\n\t};\n\n\n/***/ },\n/* 182 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $export = __webpack_require__(8);\n\tvar $reduce = __webpack_require__(181);\n\t\n\t$export($export.P + $export.F * !__webpack_require__(169)([].reduceRight, true), 'Array', {\n\t // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])\n\t reduceRight: function reduceRight(callbackfn /* , initialValue */) {\n\t return $reduce(this, callbackfn, arguments.length, arguments[1], true);\n\t }\n\t});\n\n\n/***/ },\n/* 183 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $export = __webpack_require__(8);\n\tvar $indexOf = __webpack_require__(36)(false);\n\tvar $native = [].indexOf;\n\tvar NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;\n\t\n\t$export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(169)($native)), 'Array', {\n\t // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])\n\t indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n\t return NEGATIVE_ZERO\n\t // convert -0 to +0\n\t ? $native.apply(this, arguments) || 0\n\t : $indexOf(this, searchElement, arguments[1]);\n\t }\n\t});\n\n\n/***/ },\n/* 184 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $export = __webpack_require__(8);\n\tvar toIObject = __webpack_require__(32);\n\tvar toInteger = __webpack_require__(38);\n\tvar toLength = __webpack_require__(37);\n\tvar $native = [].lastIndexOf;\n\tvar NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;\n\t\n\t$export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(169)($native)), 'Array', {\n\t // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])\n\t lastIndexOf: function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n\t // convert -0 to +0\n\t if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0;\n\t var O = toIObject(this);\n\t var length = toLength(O.length);\n\t var index = length - 1;\n\t if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1]));\n\t if (index < 0) index = length + index;\n\t for (;index >= 0; index--) if (index in O) if (O[index] === searchElement) return index || 0;\n\t return -1;\n\t }\n\t});\n\n\n/***/ },\n/* 185 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n\tvar $export = __webpack_require__(8);\n\t\n\t$export($export.P, 'Array', { copyWithin: __webpack_require__(186) });\n\t\n\t__webpack_require__(187)('copyWithin');\n\n\n/***/ },\n/* 186 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n\t'use strict';\n\tvar toObject = __webpack_require__(57);\n\tvar toAbsoluteIndex = __webpack_require__(39);\n\tvar toLength = __webpack_require__(37);\n\t\n\tmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n\t var O = toObject(this);\n\t var len = toLength(O.length);\n\t var to = toAbsoluteIndex(target, len);\n\t var from = toAbsoluteIndex(start, len);\n\t var end = arguments.length > 2 ? arguments[2] : undefined;\n\t var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n\t var inc = 1;\n\t if (from < to && to < from + count) {\n\t inc = -1;\n\t from += count - 1;\n\t to += count - 1;\n\t }\n\t while (count-- > 0) {\n\t if (from in O) O[to] = O[from];\n\t else delete O[to];\n\t to += inc;\n\t from += inc;\n\t } return O;\n\t};\n\n\n/***/ },\n/* 187 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 22.1.3.31 Array.prototype[@@unscopables]\n\tvar UNSCOPABLES = __webpack_require__(26)('unscopables');\n\tvar ArrayProto = Array.prototype;\n\tif (ArrayProto[UNSCOPABLES] == undefined) __webpack_require__(10)(ArrayProto, UNSCOPABLES, {});\n\tmodule.exports = function (key) {\n\t ArrayProto[UNSCOPABLES][key] = true;\n\t};\n\n\n/***/ },\n/* 188 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n\tvar $export = __webpack_require__(8);\n\t\n\t$export($export.P, 'Array', { fill: __webpack_require__(189) });\n\t\n\t__webpack_require__(187)('fill');\n\n\n/***/ },\n/* 189 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n\t'use strict';\n\tvar toObject = __webpack_require__(57);\n\tvar toAbsoluteIndex = __webpack_require__(39);\n\tvar toLength = __webpack_require__(37);\n\tmodule.exports = function fill(value /* , start = 0, end = @length */) {\n\t var O = toObject(this);\n\t var length = toLength(O.length);\n\t var aLen = arguments.length;\n\t var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length);\n\t var end = aLen > 2 ? arguments[2] : undefined;\n\t var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n\t while (endPos > index) O[index++] = value;\n\t return O;\n\t};\n\n\n/***/ },\n/* 190 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\n\tvar $export = __webpack_require__(8);\n\tvar $find = __webpack_require__(173)(5);\n\tvar KEY = 'find';\n\tvar forced = true;\n\t// Shouldn't skip holes\n\tif (KEY in []) Array(1)[KEY](function () { forced = false; });\n\t$export($export.P + $export.F * forced, 'Array', {\n\t find: function find(callbackfn /* , that = undefined */) {\n\t return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n\t }\n\t});\n\t__webpack_require__(187)(KEY);\n\n\n/***/ },\n/* 191 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\n\tvar $export = __webpack_require__(8);\n\tvar $find = __webpack_require__(173)(6);\n\tvar KEY = 'findIndex';\n\tvar forced = true;\n\t// Shouldn't skip holes\n\tif (KEY in []) Array(1)[KEY](function () { forced = false; });\n\t$export($export.P + $export.F * forced, 'Array', {\n\t findIndex: function findIndex(callbackfn /* , that = undefined */) {\n\t return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n\t }\n\t});\n\t__webpack_require__(187)(KEY);\n\n\n/***/ },\n/* 192 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(193)('Array');\n\n\n/***/ },\n/* 193 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar global = __webpack_require__(4);\n\tvar dP = __webpack_require__(11);\n\tvar DESCRIPTORS = __webpack_require__(6);\n\tvar SPECIES = __webpack_require__(26)('species');\n\t\n\tmodule.exports = function (KEY) {\n\t var C = global[KEY];\n\t if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n\t configurable: true,\n\t get: function () { return this; }\n\t });\n\t};\n\n\n/***/ },\n/* 194 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar addToUnscopables = __webpack_require__(187);\n\tvar step = __webpack_require__(195);\n\tvar Iterators = __webpack_require__(129);\n\tvar toIObject = __webpack_require__(32);\n\t\n\t// 22.1.3.4 Array.prototype.entries()\n\t// 22.1.3.13 Array.prototype.keys()\n\t// 22.1.3.29 Array.prototype.values()\n\t// 22.1.3.30 Array.prototype[@@iterator]()\n\tmodule.exports = __webpack_require__(128)(Array, 'Array', function (iterated, kind) {\n\t this._t = toIObject(iterated); // target\n\t this._i = 0; // next index\n\t this._k = kind; // kind\n\t// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n\t}, function () {\n\t var O = this._t;\n\t var kind = this._k;\n\t var index = this._i++;\n\t if (!O || index >= O.length) {\n\t this._t = undefined;\n\t return step(1);\n\t }\n\t if (kind == 'keys') return step(0, index);\n\t if (kind == 'values') return step(0, O[index]);\n\t return step(0, [index, O[index]]);\n\t}, 'values');\n\t\n\t// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\n\tIterators.Arguments = Iterators.Array;\n\t\n\taddToUnscopables('keys');\n\taddToUnscopables('values');\n\taddToUnscopables('entries');\n\n\n/***/ },\n/* 195 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function (done, value) {\n\t return { value: value, done: !!done };\n\t};\n\n\n/***/ },\n/* 196 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar global = __webpack_require__(4);\n\tvar inheritIfRequired = __webpack_require__(87);\n\tvar dP = __webpack_require__(11).f;\n\tvar gOPN = __webpack_require__(49).f;\n\tvar isRegExp = __webpack_require__(134);\n\tvar $flags = __webpack_require__(197);\n\tvar $RegExp = global.RegExp;\n\tvar Base = $RegExp;\n\tvar proto = $RegExp.prototype;\n\tvar re1 = /a/g;\n\tvar re2 = /a/g;\n\t// \"new\" creates a new object, old webkit buggy here\n\tvar CORRECT_NEW = new $RegExp(re1) !== re1;\n\t\n\tif (__webpack_require__(6) && (!CORRECT_NEW || __webpack_require__(7)(function () {\n\t re2[__webpack_require__(26)('match')] = false;\n\t // RegExp constructor can alter flags and IsRegExp works correct with @@match\n\t return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';\n\t}))) {\n\t $RegExp = function RegExp(p, f) {\n\t var tiRE = this instanceof $RegExp;\n\t var piRE = isRegExp(p);\n\t var fiU = f === undefined;\n\t return !tiRE && piRE && p.constructor === $RegExp && fiU ? p\n\t : inheritIfRequired(CORRECT_NEW\n\t ? new Base(piRE && !fiU ? p.source : p, f)\n\t : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)\n\t , tiRE ? this : proto, $RegExp);\n\t };\n\t var proxy = function (key) {\n\t key in $RegExp || dP($RegExp, key, {\n\t configurable: true,\n\t get: function () { return Base[key]; },\n\t set: function (it) { Base[key] = it; }\n\t });\n\t };\n\t for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]);\n\t proto.constructor = $RegExp;\n\t $RegExp.prototype = proto;\n\t __webpack_require__(18)(global, 'RegExp', $RegExp);\n\t}\n\t\n\t__webpack_require__(193)('RegExp');\n\n\n/***/ },\n/* 197 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// 21.2.5.3 get RegExp.prototype.flags\n\tvar anObject = __webpack_require__(12);\n\tmodule.exports = function () {\n\t var that = anObject(this);\n\t var result = '';\n\t if (that.global) result += 'g';\n\t if (that.ignoreCase) result += 'i';\n\t if (that.multiline) result += 'm';\n\t if (that.unicode) result += 'u';\n\t if (that.sticky) result += 'y';\n\t return result;\n\t};\n\n\n/***/ },\n/* 198 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t__webpack_require__(199);\n\tvar anObject = __webpack_require__(12);\n\tvar $flags = __webpack_require__(197);\n\tvar DESCRIPTORS = __webpack_require__(6);\n\tvar TO_STRING = 'toString';\n\tvar $toString = /./[TO_STRING];\n\t\n\tvar define = function (fn) {\n\t __webpack_require__(18)(RegExp.prototype, TO_STRING, fn, true);\n\t};\n\t\n\t// 21.2.5.14 RegExp.prototype.toString()\n\tif (__webpack_require__(7)(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) {\n\t define(function toString() {\n\t var R = anObject(this);\n\t return '/'.concat(R.source, '/',\n\t 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n\t });\n\t// FF44- RegExp#toString has a wrong name\n\t} else if ($toString.name != TO_STRING) {\n\t define(function toString() {\n\t return $toString.call(this);\n\t });\n\t}\n\n\n/***/ },\n/* 199 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 21.2.5.3 get RegExp.prototype.flags()\n\tif (__webpack_require__(6) && /./g.flags != 'g') __webpack_require__(11).f(RegExp.prototype, 'flags', {\n\t configurable: true,\n\t get: __webpack_require__(197)\n\t});\n\n\n/***/ },\n/* 200 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// @@match logic\n\t__webpack_require__(201)('match', 1, function (defined, MATCH, $match) {\n\t // 21.1.3.11 String.prototype.match(regexp)\n\t return [function match(regexp) {\n\t 'use strict';\n\t var O = defined(this);\n\t var fn = regexp == undefined ? undefined : regexp[MATCH];\n\t return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n\t }, $match];\n\t});\n\n\n/***/ },\n/* 201 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar hide = __webpack_require__(10);\n\tvar redefine = __webpack_require__(18);\n\tvar fails = __webpack_require__(7);\n\tvar defined = __webpack_require__(35);\n\tvar wks = __webpack_require__(26);\n\t\n\tmodule.exports = function (KEY, length, exec) {\n\t var SYMBOL = wks(KEY);\n\t var fns = exec(defined, SYMBOL, ''[KEY]);\n\t var strfn = fns[0];\n\t var rxfn = fns[1];\n\t if (fails(function () {\n\t var O = {};\n\t O[SYMBOL] = function () { return 7; };\n\t return ''[KEY](O) != 7;\n\t })) {\n\t redefine(String.prototype, KEY, strfn);\n\t hide(RegExp.prototype, SYMBOL, length == 2\n\t // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n\t // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n\t ? function (string, arg) { return rxfn.call(string, this, arg); }\n\t // 21.2.5.6 RegExp.prototype[@@match](string)\n\t // 21.2.5.9 RegExp.prototype[@@search](string)\n\t : function (string) { return rxfn.call(string, this); }\n\t );\n\t }\n\t};\n\n\n/***/ },\n/* 202 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// @@replace logic\n\t__webpack_require__(201)('replace', 2, function (defined, REPLACE, $replace) {\n\t // 21.1.3.14 String.prototype.replace(searchValue, replaceValue)\n\t return [function replace(searchValue, replaceValue) {\n\t 'use strict';\n\t var O = defined(this);\n\t var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n\t return fn !== undefined\n\t ? fn.call(searchValue, O, replaceValue)\n\t : $replace.call(String(O), searchValue, replaceValue);\n\t }, $replace];\n\t});\n\n\n/***/ },\n/* 203 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// @@search logic\n\t__webpack_require__(201)('search', 1, function (defined, SEARCH, $search) {\n\t // 21.1.3.15 String.prototype.search(regexp)\n\t return [function search(regexp) {\n\t 'use strict';\n\t var O = defined(this);\n\t var fn = regexp == undefined ? undefined : regexp[SEARCH];\n\t return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n\t }, $search];\n\t});\n\n\n/***/ },\n/* 204 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// @@split logic\n\t__webpack_require__(201)('split', 2, function (defined, SPLIT, $split) {\n\t 'use strict';\n\t var isRegExp = __webpack_require__(134);\n\t var _split = $split;\n\t var $push = [].push;\n\t var $SPLIT = 'split';\n\t var LENGTH = 'length';\n\t var LAST_INDEX = 'lastIndex';\n\t if (\n\t 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n\t 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n\t 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n\t '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n\t '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n\t ''[$SPLIT](/.?/)[LENGTH]\n\t ) {\n\t var NPCG = /()??/.exec('')[1] === undefined; // nonparticipating capturing group\n\t // based on es5-shim implementation, need to rework it\n\t $split = function (separator, limit) {\n\t var string = String(this);\n\t if (separator === undefined && limit === 0) return [];\n\t // If `separator` is not a regex, use native split\n\t if (!isRegExp(separator)) return _split.call(string, separator, limit);\n\t var output = [];\n\t var flags = (separator.ignoreCase ? 'i' : '') +\n\t (separator.multiline ? 'm' : '') +\n\t (separator.unicode ? 'u' : '') +\n\t (separator.sticky ? 'y' : '');\n\t var lastLastIndex = 0;\n\t var splitLimit = limit === undefined ? 4294967295 : limit >>> 0;\n\t // Make `global` and avoid `lastIndex` issues by working with a copy\n\t var separatorCopy = new RegExp(separator.source, flags + 'g');\n\t var separator2, match, lastIndex, lastLength, i;\n\t // Doesn't need flags gy, but they don't hurt\n\t if (!NPCG) separator2 = new RegExp('^' + separatorCopy.source + '$(?!\\\\s)', flags);\n\t while (match = separatorCopy.exec(string)) {\n\t // `separatorCopy.lastIndex` is not reliable cross-browser\n\t lastIndex = match.index + match[0][LENGTH];\n\t if (lastIndex > lastLastIndex) {\n\t output.push(string.slice(lastLastIndex, match.index));\n\t // Fix browsers whose `exec` methods don't consistently return `undefined` for NPCG\n\t // eslint-disable-next-line no-loop-func\n\t if (!NPCG && match[LENGTH] > 1) match[0].replace(separator2, function () {\n\t for (i = 1; i < arguments[LENGTH] - 2; i++) if (arguments[i] === undefined) match[i] = undefined;\n\t });\n\t if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));\n\t lastLength = match[0][LENGTH];\n\t lastLastIndex = lastIndex;\n\t if (output[LENGTH] >= splitLimit) break;\n\t }\n\t if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n\t }\n\t if (lastLastIndex === string[LENGTH]) {\n\t if (lastLength || !separatorCopy.test('')) output.push('');\n\t } else output.push(string.slice(lastLastIndex));\n\t return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n\t };\n\t // Chakra, V8\n\t } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {\n\t $split = function (separator, limit) {\n\t return separator === undefined && limit === 0 ? [] : _split.call(this, separator, limit);\n\t };\n\t }\n\t // 21.1.3.17 String.prototype.split(separator, limit)\n\t return [function split(separator, limit) {\n\t var O = defined(this);\n\t var fn = separator == undefined ? undefined : separator[SPLIT];\n\t return fn !== undefined ? fn.call(separator, O, limit) : $split.call(String(O), separator, limit);\n\t }, $split];\n\t});\n\n\n/***/ },\n/* 205 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar LIBRARY = __webpack_require__(24);\n\tvar global = __webpack_require__(4);\n\tvar ctx = __webpack_require__(20);\n\tvar classof = __webpack_require__(74);\n\tvar $export = __webpack_require__(8);\n\tvar isObject = __webpack_require__(13);\n\tvar aFunction = __webpack_require__(21);\n\tvar anInstance = __webpack_require__(206);\n\tvar forOf = __webpack_require__(207);\n\tvar speciesConstructor = __webpack_require__(208);\n\tvar task = __webpack_require__(209).set;\n\tvar microtask = __webpack_require__(210)();\n\tvar newPromiseCapabilityModule = __webpack_require__(211);\n\tvar perform = __webpack_require__(212);\n\tvar userAgent = __webpack_require__(213);\n\tvar promiseResolve = __webpack_require__(214);\n\tvar PROMISE = 'Promise';\n\tvar TypeError = global.TypeError;\n\tvar process = global.process;\n\tvar versions = process && process.versions;\n\tvar v8 = versions && versions.v8 || '';\n\tvar $Promise = global[PROMISE];\n\tvar isNode = classof(process) == 'process';\n\tvar empty = function () { /* empty */ };\n\tvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\n\tvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\t\n\tvar USE_NATIVE = !!function () {\n\t try {\n\t // correct subclassing with @@species support\n\t var promise = $Promise.resolve(1);\n\t var FakePromise = (promise.constructor = {})[__webpack_require__(26)('species')] = function (exec) {\n\t exec(empty, empty);\n\t };\n\t // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n\t return (isNode || typeof PromiseRejectionEvent == 'function')\n\t && promise.then(empty) instanceof FakePromise\n\t // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n\t // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n\t // we can't detect it synchronously, so just check versions\n\t && v8.indexOf('6.6') !== 0\n\t && userAgent.indexOf('Chrome/66') === -1;\n\t } catch (e) { /* empty */ }\n\t}();\n\t\n\t// helpers\n\tvar isThenable = function (it) {\n\t var then;\n\t return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n\t};\n\tvar notify = function (promise, isReject) {\n\t if (promise._n) return;\n\t promise._n = true;\n\t var chain = promise._c;\n\t microtask(function () {\n\t var value = promise._v;\n\t var ok = promise._s == 1;\n\t var i = 0;\n\t var run = function (reaction) {\n\t var handler = ok ? reaction.ok : reaction.fail;\n\t var resolve = reaction.resolve;\n\t var reject = reaction.reject;\n\t var domain = reaction.domain;\n\t var result, then, exited;\n\t try {\n\t if (handler) {\n\t if (!ok) {\n\t if (promise._h == 2) onHandleUnhandled(promise);\n\t promise._h = 1;\n\t }\n\t if (handler === true) result = value;\n\t else {\n\t if (domain) domain.enter();\n\t result = handler(value); // may throw\n\t if (domain) {\n\t domain.exit();\n\t exited = true;\n\t }\n\t }\n\t if (result === reaction.promise) {\n\t reject(TypeError('Promise-chain cycle'));\n\t } else if (then = isThenable(result)) {\n\t then.call(result, resolve, reject);\n\t } else resolve(result);\n\t } else reject(value);\n\t } catch (e) {\n\t if (domain && !exited) domain.exit();\n\t reject(e);\n\t }\n\t };\n\t while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n\t promise._c = [];\n\t promise._n = false;\n\t if (isReject && !promise._h) onUnhandled(promise);\n\t });\n\t};\n\tvar onUnhandled = function (promise) {\n\t task.call(global, function () {\n\t var value = promise._v;\n\t var unhandled = isUnhandled(promise);\n\t var result, handler, console;\n\t if (unhandled) {\n\t result = perform(function () {\n\t if (isNode) {\n\t process.emit('unhandledRejection', value, promise);\n\t } else if (handler = global.onunhandledrejection) {\n\t handler({ promise: promise, reason: value });\n\t } else if ((console = global.console) && console.error) {\n\t console.error('Unhandled promise rejection', value);\n\t }\n\t });\n\t // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n\t promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n\t } promise._a = undefined;\n\t if (unhandled && result.e) throw result.v;\n\t });\n\t};\n\tvar isUnhandled = function (promise) {\n\t return promise._h !== 1 && (promise._a || promise._c).length === 0;\n\t};\n\tvar onHandleUnhandled = function (promise) {\n\t task.call(global, function () {\n\t var handler;\n\t if (isNode) {\n\t process.emit('rejectionHandled', promise);\n\t } else if (handler = global.onrejectionhandled) {\n\t handler({ promise: promise, reason: promise._v });\n\t }\n\t });\n\t};\n\tvar $reject = function (value) {\n\t var promise = this;\n\t if (promise._d) return;\n\t promise._d = true;\n\t promise = promise._w || promise; // unwrap\n\t promise._v = value;\n\t promise._s = 2;\n\t if (!promise._a) promise._a = promise._c.slice();\n\t notify(promise, true);\n\t};\n\tvar $resolve = function (value) {\n\t var promise = this;\n\t var then;\n\t if (promise._d) return;\n\t promise._d = true;\n\t promise = promise._w || promise; // unwrap\n\t try {\n\t if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n\t if (then = isThenable(value)) {\n\t microtask(function () {\n\t var wrapper = { _w: promise, _d: false }; // wrap\n\t try {\n\t then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n\t } catch (e) {\n\t $reject.call(wrapper, e);\n\t }\n\t });\n\t } else {\n\t promise._v = value;\n\t promise._s = 1;\n\t notify(promise, false);\n\t }\n\t } catch (e) {\n\t $reject.call({ _w: promise, _d: false }, e); // wrap\n\t }\n\t};\n\t\n\t// constructor polyfill\n\tif (!USE_NATIVE) {\n\t // 25.4.3.1 Promise(executor)\n\t $Promise = function Promise(executor) {\n\t anInstance(this, $Promise, PROMISE, '_h');\n\t aFunction(executor);\n\t Internal.call(this);\n\t try {\n\t executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n\t } catch (err) {\n\t $reject.call(this, err);\n\t }\n\t };\n\t // eslint-disable-next-line no-unused-vars\n\t Internal = function Promise(executor) {\n\t this._c = []; // <- awaiting reactions\n\t this._a = undefined; // <- checked in isUnhandled reactions\n\t this._s = 0; // <- state\n\t this._d = false; // <- done\n\t this._v = undefined; // <- value\n\t this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n\t this._n = false; // <- notify\n\t };\n\t Internal.prototype = __webpack_require__(215)($Promise.prototype, {\n\t // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n\t then: function then(onFulfilled, onRejected) {\n\t var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n\t reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n\t reaction.fail = typeof onRejected == 'function' && onRejected;\n\t reaction.domain = isNode ? process.domain : undefined;\n\t this._c.push(reaction);\n\t if (this._a) this._a.push(reaction);\n\t if (this._s) notify(this, false);\n\t return reaction.promise;\n\t },\n\t // 25.4.5.1 Promise.prototype.catch(onRejected)\n\t 'catch': function (onRejected) {\n\t return this.then(undefined, onRejected);\n\t }\n\t });\n\t OwnPromiseCapability = function () {\n\t var promise = new Internal();\n\t this.promise = promise;\n\t this.resolve = ctx($resolve, promise, 1);\n\t this.reject = ctx($reject, promise, 1);\n\t };\n\t newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n\t return C === $Promise || C === Wrapper\n\t ? new OwnPromiseCapability(C)\n\t : newGenericPromiseCapability(C);\n\t };\n\t}\n\t\n\t$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\n\t__webpack_require__(25)($Promise, PROMISE);\n\t__webpack_require__(193)(PROMISE);\n\tWrapper = __webpack_require__(9)[PROMISE];\n\t\n\t// statics\n\t$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n\t // 25.4.4.5 Promise.reject(r)\n\t reject: function reject(r) {\n\t var capability = newPromiseCapability(this);\n\t var $$reject = capability.reject;\n\t $$reject(r);\n\t return capability.promise;\n\t }\n\t});\n\t$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n\t // 25.4.4.6 Promise.resolve(x)\n\t resolve: function resolve(x) {\n\t return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n\t }\n\t});\n\t$export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(166)(function (iter) {\n\t $Promise.all(iter)['catch'](empty);\n\t})), PROMISE, {\n\t // 25.4.4.1 Promise.all(iterable)\n\t all: function all(iterable) {\n\t var C = this;\n\t var capability = newPromiseCapability(C);\n\t var resolve = capability.resolve;\n\t var reject = capability.reject;\n\t var result = perform(function () {\n\t var values = [];\n\t var index = 0;\n\t var remaining = 1;\n\t forOf(iterable, false, function (promise) {\n\t var $index = index++;\n\t var alreadyCalled = false;\n\t values.push(undefined);\n\t remaining++;\n\t C.resolve(promise).then(function (value) {\n\t if (alreadyCalled) return;\n\t alreadyCalled = true;\n\t values[$index] = value;\n\t --remaining || resolve(values);\n\t }, reject);\n\t });\n\t --remaining || resolve(values);\n\t });\n\t if (result.e) reject(result.v);\n\t return capability.promise;\n\t },\n\t // 25.4.4.4 Promise.race(iterable)\n\t race: function race(iterable) {\n\t var C = this;\n\t var capability = newPromiseCapability(C);\n\t var reject = capability.reject;\n\t var result = perform(function () {\n\t forOf(iterable, false, function (promise) {\n\t C.resolve(promise).then(capability.resolve, reject);\n\t });\n\t });\n\t if (result.e) reject(result.v);\n\t return capability.promise;\n\t }\n\t});\n\n\n/***/ },\n/* 206 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function (it, Constructor, name, forbiddenField) {\n\t if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n\t throw TypeError(name + ': incorrect invocation!');\n\t } return it;\n\t};\n\n\n/***/ },\n/* 207 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar ctx = __webpack_require__(20);\n\tvar call = __webpack_require__(162);\n\tvar isArrayIter = __webpack_require__(163);\n\tvar anObject = __webpack_require__(12);\n\tvar toLength = __webpack_require__(37);\n\tvar getIterFn = __webpack_require__(165);\n\tvar BREAK = {};\n\tvar RETURN = {};\n\tvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n\t var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n\t var f = ctx(fn, that, entries ? 2 : 1);\n\t var index = 0;\n\t var length, step, iterator, result;\n\t if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n\t // fast case for arrays with default iterator\n\t if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n\t result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n\t if (result === BREAK || result === RETURN) return result;\n\t } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n\t result = call(iterator, f, step.value, entries);\n\t if (result === BREAK || result === RETURN) return result;\n\t }\n\t};\n\texports.BREAK = BREAK;\n\texports.RETURN = RETURN;\n\n\n/***/ },\n/* 208 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 7.3.20 SpeciesConstructor(O, defaultConstructor)\n\tvar anObject = __webpack_require__(12);\n\tvar aFunction = __webpack_require__(21);\n\tvar SPECIES = __webpack_require__(26)('species');\n\tmodule.exports = function (O, D) {\n\t var C = anObject(O).constructor;\n\t var S;\n\t return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n\t};\n\n\n/***/ },\n/* 209 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar ctx = __webpack_require__(20);\n\tvar invoke = __webpack_require__(77);\n\tvar html = __webpack_require__(47);\n\tvar cel = __webpack_require__(15);\n\tvar global = __webpack_require__(4);\n\tvar process = global.process;\n\tvar setTask = global.setImmediate;\n\tvar clearTask = global.clearImmediate;\n\tvar MessageChannel = global.MessageChannel;\n\tvar Dispatch = global.Dispatch;\n\tvar counter = 0;\n\tvar queue = {};\n\tvar ONREADYSTATECHANGE = 'onreadystatechange';\n\tvar defer, channel, port;\n\tvar run = function () {\n\t var id = +this;\n\t // eslint-disable-next-line no-prototype-builtins\n\t if (queue.hasOwnProperty(id)) {\n\t var fn = queue[id];\n\t delete queue[id];\n\t fn();\n\t }\n\t};\n\tvar listener = function (event) {\n\t run.call(event.data);\n\t};\n\t// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\n\tif (!setTask || !clearTask) {\n\t setTask = function setImmediate(fn) {\n\t var args = [];\n\t var i = 1;\n\t while (arguments.length > i) args.push(arguments[i++]);\n\t queue[++counter] = function () {\n\t // eslint-disable-next-line no-new-func\n\t invoke(typeof fn == 'function' ? fn : Function(fn), args);\n\t };\n\t defer(counter);\n\t return counter;\n\t };\n\t clearTask = function clearImmediate(id) {\n\t delete queue[id];\n\t };\n\t // Node.js 0.8-\n\t if (__webpack_require__(34)(process) == 'process') {\n\t defer = function (id) {\n\t process.nextTick(ctx(run, id, 1));\n\t };\n\t // Sphere (JS game engine) Dispatch API\n\t } else if (Dispatch && Dispatch.now) {\n\t defer = function (id) {\n\t Dispatch.now(ctx(run, id, 1));\n\t };\n\t // Browsers with MessageChannel, includes WebWorkers\n\t } else if (MessageChannel) {\n\t channel = new MessageChannel();\n\t port = channel.port2;\n\t channel.port1.onmessage = listener;\n\t defer = ctx(port.postMessage, port, 1);\n\t // Browsers with postMessage, skip WebWorkers\n\t // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n\t } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n\t defer = function (id) {\n\t global.postMessage(id + '', '*');\n\t };\n\t global.addEventListener('message', listener, false);\n\t // IE8-\n\t } else if (ONREADYSTATECHANGE in cel('script')) {\n\t defer = function (id) {\n\t html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n\t html.removeChild(this);\n\t run.call(id);\n\t };\n\t };\n\t // Rest old browsers\n\t } else {\n\t defer = function (id) {\n\t setTimeout(ctx(run, id, 1), 0);\n\t };\n\t }\n\t}\n\tmodule.exports = {\n\t set: setTask,\n\t clear: clearTask\n\t};\n\n\n/***/ },\n/* 210 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar global = __webpack_require__(4);\n\tvar macrotask = __webpack_require__(209).set;\n\tvar Observer = global.MutationObserver || global.WebKitMutationObserver;\n\tvar process = global.process;\n\tvar Promise = global.Promise;\n\tvar isNode = __webpack_require__(34)(process) == 'process';\n\t\n\tmodule.exports = function () {\n\t var head, last, notify;\n\t\n\t var flush = function () {\n\t var parent, fn;\n\t if (isNode && (parent = process.domain)) parent.exit();\n\t while (head) {\n\t fn = head.fn;\n\t head = head.next;\n\t try {\n\t fn();\n\t } catch (e) {\n\t if (head) notify();\n\t else last = undefined;\n\t throw e;\n\t }\n\t } last = undefined;\n\t if (parent) parent.enter();\n\t };\n\t\n\t // Node.js\n\t if (isNode) {\n\t notify = function () {\n\t process.nextTick(flush);\n\t };\n\t // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n\t } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n\t var toggle = true;\n\t var node = document.createTextNode('');\n\t new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n\t notify = function () {\n\t node.data = toggle = !toggle;\n\t };\n\t // environments with maybe non-completely correct, but existent Promise\n\t } else if (Promise && Promise.resolve) {\n\t // Promise.resolve without an argument throws an error in LG WebOS 2\n\t var promise = Promise.resolve(undefined);\n\t notify = function () {\n\t promise.then(flush);\n\t };\n\t // for other environments - macrotask based on:\n\t // - setImmediate\n\t // - MessageChannel\n\t // - window.postMessag\n\t // - onreadystatechange\n\t // - setTimeout\n\t } else {\n\t notify = function () {\n\t // strange IE + webpack dev server bug - use .call(global)\n\t macrotask.call(global, flush);\n\t };\n\t }\n\t\n\t return function (fn) {\n\t var task = { fn: fn, next: undefined };\n\t if (last) last.next = task;\n\t if (!head) {\n\t head = task;\n\t notify();\n\t } last = task;\n\t };\n\t};\n\n\n/***/ },\n/* 211 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// 25.4.1.5 NewPromiseCapability(C)\n\tvar aFunction = __webpack_require__(21);\n\t\n\tfunction PromiseCapability(C) {\n\t var resolve, reject;\n\t this.promise = new C(function ($$resolve, $$reject) {\n\t if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n\t resolve = $$resolve;\n\t reject = $$reject;\n\t });\n\t this.resolve = aFunction(resolve);\n\t this.reject = aFunction(reject);\n\t}\n\t\n\tmodule.exports.f = function (C) {\n\t return new PromiseCapability(C);\n\t};\n\n\n/***/ },\n/* 212 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function (exec) {\n\t try {\n\t return { e: false, v: exec() };\n\t } catch (e) {\n\t return { e: true, v: e };\n\t }\n\t};\n\n\n/***/ },\n/* 213 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar global = __webpack_require__(4);\n\tvar navigator = global.navigator;\n\t\n\tmodule.exports = navigator && navigator.userAgent || '';\n\n\n/***/ },\n/* 214 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar anObject = __webpack_require__(12);\n\tvar isObject = __webpack_require__(13);\n\tvar newPromiseCapability = __webpack_require__(211);\n\t\n\tmodule.exports = function (C, x) {\n\t anObject(C);\n\t if (isObject(x) && x.constructor === C) return x;\n\t var promiseCapability = newPromiseCapability.f(C);\n\t var resolve = promiseCapability.resolve;\n\t resolve(x);\n\t return promiseCapability.promise;\n\t};\n\n\n/***/ },\n/* 215 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar redefine = __webpack_require__(18);\n\tmodule.exports = function (target, src, safe) {\n\t for (var key in src) redefine(target, key, src[key], safe);\n\t return target;\n\t};\n\n\n/***/ },\n/* 216 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar strong = __webpack_require__(217);\n\tvar validate = __webpack_require__(218);\n\tvar MAP = 'Map';\n\t\n\t// 23.1 Map Objects\n\tmodule.exports = __webpack_require__(219)(MAP, function (get) {\n\t return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n\t}, {\n\t // 23.1.3.6 Map.prototype.get(key)\n\t get: function get(key) {\n\t var entry = strong.getEntry(validate(this, MAP), key);\n\t return entry && entry.v;\n\t },\n\t // 23.1.3.9 Map.prototype.set(key, value)\n\t set: function set(key, value) {\n\t return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n\t }\n\t}, strong, true);\n\n\n/***/ },\n/* 217 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar dP = __webpack_require__(11).f;\n\tvar create = __webpack_require__(45);\n\tvar redefineAll = __webpack_require__(215);\n\tvar ctx = __webpack_require__(20);\n\tvar anInstance = __webpack_require__(206);\n\tvar forOf = __webpack_require__(207);\n\tvar $iterDefine = __webpack_require__(128);\n\tvar step = __webpack_require__(195);\n\tvar setSpecies = __webpack_require__(193);\n\tvar DESCRIPTORS = __webpack_require__(6);\n\tvar fastKey = __webpack_require__(22).fastKey;\n\tvar validate = __webpack_require__(218);\n\tvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\t\n\tvar getEntry = function (that, key) {\n\t // fast case\n\t var index = fastKey(key);\n\t var entry;\n\t if (index !== 'F') return that._i[index];\n\t // frozen object case\n\t for (entry = that._f; entry; entry = entry.n) {\n\t if (entry.k == key) return entry;\n\t }\n\t};\n\t\n\tmodule.exports = {\n\t getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n\t var C = wrapper(function (that, iterable) {\n\t anInstance(that, C, NAME, '_i');\n\t that._t = NAME; // collection type\n\t that._i = create(null); // index\n\t that._f = undefined; // first entry\n\t that._l = undefined; // last entry\n\t that[SIZE] = 0; // size\n\t if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n\t });\n\t redefineAll(C.prototype, {\n\t // 23.1.3.1 Map.prototype.clear()\n\t // 23.2.3.2 Set.prototype.clear()\n\t clear: function clear() {\n\t for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n\t entry.r = true;\n\t if (entry.p) entry.p = entry.p.n = undefined;\n\t delete data[entry.i];\n\t }\n\t that._f = that._l = undefined;\n\t that[SIZE] = 0;\n\t },\n\t // 23.1.3.3 Map.prototype.delete(key)\n\t // 23.2.3.4 Set.prototype.delete(value)\n\t 'delete': function (key) {\n\t var that = validate(this, NAME);\n\t var entry = getEntry(that, key);\n\t if (entry) {\n\t var next = entry.n;\n\t var prev = entry.p;\n\t delete that._i[entry.i];\n\t entry.r = true;\n\t if (prev) prev.n = next;\n\t if (next) next.p = prev;\n\t if (that._f == entry) that._f = next;\n\t if (that._l == entry) that._l = prev;\n\t that[SIZE]--;\n\t } return !!entry;\n\t },\n\t // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n\t // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n\t forEach: function forEach(callbackfn /* , that = undefined */) {\n\t validate(this, NAME);\n\t var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n\t var entry;\n\t while (entry = entry ? entry.n : this._f) {\n\t f(entry.v, entry.k, this);\n\t // revert to the last existing entry\n\t while (entry && entry.r) entry = entry.p;\n\t }\n\t },\n\t // 23.1.3.7 Map.prototype.has(key)\n\t // 23.2.3.7 Set.prototype.has(value)\n\t has: function has(key) {\n\t return !!getEntry(validate(this, NAME), key);\n\t }\n\t });\n\t if (DESCRIPTORS) dP(C.prototype, 'size', {\n\t get: function () {\n\t return validate(this, NAME)[SIZE];\n\t }\n\t });\n\t return C;\n\t },\n\t def: function (that, key, value) {\n\t var entry = getEntry(that, key);\n\t var prev, index;\n\t // change existing entry\n\t if (entry) {\n\t entry.v = value;\n\t // create new entry\n\t } else {\n\t that._l = entry = {\n\t i: index = fastKey(key, true), // <- index\n\t k: key, // <- key\n\t v: value, // <- value\n\t p: prev = that._l, // <- previous entry\n\t n: undefined, // <- next entry\n\t r: false // <- removed\n\t };\n\t if (!that._f) that._f = entry;\n\t if (prev) prev.n = entry;\n\t that[SIZE]++;\n\t // add to index\n\t if (index !== 'F') that._i[index] = entry;\n\t } return that;\n\t },\n\t getEntry: getEntry,\n\t setStrong: function (C, NAME, IS_MAP) {\n\t // add .keys, .values, .entries, [@@iterator]\n\t // 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\t $iterDefine(C, NAME, function (iterated, kind) {\n\t this._t = validate(iterated, NAME); // target\n\t this._k = kind; // kind\n\t this._l = undefined; // previous\n\t }, function () {\n\t var that = this;\n\t var kind = that._k;\n\t var entry = that._l;\n\t // revert to the last existing entry\n\t while (entry && entry.r) entry = entry.p;\n\t // get next entry\n\t if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n\t // or finish the iteration\n\t that._t = undefined;\n\t return step(1);\n\t }\n\t // return step by kind\n\t if (kind == 'keys') return step(0, entry.k);\n\t if (kind == 'values') return step(0, entry.v);\n\t return step(0, [entry.k, entry.v]);\n\t }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\t\n\t // add [@@species], 23.1.2.2, 23.2.2.2\n\t setSpecies(NAME);\n\t }\n\t};\n\n\n/***/ },\n/* 218 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(13);\n\tmodule.exports = function (it, TYPE) {\n\t if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n\t return it;\n\t};\n\n\n/***/ },\n/* 219 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar global = __webpack_require__(4);\n\tvar $export = __webpack_require__(8);\n\tvar redefine = __webpack_require__(18);\n\tvar redefineAll = __webpack_require__(215);\n\tvar meta = __webpack_require__(22);\n\tvar forOf = __webpack_require__(207);\n\tvar anInstance = __webpack_require__(206);\n\tvar isObject = __webpack_require__(13);\n\tvar fails = __webpack_require__(7);\n\tvar $iterDetect = __webpack_require__(166);\n\tvar setToStringTag = __webpack_require__(25);\n\tvar inheritIfRequired = __webpack_require__(87);\n\t\n\tmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n\t var Base = global[NAME];\n\t var C = Base;\n\t var ADDER = IS_MAP ? 'set' : 'add';\n\t var proto = C && C.prototype;\n\t var O = {};\n\t var fixMethod = function (KEY) {\n\t var fn = proto[KEY];\n\t redefine(proto, KEY,\n\t KEY == 'delete' ? function (a) {\n\t return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n\t } : KEY == 'has' ? function has(a) {\n\t return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n\t } : KEY == 'get' ? function get(a) {\n\t return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n\t } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; }\n\t : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; }\n\t );\n\t };\n\t if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n\t new C().entries().next();\n\t }))) {\n\t // create collection constructor\n\t C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n\t redefineAll(C.prototype, methods);\n\t meta.NEED = true;\n\t } else {\n\t var instance = new C();\n\t // early implementations not supports chaining\n\t var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n\t // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n\t var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n\t // most early implementations doesn't supports iterables, most modern - not close it correctly\n\t var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new\n\t // for early implementations -0 and +0 not the same\n\t var BUGGY_ZERO = !IS_WEAK && fails(function () {\n\t // V8 ~ Chromium 42- fails only with 5+ elements\n\t var $instance = new C();\n\t var index = 5;\n\t while (index--) $instance[ADDER](index, index);\n\t return !$instance.has(-0);\n\t });\n\t if (!ACCEPT_ITERABLES) {\n\t C = wrapper(function (target, iterable) {\n\t anInstance(target, C, NAME);\n\t var that = inheritIfRequired(new Base(), target, C);\n\t if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n\t return that;\n\t });\n\t C.prototype = proto;\n\t proto.constructor = C;\n\t }\n\t if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n\t fixMethod('delete');\n\t fixMethod('has');\n\t IS_MAP && fixMethod('get');\n\t }\n\t if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\t // weak collections should not contains .clear method\n\t if (IS_WEAK && proto.clear) delete proto.clear;\n\t }\n\t\n\t setToStringTag(C, NAME);\n\t\n\t O[NAME] = C;\n\t $export($export.G + $export.W + $export.F * (C != Base), O);\n\t\n\t if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\t\n\t return C;\n\t};\n\n\n/***/ },\n/* 220 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar strong = __webpack_require__(217);\n\tvar validate = __webpack_require__(218);\n\tvar SET = 'Set';\n\t\n\t// 23.2 Set Objects\n\tmodule.exports = __webpack_require__(219)(SET, function (get) {\n\t return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n\t}, {\n\t // 23.2.3.1 Set.prototype.add(value)\n\t add: function add(value) {\n\t return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);\n\t }\n\t}, strong);\n\n\n/***/ },\n/* 221 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar each = __webpack_require__(173)(0);\n\tvar redefine = __webpack_require__(18);\n\tvar meta = __webpack_require__(22);\n\tvar assign = __webpack_require__(68);\n\tvar weak = __webpack_require__(222);\n\tvar isObject = __webpack_require__(13);\n\tvar fails = __webpack_require__(7);\n\tvar validate = __webpack_require__(218);\n\tvar WEAK_MAP = 'WeakMap';\n\tvar getWeak = meta.getWeak;\n\tvar isExtensible = Object.isExtensible;\n\tvar uncaughtFrozenStore = weak.ufstore;\n\tvar tmp = {};\n\tvar InternalMap;\n\t\n\tvar wrapper = function (get) {\n\t return function WeakMap() {\n\t return get(this, arguments.length > 0 ? arguments[0] : undefined);\n\t };\n\t};\n\t\n\tvar methods = {\n\t // 23.3.3.3 WeakMap.prototype.get(key)\n\t get: function get(key) {\n\t if (isObject(key)) {\n\t var data = getWeak(key);\n\t if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n\t return data ? data[this._i] : undefined;\n\t }\n\t },\n\t // 23.3.3.5 WeakMap.prototype.set(key, value)\n\t set: function set(key, value) {\n\t return weak.def(validate(this, WEAK_MAP), key, value);\n\t }\n\t};\n\t\n\t// 23.3 WeakMap Objects\n\tvar $WeakMap = module.exports = __webpack_require__(219)(WEAK_MAP, wrapper, methods, weak, true, true);\n\t\n\t// IE11 WeakMap frozen keys fix\n\tif (fails(function () { return new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7; })) {\n\t InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n\t assign(InternalMap.prototype, methods);\n\t meta.NEED = true;\n\t each(['delete', 'has', 'get', 'set'], function (key) {\n\t var proto = $WeakMap.prototype;\n\t var method = proto[key];\n\t redefine(proto, key, function (a, b) {\n\t // store frozen objects on internal weakmap shim\n\t if (isObject(a) && !isExtensible(a)) {\n\t if (!this._f) this._f = new InternalMap();\n\t var result = this._f[key](a, b);\n\t return key == 'set' ? this : result;\n\t // store all the rest on native weakmap\n\t } return method.call(this, a, b);\n\t });\n\t });\n\t}\n\n\n/***/ },\n/* 222 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar redefineAll = __webpack_require__(215);\n\tvar getWeak = __webpack_require__(22).getWeak;\n\tvar anObject = __webpack_require__(12);\n\tvar isObject = __webpack_require__(13);\n\tvar anInstance = __webpack_require__(206);\n\tvar forOf = __webpack_require__(207);\n\tvar createArrayMethod = __webpack_require__(173);\n\tvar $has = __webpack_require__(5);\n\tvar validate = __webpack_require__(218);\n\tvar arrayFind = createArrayMethod(5);\n\tvar arrayFindIndex = createArrayMethod(6);\n\tvar id = 0;\n\t\n\t// fallback for uncaught frozen keys\n\tvar uncaughtFrozenStore = function (that) {\n\t return that._l || (that._l = new UncaughtFrozenStore());\n\t};\n\tvar UncaughtFrozenStore = function () {\n\t this.a = [];\n\t};\n\tvar findUncaughtFrozen = function (store, key) {\n\t return arrayFind(store.a, function (it) {\n\t return it[0] === key;\n\t });\n\t};\n\tUncaughtFrozenStore.prototype = {\n\t get: function (key) {\n\t var entry = findUncaughtFrozen(this, key);\n\t if (entry) return entry[1];\n\t },\n\t has: function (key) {\n\t return !!findUncaughtFrozen(this, key);\n\t },\n\t set: function (key, value) {\n\t var entry = findUncaughtFrozen(this, key);\n\t if (entry) entry[1] = value;\n\t else this.a.push([key, value]);\n\t },\n\t 'delete': function (key) {\n\t var index = arrayFindIndex(this.a, function (it) {\n\t return it[0] === key;\n\t });\n\t if (~index) this.a.splice(index, 1);\n\t return !!~index;\n\t }\n\t};\n\t\n\tmodule.exports = {\n\t getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n\t var C = wrapper(function (that, iterable) {\n\t anInstance(that, C, NAME, '_i');\n\t that._t = NAME; // collection type\n\t that._i = id++; // collection id\n\t that._l = undefined; // leak store for uncaught frozen objects\n\t if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n\t });\n\t redefineAll(C.prototype, {\n\t // 23.3.3.2 WeakMap.prototype.delete(key)\n\t // 23.4.3.3 WeakSet.prototype.delete(value)\n\t 'delete': function (key) {\n\t if (!isObject(key)) return false;\n\t var data = getWeak(key);\n\t if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n\t return data && $has(data, this._i) && delete data[this._i];\n\t },\n\t // 23.3.3.4 WeakMap.prototype.has(key)\n\t // 23.4.3.4 WeakSet.prototype.has(value)\n\t has: function has(key) {\n\t if (!isObject(key)) return false;\n\t var data = getWeak(key);\n\t if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n\t return data && $has(data, this._i);\n\t }\n\t });\n\t return C;\n\t },\n\t def: function (that, key, value) {\n\t var data = getWeak(anObject(key), true);\n\t if (data === true) uncaughtFrozenStore(that).set(key, value);\n\t else data[that._i] = value;\n\t return that;\n\t },\n\t ufstore: uncaughtFrozenStore\n\t};\n\n\n/***/ },\n/* 223 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar weak = __webpack_require__(222);\n\tvar validate = __webpack_require__(218);\n\tvar WEAK_SET = 'WeakSet';\n\t\n\t// 23.4 WeakSet Objects\n\t__webpack_require__(219)(WEAK_SET, function (get) {\n\t return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n\t}, {\n\t // 23.4.3.1 WeakSet.prototype.add(value)\n\t add: function add(value) {\n\t return weak.def(validate(this, WEAK_SET), value, true);\n\t }\n\t}, weak, false, true);\n\n\n/***/ },\n/* 224 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $export = __webpack_require__(8);\n\tvar $typed = __webpack_require__(225);\n\tvar buffer = __webpack_require__(226);\n\tvar anObject = __webpack_require__(12);\n\tvar toAbsoluteIndex = __webpack_require__(39);\n\tvar toLength = __webpack_require__(37);\n\tvar isObject = __webpack_require__(13);\n\tvar ArrayBuffer = __webpack_require__(4).ArrayBuffer;\n\tvar speciesConstructor = __webpack_require__(208);\n\tvar $ArrayBuffer = buffer.ArrayBuffer;\n\tvar $DataView = buffer.DataView;\n\tvar $isView = $typed.ABV && ArrayBuffer.isView;\n\tvar $slice = $ArrayBuffer.prototype.slice;\n\tvar VIEW = $typed.VIEW;\n\tvar ARRAY_BUFFER = 'ArrayBuffer';\n\t\n\t$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer });\n\t\n\t$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {\n\t // 24.1.3.1 ArrayBuffer.isView(arg)\n\t isView: function isView(it) {\n\t return $isView && $isView(it) || isObject(it) && VIEW in it;\n\t }\n\t});\n\t\n\t$export($export.P + $export.U + $export.F * __webpack_require__(7)(function () {\n\t return !new $ArrayBuffer(2).slice(1, undefined).byteLength;\n\t}), ARRAY_BUFFER, {\n\t // 24.1.4.3 ArrayBuffer.prototype.slice(start, end)\n\t slice: function slice(start, end) {\n\t if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix\n\t var len = anObject(this).byteLength;\n\t var first = toAbsoluteIndex(start, len);\n\t var fin = toAbsoluteIndex(end === undefined ? len : end, len);\n\t var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(fin - first));\n\t var viewS = new $DataView(this);\n\t var viewT = new $DataView(result);\n\t var index = 0;\n\t while (first < fin) {\n\t viewT.setUint8(index++, viewS.getUint8(first++));\n\t } return result;\n\t }\n\t});\n\t\n\t__webpack_require__(193)(ARRAY_BUFFER);\n\n\n/***/ },\n/* 225 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar global = __webpack_require__(4);\n\tvar hide = __webpack_require__(10);\n\tvar uid = __webpack_require__(19);\n\tvar TYPED = uid('typed_array');\n\tvar VIEW = uid('view');\n\tvar ABV = !!(global.ArrayBuffer && global.DataView);\n\tvar CONSTR = ABV;\n\tvar i = 0;\n\tvar l = 9;\n\tvar Typed;\n\t\n\tvar TypedArrayConstructors = (\n\t 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'\n\t).split(',');\n\t\n\twhile (i < l) {\n\t if (Typed = global[TypedArrayConstructors[i++]]) {\n\t hide(Typed.prototype, TYPED, true);\n\t hide(Typed.prototype, VIEW, true);\n\t } else CONSTR = false;\n\t}\n\t\n\tmodule.exports = {\n\t ABV: ABV,\n\t CONSTR: CONSTR,\n\t TYPED: TYPED,\n\t VIEW: VIEW\n\t};\n\n\n/***/ },\n/* 226 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar global = __webpack_require__(4);\n\tvar DESCRIPTORS = __webpack_require__(6);\n\tvar LIBRARY = __webpack_require__(24);\n\tvar $typed = __webpack_require__(225);\n\tvar hide = __webpack_require__(10);\n\tvar redefineAll = __webpack_require__(215);\n\tvar fails = __webpack_require__(7);\n\tvar anInstance = __webpack_require__(206);\n\tvar toInteger = __webpack_require__(38);\n\tvar toLength = __webpack_require__(37);\n\tvar toIndex = __webpack_require__(227);\n\tvar gOPN = __webpack_require__(49).f;\n\tvar dP = __webpack_require__(11).f;\n\tvar arrayFill = __webpack_require__(189);\n\tvar setToStringTag = __webpack_require__(25);\n\tvar ARRAY_BUFFER = 'ArrayBuffer';\n\tvar DATA_VIEW = 'DataView';\n\tvar PROTOTYPE = 'prototype';\n\tvar WRONG_LENGTH = 'Wrong length!';\n\tvar WRONG_INDEX = 'Wrong index!';\n\tvar $ArrayBuffer = global[ARRAY_BUFFER];\n\tvar $DataView = global[DATA_VIEW];\n\tvar Math = global.Math;\n\tvar RangeError = global.RangeError;\n\t// eslint-disable-next-line no-shadow-restricted-names\n\tvar Infinity = global.Infinity;\n\tvar BaseBuffer = $ArrayBuffer;\n\tvar abs = Math.abs;\n\tvar pow = Math.pow;\n\tvar floor = Math.floor;\n\tvar log = Math.log;\n\tvar LN2 = Math.LN2;\n\tvar BUFFER = 'buffer';\n\tvar BYTE_LENGTH = 'byteLength';\n\tvar BYTE_OFFSET = 'byteOffset';\n\tvar $BUFFER = DESCRIPTORS ? '_b' : BUFFER;\n\tvar $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH;\n\tvar $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;\n\t\n\t// IEEE754 conversions based on https://github.com/feross/ieee754\n\tfunction packIEEE754(value, mLen, nBytes) {\n\t var buffer = new Array(nBytes);\n\t var eLen = nBytes * 8 - mLen - 1;\n\t var eMax = (1 << eLen) - 1;\n\t var eBias = eMax >> 1;\n\t var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0;\n\t var i = 0;\n\t var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n\t var e, m, c;\n\t value = abs(value);\n\t // eslint-disable-next-line no-self-compare\n\t if (value != value || value === Infinity) {\n\t // eslint-disable-next-line no-self-compare\n\t m = value != value ? 1 : 0;\n\t e = eMax;\n\t } else {\n\t e = floor(log(value) / LN2);\n\t if (value * (c = pow(2, -e)) < 1) {\n\t e--;\n\t c *= 2;\n\t }\n\t if (e + eBias >= 1) {\n\t value += rt / c;\n\t } else {\n\t value += rt * pow(2, 1 - eBias);\n\t }\n\t if (value * c >= 2) {\n\t e++;\n\t c /= 2;\n\t }\n\t if (e + eBias >= eMax) {\n\t m = 0;\n\t e = eMax;\n\t } else if (e + eBias >= 1) {\n\t m = (value * c - 1) * pow(2, mLen);\n\t e = e + eBias;\n\t } else {\n\t m = value * pow(2, eBias - 1) * pow(2, mLen);\n\t e = 0;\n\t }\n\t }\n\t for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8);\n\t e = e << mLen | m;\n\t eLen += mLen;\n\t for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8);\n\t buffer[--i] |= s * 128;\n\t return buffer;\n\t}\n\tfunction unpackIEEE754(buffer, mLen, nBytes) {\n\t var eLen = nBytes * 8 - mLen - 1;\n\t var eMax = (1 << eLen) - 1;\n\t var eBias = eMax >> 1;\n\t var nBits = eLen - 7;\n\t var i = nBytes - 1;\n\t var s = buffer[i--];\n\t var e = s & 127;\n\t var m;\n\t s >>= 7;\n\t for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8);\n\t m = e & (1 << -nBits) - 1;\n\t e >>= -nBits;\n\t nBits += mLen;\n\t for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8);\n\t if (e === 0) {\n\t e = 1 - eBias;\n\t } else if (e === eMax) {\n\t return m ? NaN : s ? -Infinity : Infinity;\n\t } else {\n\t m = m + pow(2, mLen);\n\t e = e - eBias;\n\t } return (s ? -1 : 1) * m * pow(2, e - mLen);\n\t}\n\t\n\tfunction unpackI32(bytes) {\n\t return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];\n\t}\n\tfunction packI8(it) {\n\t return [it & 0xff];\n\t}\n\tfunction packI16(it) {\n\t return [it & 0xff, it >> 8 & 0xff];\n\t}\n\tfunction packI32(it) {\n\t return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];\n\t}\n\tfunction packF64(it) {\n\t return packIEEE754(it, 52, 8);\n\t}\n\tfunction packF32(it) {\n\t return packIEEE754(it, 23, 4);\n\t}\n\t\n\tfunction addGetter(C, key, internal) {\n\t dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } });\n\t}\n\t\n\tfunction get(view, bytes, index, isLittleEndian) {\n\t var numIndex = +index;\n\t var intIndex = toIndex(numIndex);\n\t if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n\t var store = view[$BUFFER]._b;\n\t var start = intIndex + view[$OFFSET];\n\t var pack = store.slice(start, start + bytes);\n\t return isLittleEndian ? pack : pack.reverse();\n\t}\n\tfunction set(view, bytes, index, conversion, value, isLittleEndian) {\n\t var numIndex = +index;\n\t var intIndex = toIndex(numIndex);\n\t if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n\t var store = view[$BUFFER]._b;\n\t var start = intIndex + view[$OFFSET];\n\t var pack = conversion(+value);\n\t for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];\n\t}\n\t\n\tif (!$typed.ABV) {\n\t $ArrayBuffer = function ArrayBuffer(length) {\n\t anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n\t var byteLength = toIndex(length);\n\t this._b = arrayFill.call(new Array(byteLength), 0);\n\t this[$LENGTH] = byteLength;\n\t };\n\t\n\t $DataView = function DataView(buffer, byteOffset, byteLength) {\n\t anInstance(this, $DataView, DATA_VIEW);\n\t anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n\t var bufferLength = buffer[$LENGTH];\n\t var offset = toInteger(byteOffset);\n\t if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!');\n\t byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n\t if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n\t this[$BUFFER] = buffer;\n\t this[$OFFSET] = offset;\n\t this[$LENGTH] = byteLength;\n\t };\n\t\n\t if (DESCRIPTORS) {\n\t addGetter($ArrayBuffer, BYTE_LENGTH, '_l');\n\t addGetter($DataView, BUFFER, '_b');\n\t addGetter($DataView, BYTE_LENGTH, '_l');\n\t addGetter($DataView, BYTE_OFFSET, '_o');\n\t }\n\t\n\t redefineAll($DataView[PROTOTYPE], {\n\t getInt8: function getInt8(byteOffset) {\n\t return get(this, 1, byteOffset)[0] << 24 >> 24;\n\t },\n\t getUint8: function getUint8(byteOffset) {\n\t return get(this, 1, byteOffset)[0];\n\t },\n\t getInt16: function getInt16(byteOffset /* , littleEndian */) {\n\t var bytes = get(this, 2, byteOffset, arguments[1]);\n\t return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n\t },\n\t getUint16: function getUint16(byteOffset /* , littleEndian */) {\n\t var bytes = get(this, 2, byteOffset, arguments[1]);\n\t return bytes[1] << 8 | bytes[0];\n\t },\n\t getInt32: function getInt32(byteOffset /* , littleEndian */) {\n\t return unpackI32(get(this, 4, byteOffset, arguments[1]));\n\t },\n\t getUint32: function getUint32(byteOffset /* , littleEndian */) {\n\t return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;\n\t },\n\t getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n\t return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);\n\t },\n\t getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n\t return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);\n\t },\n\t setInt8: function setInt8(byteOffset, value) {\n\t set(this, 1, byteOffset, packI8, value);\n\t },\n\t setUint8: function setUint8(byteOffset, value) {\n\t set(this, 1, byteOffset, packI8, value);\n\t },\n\t setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n\t set(this, 2, byteOffset, packI16, value, arguments[2]);\n\t },\n\t setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n\t set(this, 2, byteOffset, packI16, value, arguments[2]);\n\t },\n\t setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n\t set(this, 4, byteOffset, packI32, value, arguments[2]);\n\t },\n\t setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n\t set(this, 4, byteOffset, packI32, value, arguments[2]);\n\t },\n\t setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n\t set(this, 4, byteOffset, packF32, value, arguments[2]);\n\t },\n\t setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n\t set(this, 8, byteOffset, packF64, value, arguments[2]);\n\t }\n\t });\n\t} else {\n\t if (!fails(function () {\n\t $ArrayBuffer(1);\n\t }) || !fails(function () {\n\t new $ArrayBuffer(-1); // eslint-disable-line no-new\n\t }) || fails(function () {\n\t new $ArrayBuffer(); // eslint-disable-line no-new\n\t new $ArrayBuffer(1.5); // eslint-disable-line no-new\n\t new $ArrayBuffer(NaN); // eslint-disable-line no-new\n\t return $ArrayBuffer.name != ARRAY_BUFFER;\n\t })) {\n\t $ArrayBuffer = function ArrayBuffer(length) {\n\t anInstance(this, $ArrayBuffer);\n\t return new BaseBuffer(toIndex(length));\n\t };\n\t var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];\n\t for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) {\n\t if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]);\n\t }\n\t if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer;\n\t }\n\t // iOS Safari 7.x bug\n\t var view = new $DataView(new $ArrayBuffer(2));\n\t var $setInt8 = $DataView[PROTOTYPE].setInt8;\n\t view.setInt8(0, 2147483648);\n\t view.setInt8(1, 2147483649);\n\t if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], {\n\t setInt8: function setInt8(byteOffset, value) {\n\t $setInt8.call(this, byteOffset, value << 24 >> 24);\n\t },\n\t setUint8: function setUint8(byteOffset, value) {\n\t $setInt8.call(this, byteOffset, value << 24 >> 24);\n\t }\n\t }, true);\n\t}\n\tsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\n\tsetToStringTag($DataView, DATA_VIEW);\n\thide($DataView[PROTOTYPE], $typed.VIEW, true);\n\texports[ARRAY_BUFFER] = $ArrayBuffer;\n\texports[DATA_VIEW] = $DataView;\n\n\n/***/ },\n/* 227 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// https://tc39.github.io/ecma262/#sec-toindex\n\tvar toInteger = __webpack_require__(38);\n\tvar toLength = __webpack_require__(37);\n\tmodule.exports = function (it) {\n\t if (it === undefined) return 0;\n\t var number = toInteger(it);\n\t var length = toLength(number);\n\t if (number !== length) throw RangeError('Wrong length!');\n\t return length;\n\t};\n\n\n/***/ },\n/* 228 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar $export = __webpack_require__(8);\n\t$export($export.G + $export.W + $export.F * !__webpack_require__(225).ABV, {\n\t DataView: __webpack_require__(226).DataView\n\t});\n\n\n/***/ },\n/* 229 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(230)('Int8', 1, function (init) {\n\t return function Int8Array(data, byteOffset, length) {\n\t return init(this, data, byteOffset, length);\n\t };\n\t});\n\n\n/***/ },\n/* 230 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tif (__webpack_require__(6)) {\n\t var LIBRARY = __webpack_require__(24);\n\t var global = __webpack_require__(4);\n\t var fails = __webpack_require__(7);\n\t var $export = __webpack_require__(8);\n\t var $typed = __webpack_require__(225);\n\t var $buffer = __webpack_require__(226);\n\t var ctx = __webpack_require__(20);\n\t var anInstance = __webpack_require__(206);\n\t var propertyDesc = __webpack_require__(17);\n\t var hide = __webpack_require__(10);\n\t var redefineAll = __webpack_require__(215);\n\t var toInteger = __webpack_require__(38);\n\t var toLength = __webpack_require__(37);\n\t var toIndex = __webpack_require__(227);\n\t var toAbsoluteIndex = __webpack_require__(39);\n\t var toPrimitive = __webpack_require__(16);\n\t var has = __webpack_require__(5);\n\t var classof = __webpack_require__(74);\n\t var isObject = __webpack_require__(13);\n\t var toObject = __webpack_require__(57);\n\t var isArrayIter = __webpack_require__(163);\n\t var create = __webpack_require__(45);\n\t var getPrototypeOf = __webpack_require__(58);\n\t var gOPN = __webpack_require__(49).f;\n\t var getIterFn = __webpack_require__(165);\n\t var uid = __webpack_require__(19);\n\t var wks = __webpack_require__(26);\n\t var createArrayMethod = __webpack_require__(173);\n\t var createArrayIncludes = __webpack_require__(36);\n\t var speciesConstructor = __webpack_require__(208);\n\t var ArrayIterators = __webpack_require__(194);\n\t var Iterators = __webpack_require__(129);\n\t var $iterDetect = __webpack_require__(166);\n\t var setSpecies = __webpack_require__(193);\n\t var arrayFill = __webpack_require__(189);\n\t var arrayCopyWithin = __webpack_require__(186);\n\t var $DP = __webpack_require__(11);\n\t var $GOPD = __webpack_require__(50);\n\t var dP = $DP.f;\n\t var gOPD = $GOPD.f;\n\t var RangeError = global.RangeError;\n\t var TypeError = global.TypeError;\n\t var Uint8Array = global.Uint8Array;\n\t var ARRAY_BUFFER = 'ArrayBuffer';\n\t var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER;\n\t var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\n\t var PROTOTYPE = 'prototype';\n\t var ArrayProto = Array[PROTOTYPE];\n\t var $ArrayBuffer = $buffer.ArrayBuffer;\n\t var $DataView = $buffer.DataView;\n\t var arrayForEach = createArrayMethod(0);\n\t var arrayFilter = createArrayMethod(2);\n\t var arraySome = createArrayMethod(3);\n\t var arrayEvery = createArrayMethod(4);\n\t var arrayFind = createArrayMethod(5);\n\t var arrayFindIndex = createArrayMethod(6);\n\t var arrayIncludes = createArrayIncludes(true);\n\t var arrayIndexOf = createArrayIncludes(false);\n\t var arrayValues = ArrayIterators.values;\n\t var arrayKeys = ArrayIterators.keys;\n\t var arrayEntries = ArrayIterators.entries;\n\t var arrayLastIndexOf = ArrayProto.lastIndexOf;\n\t var arrayReduce = ArrayProto.reduce;\n\t var arrayReduceRight = ArrayProto.reduceRight;\n\t var arrayJoin = ArrayProto.join;\n\t var arraySort = ArrayProto.sort;\n\t var arraySlice = ArrayProto.slice;\n\t var arrayToString = ArrayProto.toString;\n\t var arrayToLocaleString = ArrayProto.toLocaleString;\n\t var ITERATOR = wks('iterator');\n\t var TAG = wks('toStringTag');\n\t var TYPED_CONSTRUCTOR = uid('typed_constructor');\n\t var DEF_CONSTRUCTOR = uid('def_constructor');\n\t var ALL_CONSTRUCTORS = $typed.CONSTR;\n\t var TYPED_ARRAY = $typed.TYPED;\n\t var VIEW = $typed.VIEW;\n\t var WRONG_LENGTH = 'Wrong length!';\n\t\n\t var $map = createArrayMethod(1, function (O, length) {\n\t return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);\n\t });\n\t\n\t var LITTLE_ENDIAN = fails(function () {\n\t // eslint-disable-next-line no-undef\n\t return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\n\t });\n\t\n\t var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () {\n\t new Uint8Array(1).set({});\n\t });\n\t\n\t var toOffset = function (it, BYTES) {\n\t var offset = toInteger(it);\n\t if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!');\n\t return offset;\n\t };\n\t\n\t var validate = function (it) {\n\t if (isObject(it) && TYPED_ARRAY in it) return it;\n\t throw TypeError(it + ' is not a typed array!');\n\t };\n\t\n\t var allocate = function (C, length) {\n\t if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) {\n\t throw TypeError('It is not a typed array constructor!');\n\t } return new C(length);\n\t };\n\t\n\t var speciesFromList = function (O, list) {\n\t return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);\n\t };\n\t\n\t var fromList = function (C, list) {\n\t var index = 0;\n\t var length = list.length;\n\t var result = allocate(C, length);\n\t while (length > index) result[index] = list[index++];\n\t return result;\n\t };\n\t\n\t var addGetter = function (it, key, internal) {\n\t dP(it, key, { get: function () { return this._d[internal]; } });\n\t };\n\t\n\t var $from = function from(source /* , mapfn, thisArg */) {\n\t var O = toObject(source);\n\t var aLen = arguments.length;\n\t var mapfn = aLen > 1 ? arguments[1] : undefined;\n\t var mapping = mapfn !== undefined;\n\t var iterFn = getIterFn(O);\n\t var i, length, values, result, step, iterator;\n\t if (iterFn != undefined && !isArrayIter(iterFn)) {\n\t for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) {\n\t values.push(step.value);\n\t } O = values;\n\t }\n\t if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2);\n\t for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) {\n\t result[i] = mapping ? mapfn(O[i], i) : O[i];\n\t }\n\t return result;\n\t };\n\t\n\t var $of = function of(/* ...items */) {\n\t var index = 0;\n\t var length = arguments.length;\n\t var result = allocate(this, length);\n\t while (length > index) result[index] = arguments[index++];\n\t return result;\n\t };\n\t\n\t // iOS Safari 6.x fails here\n\t var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); });\n\t\n\t var $toLocaleString = function toLocaleString() {\n\t return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);\n\t };\n\t\n\t var proto = {\n\t copyWithin: function copyWithin(target, start /* , end */) {\n\t return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n\t },\n\t every: function every(callbackfn /* , thisArg */) {\n\t return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n\t },\n\t fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars\n\t return arrayFill.apply(validate(this), arguments);\n\t },\n\t filter: function filter(callbackfn /* , thisArg */) {\n\t return speciesFromList(this, arrayFilter(validate(this), callbackfn,\n\t arguments.length > 1 ? arguments[1] : undefined));\n\t },\n\t find: function find(predicate /* , thisArg */) {\n\t return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n\t },\n\t findIndex: function findIndex(predicate /* , thisArg */) {\n\t return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n\t },\n\t forEach: function forEach(callbackfn /* , thisArg */) {\n\t arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n\t },\n\t indexOf: function indexOf(searchElement /* , fromIndex */) {\n\t return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n\t },\n\t includes: function includes(searchElement /* , fromIndex */) {\n\t return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n\t },\n\t join: function join(separator) { // eslint-disable-line no-unused-vars\n\t return arrayJoin.apply(validate(this), arguments);\n\t },\n\t lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars\n\t return arrayLastIndexOf.apply(validate(this), arguments);\n\t },\n\t map: function map(mapfn /* , thisArg */) {\n\t return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);\n\t },\n\t reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n\t return arrayReduce.apply(validate(this), arguments);\n\t },\n\t reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n\t return arrayReduceRight.apply(validate(this), arguments);\n\t },\n\t reverse: function reverse() {\n\t var that = this;\n\t var length = validate(that).length;\n\t var middle = Math.floor(length / 2);\n\t var index = 0;\n\t var value;\n\t while (index < middle) {\n\t value = that[index];\n\t that[index++] = that[--length];\n\t that[length] = value;\n\t } return that;\n\t },\n\t some: function some(callbackfn /* , thisArg */) {\n\t return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n\t },\n\t sort: function sort(comparefn) {\n\t return arraySort.call(validate(this), comparefn);\n\t },\n\t subarray: function subarray(begin, end) {\n\t var O = validate(this);\n\t var length = O.length;\n\t var $begin = toAbsoluteIndex(begin, length);\n\t return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(\n\t O.buffer,\n\t O.byteOffset + $begin * O.BYTES_PER_ELEMENT,\n\t toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin)\n\t );\n\t }\n\t };\n\t\n\t var $slice = function slice(start, end) {\n\t return speciesFromList(this, arraySlice.call(validate(this), start, end));\n\t };\n\t\n\t var $set = function set(arrayLike /* , offset */) {\n\t validate(this);\n\t var offset = toOffset(arguments[1], 1);\n\t var length = this.length;\n\t var src = toObject(arrayLike);\n\t var len = toLength(src.length);\n\t var index = 0;\n\t if (len + offset > length) throw RangeError(WRONG_LENGTH);\n\t while (index < len) this[offset + index] = src[index++];\n\t };\n\t\n\t var $iterators = {\n\t entries: function entries() {\n\t return arrayEntries.call(validate(this));\n\t },\n\t keys: function keys() {\n\t return arrayKeys.call(validate(this));\n\t },\n\t values: function values() {\n\t return arrayValues.call(validate(this));\n\t }\n\t };\n\t\n\t var isTAIndex = function (target, key) {\n\t return isObject(target)\n\t && target[TYPED_ARRAY]\n\t && typeof key != 'symbol'\n\t && key in target\n\t && String(+key) == String(key);\n\t };\n\t var $getDesc = function getOwnPropertyDescriptor(target, key) {\n\t return isTAIndex(target, key = toPrimitive(key, true))\n\t ? propertyDesc(2, target[key])\n\t : gOPD(target, key);\n\t };\n\t var $setDesc = function defineProperty(target, key, desc) {\n\t if (isTAIndex(target, key = toPrimitive(key, true))\n\t && isObject(desc)\n\t && has(desc, 'value')\n\t && !has(desc, 'get')\n\t && !has(desc, 'set')\n\t // TODO: add validation descriptor w/o calling accessors\n\t && !desc.configurable\n\t && (!has(desc, 'writable') || desc.writable)\n\t && (!has(desc, 'enumerable') || desc.enumerable)\n\t ) {\n\t target[key] = desc.value;\n\t return target;\n\t } return dP(target, key, desc);\n\t };\n\t\n\t if (!ALL_CONSTRUCTORS) {\n\t $GOPD.f = $getDesc;\n\t $DP.f = $setDesc;\n\t }\n\t\n\t $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {\n\t getOwnPropertyDescriptor: $getDesc,\n\t defineProperty: $setDesc\n\t });\n\t\n\t if (fails(function () { arrayToString.call({}); })) {\n\t arrayToString = arrayToLocaleString = function toString() {\n\t return arrayJoin.call(this);\n\t };\n\t }\n\t\n\t var $TypedArrayPrototype$ = redefineAll({}, proto);\n\t redefineAll($TypedArrayPrototype$, $iterators);\n\t hide($TypedArrayPrototype$, ITERATOR, $iterators.values);\n\t redefineAll($TypedArrayPrototype$, {\n\t slice: $slice,\n\t set: $set,\n\t constructor: function () { /* noop */ },\n\t toString: arrayToString,\n\t toLocaleString: $toLocaleString\n\t });\n\t addGetter($TypedArrayPrototype$, 'buffer', 'b');\n\t addGetter($TypedArrayPrototype$, 'byteOffset', 'o');\n\t addGetter($TypedArrayPrototype$, 'byteLength', 'l');\n\t addGetter($TypedArrayPrototype$, 'length', 'e');\n\t dP($TypedArrayPrototype$, TAG, {\n\t get: function () { return this[TYPED_ARRAY]; }\n\t });\n\t\n\t // eslint-disable-next-line max-statements\n\t module.exports = function (KEY, BYTES, wrapper, CLAMPED) {\n\t CLAMPED = !!CLAMPED;\n\t var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array';\n\t var GETTER = 'get' + KEY;\n\t var SETTER = 'set' + KEY;\n\t var TypedArray = global[NAME];\n\t var Base = TypedArray || {};\n\t var TAC = TypedArray && getPrototypeOf(TypedArray);\n\t var FORCED = !TypedArray || !$typed.ABV;\n\t var O = {};\n\t var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];\n\t var getter = function (that, index) {\n\t var data = that._d;\n\t return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);\n\t };\n\t var setter = function (that, index, value) {\n\t var data = that._d;\n\t if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;\n\t data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);\n\t };\n\t var addElement = function (that, index) {\n\t dP(that, index, {\n\t get: function () {\n\t return getter(this, index);\n\t },\n\t set: function (value) {\n\t return setter(this, index, value);\n\t },\n\t enumerable: true\n\t });\n\t };\n\t if (FORCED) {\n\t TypedArray = wrapper(function (that, data, $offset, $length) {\n\t anInstance(that, TypedArray, NAME, '_d');\n\t var index = 0;\n\t var offset = 0;\n\t var buffer, byteLength, length, klass;\n\t if (!isObject(data)) {\n\t length = toIndex(data);\n\t byteLength = length * BYTES;\n\t buffer = new $ArrayBuffer(byteLength);\n\t } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n\t buffer = data;\n\t offset = toOffset($offset, BYTES);\n\t var $len = data.byteLength;\n\t if ($length === undefined) {\n\t if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n\t byteLength = $len - offset;\n\t if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n\t } else {\n\t byteLength = toLength($length) * BYTES;\n\t if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH);\n\t }\n\t length = byteLength / BYTES;\n\t } else if (TYPED_ARRAY in data) {\n\t return fromList(TypedArray, data);\n\t } else {\n\t return $from.call(TypedArray, data);\n\t }\n\t hide(that, '_d', {\n\t b: buffer,\n\t o: offset,\n\t l: byteLength,\n\t e: length,\n\t v: new $DataView(buffer)\n\t });\n\t while (index < length) addElement(that, index++);\n\t });\n\t TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);\n\t hide(TypedArrayPrototype, 'constructor', TypedArray);\n\t } else if (!fails(function () {\n\t TypedArray(1);\n\t }) || !fails(function () {\n\t new TypedArray(-1); // eslint-disable-line no-new\n\t }) || !$iterDetect(function (iter) {\n\t new TypedArray(); // eslint-disable-line no-new\n\t new TypedArray(null); // eslint-disable-line no-new\n\t new TypedArray(1.5); // eslint-disable-line no-new\n\t new TypedArray(iter); // eslint-disable-line no-new\n\t }, true)) {\n\t TypedArray = wrapper(function (that, data, $offset, $length) {\n\t anInstance(that, TypedArray, NAME);\n\t var klass;\n\t // `ws` module bug, temporarily remove validation length for Uint8Array\n\t // https://github.com/websockets/ws/pull/645\n\t if (!isObject(data)) return new Base(toIndex(data));\n\t if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n\t return $length !== undefined\n\t ? new Base(data, toOffset($offset, BYTES), $length)\n\t : $offset !== undefined\n\t ? new Base(data, toOffset($offset, BYTES))\n\t : new Base(data);\n\t }\n\t if (TYPED_ARRAY in data) return fromList(TypedArray, data);\n\t return $from.call(TypedArray, data);\n\t });\n\t arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) {\n\t if (!(key in TypedArray)) hide(TypedArray, key, Base[key]);\n\t });\n\t TypedArray[PROTOTYPE] = TypedArrayPrototype;\n\t if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray;\n\t }\n\t var $nativeIterator = TypedArrayPrototype[ITERATOR];\n\t var CORRECT_ITER_NAME = !!$nativeIterator\n\t && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined);\n\t var $iterator = $iterators.values;\n\t hide(TypedArray, TYPED_CONSTRUCTOR, true);\n\t hide(TypedArrayPrototype, TYPED_ARRAY, NAME);\n\t hide(TypedArrayPrototype, VIEW, true);\n\t hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);\n\t\n\t if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) {\n\t dP(TypedArrayPrototype, TAG, {\n\t get: function () { return NAME; }\n\t });\n\t }\n\t\n\t O[NAME] = TypedArray;\n\t\n\t $export($export.G + $export.W + $export.F * (TypedArray != Base), O);\n\t\n\t $export($export.S, NAME, {\n\t BYTES_PER_ELEMENT: BYTES\n\t });\n\t\n\t $export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, {\n\t from: $from,\n\t of: $of\n\t });\n\t\n\t if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);\n\t\n\t $export($export.P, NAME, proto);\n\t\n\t setSpecies(NAME);\n\t\n\t $export($export.P + $export.F * FORCED_SET, NAME, { set: $set });\n\t\n\t $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);\n\t\n\t if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString;\n\t\n\t $export($export.P + $export.F * fails(function () {\n\t new TypedArray(1).slice();\n\t }), NAME, { slice: $slice });\n\t\n\t $export($export.P + $export.F * (fails(function () {\n\t return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString();\n\t }) || !fails(function () {\n\t TypedArrayPrototype.toLocaleString.call([1, 2]);\n\t })), NAME, { toLocaleString: $toLocaleString });\n\t\n\t Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;\n\t if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator);\n\t };\n\t} else module.exports = function () { /* empty */ };\n\n\n/***/ },\n/* 231 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(230)('Uint8', 1, function (init) {\n\t return function Uint8Array(data, byteOffset, length) {\n\t return init(this, data, byteOffset, length);\n\t };\n\t});\n\n\n/***/ },\n/* 232 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(230)('Uint8', 1, function (init) {\n\t return function Uint8ClampedArray(data, byteOffset, length) {\n\t return init(this, data, byteOffset, length);\n\t };\n\t}, true);\n\n\n/***/ },\n/* 233 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(230)('Int16', 2, function (init) {\n\t return function Int16Array(data, byteOffset, length) {\n\t return init(this, data, byteOffset, length);\n\t };\n\t});\n\n\n/***/ },\n/* 234 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(230)('Uint16', 2, function (init) {\n\t return function Uint16Array(data, byteOffset, length) {\n\t return init(this, data, byteOffset, length);\n\t };\n\t});\n\n\n/***/ },\n/* 235 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(230)('Int32', 4, function (init) {\n\t return function Int32Array(data, byteOffset, length) {\n\t return init(this, data, byteOffset, length);\n\t };\n\t});\n\n\n/***/ },\n/* 236 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(230)('Uint32', 4, function (init) {\n\t return function Uint32Array(data, byteOffset, length) {\n\t return init(this, data, byteOffset, length);\n\t };\n\t});\n\n\n/***/ },\n/* 237 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(230)('Float32', 4, function (init) {\n\t return function Float32Array(data, byteOffset, length) {\n\t return init(this, data, byteOffset, length);\n\t };\n\t});\n\n\n/***/ },\n/* 238 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(230)('Float64', 8, function (init) {\n\t return function Float64Array(data, byteOffset, length) {\n\t return init(this, data, byteOffset, length);\n\t };\n\t});\n\n\n/***/ },\n/* 239 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\n\tvar $export = __webpack_require__(8);\n\tvar aFunction = __webpack_require__(21);\n\tvar anObject = __webpack_require__(12);\n\tvar rApply = (__webpack_require__(4).Reflect || {}).apply;\n\tvar fApply = Function.apply;\n\t// MS Edge argumentsList argument is optional\n\t$export($export.S + $export.F * !__webpack_require__(7)(function () {\n\t rApply(function () { /* empty */ });\n\t}), 'Reflect', {\n\t apply: function apply(target, thisArgument, argumentsList) {\n\t var T = aFunction(target);\n\t var L = anObject(argumentsList);\n\t return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n\t }\n\t});\n\n\n/***/ },\n/* 240 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\n\tvar $export = __webpack_require__(8);\n\tvar create = __webpack_require__(45);\n\tvar aFunction = __webpack_require__(21);\n\tvar anObject = __webpack_require__(12);\n\tvar isObject = __webpack_require__(13);\n\tvar fails = __webpack_require__(7);\n\tvar bind = __webpack_require__(76);\n\tvar rConstruct = (__webpack_require__(4).Reflect || {}).construct;\n\t\n\t// MS Edge supports only 2 arguments and argumentsList argument is optional\n\t// FF Nightly sets third argument as `new.target`, but does not create `this` from it\n\tvar NEW_TARGET_BUG = fails(function () {\n\t function F() { /* empty */ }\n\t return !(rConstruct(function () { /* empty */ }, [], F) instanceof F);\n\t});\n\tvar ARGS_BUG = !fails(function () {\n\t rConstruct(function () { /* empty */ });\n\t});\n\t\n\t$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\n\t construct: function construct(Target, args /* , newTarget */) {\n\t aFunction(Target);\n\t anObject(args);\n\t var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n\t if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget);\n\t if (Target == newTarget) {\n\t // w/o altered newTarget, optimization for 0-4 arguments\n\t switch (args.length) {\n\t case 0: return new Target();\n\t case 1: return new Target(args[0]);\n\t case 2: return new Target(args[0], args[1]);\n\t case 3: return new Target(args[0], args[1], args[2]);\n\t case 4: return new Target(args[0], args[1], args[2], args[3]);\n\t }\n\t // w/o altered newTarget, lot of arguments case\n\t var $args = [null];\n\t $args.push.apply($args, args);\n\t return new (bind.apply(Target, $args))();\n\t }\n\t // with altered newTarget, not support built-in constructors\n\t var proto = newTarget.prototype;\n\t var instance = create(isObject(proto) ? proto : Object.prototype);\n\t var result = Function.apply.call(Target, instance, args);\n\t return isObject(result) ? result : instance;\n\t }\n\t});\n\n\n/***/ },\n/* 241 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)\n\tvar dP = __webpack_require__(11);\n\tvar $export = __webpack_require__(8);\n\tvar anObject = __webpack_require__(12);\n\tvar toPrimitive = __webpack_require__(16);\n\t\n\t// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\n\t$export($export.S + $export.F * __webpack_require__(7)(function () {\n\t // eslint-disable-next-line no-undef\n\t Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 });\n\t}), 'Reflect', {\n\t defineProperty: function defineProperty(target, propertyKey, attributes) {\n\t anObject(target);\n\t propertyKey = toPrimitive(propertyKey, true);\n\t anObject(attributes);\n\t try {\n\t dP.f(target, propertyKey, attributes);\n\t return true;\n\t } catch (e) {\n\t return false;\n\t }\n\t }\n\t});\n\n\n/***/ },\n/* 242 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 26.1.4 Reflect.deleteProperty(target, propertyKey)\n\tvar $export = __webpack_require__(8);\n\tvar gOPD = __webpack_require__(50).f;\n\tvar anObject = __webpack_require__(12);\n\t\n\t$export($export.S, 'Reflect', {\n\t deleteProperty: function deleteProperty(target, propertyKey) {\n\t var desc = gOPD(anObject(target), propertyKey);\n\t return desc && !desc.configurable ? false : delete target[propertyKey];\n\t }\n\t});\n\n\n/***/ },\n/* 243 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// 26.1.5 Reflect.enumerate(target)\n\tvar $export = __webpack_require__(8);\n\tvar anObject = __webpack_require__(12);\n\tvar Enumerate = function (iterated) {\n\t this._t = anObject(iterated); // target\n\t this._i = 0; // next index\n\t var keys = this._k = []; // keys\n\t var key;\n\t for (key in iterated) keys.push(key);\n\t};\n\t__webpack_require__(130)(Enumerate, 'Object', function () {\n\t var that = this;\n\t var keys = that._k;\n\t var key;\n\t do {\n\t if (that._i >= keys.length) return { value: undefined, done: true };\n\t } while (!((key = keys[that._i++]) in that._t));\n\t return { value: key, done: false };\n\t});\n\t\n\t$export($export.S, 'Reflect', {\n\t enumerate: function enumerate(target) {\n\t return new Enumerate(target);\n\t }\n\t});\n\n\n/***/ },\n/* 244 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 26.1.6 Reflect.get(target, propertyKey [, receiver])\n\tvar gOPD = __webpack_require__(50);\n\tvar getPrototypeOf = __webpack_require__(58);\n\tvar has = __webpack_require__(5);\n\tvar $export = __webpack_require__(8);\n\tvar isObject = __webpack_require__(13);\n\tvar anObject = __webpack_require__(12);\n\t\n\tfunction get(target, propertyKey /* , receiver */) {\n\t var receiver = arguments.length < 3 ? target : arguments[2];\n\t var desc, proto;\n\t if (anObject(target) === receiver) return target[propertyKey];\n\t if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value')\n\t ? desc.value\n\t : desc.get !== undefined\n\t ? desc.get.call(receiver)\n\t : undefined;\n\t if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver);\n\t}\n\t\n\t$export($export.S, 'Reflect', { get: get });\n\n\n/***/ },\n/* 245 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)\n\tvar gOPD = __webpack_require__(50);\n\tvar $export = __webpack_require__(8);\n\tvar anObject = __webpack_require__(12);\n\t\n\t$export($export.S, 'Reflect', {\n\t getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {\n\t return gOPD.f(anObject(target), propertyKey);\n\t }\n\t});\n\n\n/***/ },\n/* 246 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 26.1.8 Reflect.getPrototypeOf(target)\n\tvar $export = __webpack_require__(8);\n\tvar getProto = __webpack_require__(58);\n\tvar anObject = __webpack_require__(12);\n\t\n\t$export($export.S, 'Reflect', {\n\t getPrototypeOf: function getPrototypeOf(target) {\n\t return getProto(anObject(target));\n\t }\n\t});\n\n\n/***/ },\n/* 247 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 26.1.9 Reflect.has(target, propertyKey)\n\tvar $export = __webpack_require__(8);\n\t\n\t$export($export.S, 'Reflect', {\n\t has: function has(target, propertyKey) {\n\t return propertyKey in target;\n\t }\n\t});\n\n\n/***/ },\n/* 248 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 26.1.10 Reflect.isExtensible(target)\n\tvar $export = __webpack_require__(8);\n\tvar anObject = __webpack_require__(12);\n\tvar $isExtensible = Object.isExtensible;\n\t\n\t$export($export.S, 'Reflect', {\n\t isExtensible: function isExtensible(target) {\n\t anObject(target);\n\t return $isExtensible ? $isExtensible(target) : true;\n\t }\n\t});\n\n\n/***/ },\n/* 249 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 26.1.11 Reflect.ownKeys(target)\n\tvar $export = __webpack_require__(8);\n\t\n\t$export($export.S, 'Reflect', { ownKeys: __webpack_require__(250) });\n\n\n/***/ },\n/* 250 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// all object keys, includes non-enumerable and symbols\n\tvar gOPN = __webpack_require__(49);\n\tvar gOPS = __webpack_require__(42);\n\tvar anObject = __webpack_require__(12);\n\tvar Reflect = __webpack_require__(4).Reflect;\n\tmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {\n\t var keys = gOPN.f(anObject(it));\n\t var getSymbols = gOPS.f;\n\t return getSymbols ? keys.concat(getSymbols(it)) : keys;\n\t};\n\n\n/***/ },\n/* 251 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 26.1.12 Reflect.preventExtensions(target)\n\tvar $export = __webpack_require__(8);\n\tvar anObject = __webpack_require__(12);\n\tvar $preventExtensions = Object.preventExtensions;\n\t\n\t$export($export.S, 'Reflect', {\n\t preventExtensions: function preventExtensions(target) {\n\t anObject(target);\n\t try {\n\t if ($preventExtensions) $preventExtensions(target);\n\t return true;\n\t } catch (e) {\n\t return false;\n\t }\n\t }\n\t});\n\n\n/***/ },\n/* 252 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])\n\tvar dP = __webpack_require__(11);\n\tvar gOPD = __webpack_require__(50);\n\tvar getPrototypeOf = __webpack_require__(58);\n\tvar has = __webpack_require__(5);\n\tvar $export = __webpack_require__(8);\n\tvar createDesc = __webpack_require__(17);\n\tvar anObject = __webpack_require__(12);\n\tvar isObject = __webpack_require__(13);\n\t\n\tfunction set(target, propertyKey, V /* , receiver */) {\n\t var receiver = arguments.length < 4 ? target : arguments[3];\n\t var ownDesc = gOPD.f(anObject(target), propertyKey);\n\t var existingDescriptor, proto;\n\t if (!ownDesc) {\n\t if (isObject(proto = getPrototypeOf(target))) {\n\t return set(proto, propertyKey, V, receiver);\n\t }\n\t ownDesc = createDesc(0);\n\t }\n\t if (has(ownDesc, 'value')) {\n\t if (ownDesc.writable === false || !isObject(receiver)) return false;\n\t if (existingDescriptor = gOPD.f(receiver, propertyKey)) {\n\t if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;\n\t existingDescriptor.value = V;\n\t dP.f(receiver, propertyKey, existingDescriptor);\n\t } else dP.f(receiver, propertyKey, createDesc(0, V));\n\t return true;\n\t }\n\t return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);\n\t}\n\t\n\t$export($export.S, 'Reflect', { set: set });\n\n\n/***/ },\n/* 253 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 26.1.14 Reflect.setPrototypeOf(target, proto)\n\tvar $export = __webpack_require__(8);\n\tvar setProto = __webpack_require__(72);\n\t\n\tif (setProto) $export($export.S, 'Reflect', {\n\t setPrototypeOf: function setPrototypeOf(target, proto) {\n\t setProto.check(target, proto);\n\t try {\n\t setProto.set(target, proto);\n\t return true;\n\t } catch (e) {\n\t return false;\n\t }\n\t }\n\t});\n\n\n/***/ },\n/* 254 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// https://github.com/tc39/Array.prototype.includes\n\tvar $export = __webpack_require__(8);\n\tvar $includes = __webpack_require__(36)(true);\n\t\n\t$export($export.P, 'Array', {\n\t includes: function includes(el /* , fromIndex = 0 */) {\n\t return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n\t }\n\t});\n\t\n\t__webpack_require__(187)('includes');\n\n\n/***/ },\n/* 255 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatMap\n\tvar $export = __webpack_require__(8);\n\tvar flattenIntoArray = __webpack_require__(256);\n\tvar toObject = __webpack_require__(57);\n\tvar toLength = __webpack_require__(37);\n\tvar aFunction = __webpack_require__(21);\n\tvar arraySpeciesCreate = __webpack_require__(174);\n\t\n\t$export($export.P, 'Array', {\n\t flatMap: function flatMap(callbackfn /* , thisArg */) {\n\t var O = toObject(this);\n\t var sourceLen, A;\n\t aFunction(callbackfn);\n\t sourceLen = toLength(O.length);\n\t A = arraySpeciesCreate(O, 0);\n\t flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments[1]);\n\t return A;\n\t }\n\t});\n\t\n\t__webpack_require__(187)('flatMap');\n\n\n/***/ },\n/* 256 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray\n\tvar isArray = __webpack_require__(44);\n\tvar isObject = __webpack_require__(13);\n\tvar toLength = __webpack_require__(37);\n\tvar ctx = __webpack_require__(20);\n\tvar IS_CONCAT_SPREADABLE = __webpack_require__(26)('isConcatSpreadable');\n\t\n\tfunction flattenIntoArray(target, original, source, sourceLen, start, depth, mapper, thisArg) {\n\t var targetIndex = start;\n\t var sourceIndex = 0;\n\t var mapFn = mapper ? ctx(mapper, thisArg, 3) : false;\n\t var element, spreadable;\n\t\n\t while (sourceIndex < sourceLen) {\n\t if (sourceIndex in source) {\n\t element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];\n\t\n\t spreadable = false;\n\t if (isObject(element)) {\n\t spreadable = element[IS_CONCAT_SPREADABLE];\n\t spreadable = spreadable !== undefined ? !!spreadable : isArray(element);\n\t }\n\t\n\t if (spreadable && depth > 0) {\n\t targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1;\n\t } else {\n\t if (targetIndex >= 0x1fffffffffffff) throw TypeError();\n\t target[targetIndex] = element;\n\t }\n\t\n\t targetIndex++;\n\t }\n\t sourceIndex++;\n\t }\n\t return targetIndex;\n\t}\n\t\n\tmodule.exports = flattenIntoArray;\n\n\n/***/ },\n/* 257 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatten\n\tvar $export = __webpack_require__(8);\n\tvar flattenIntoArray = __webpack_require__(256);\n\tvar toObject = __webpack_require__(57);\n\tvar toLength = __webpack_require__(37);\n\tvar toInteger = __webpack_require__(38);\n\tvar arraySpeciesCreate = __webpack_require__(174);\n\t\n\t$export($export.P, 'Array', {\n\t flatten: function flatten(/* depthArg = 1 */) {\n\t var depthArg = arguments[0];\n\t var O = toObject(this);\n\t var sourceLen = toLength(O.length);\n\t var A = arraySpeciesCreate(O, 0);\n\t flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg));\n\t return A;\n\t }\n\t});\n\t\n\t__webpack_require__(187)('flatten');\n\n\n/***/ },\n/* 258 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// https://github.com/mathiasbynens/String.prototype.at\n\tvar $export = __webpack_require__(8);\n\tvar $at = __webpack_require__(127)(true);\n\t\n\t$export($export.P, 'String', {\n\t at: function at(pos) {\n\t return $at(this, pos);\n\t }\n\t});\n\n\n/***/ },\n/* 259 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// https://github.com/tc39/proposal-string-pad-start-end\n\tvar $export = __webpack_require__(8);\n\tvar $pad = __webpack_require__(260);\n\tvar userAgent = __webpack_require__(213);\n\t\n\t// https://github.com/zloirock/core-js/issues/280\n\t$export($export.P + $export.F * /Version\\/10\\.\\d+(\\.\\d+)? Safari\\//.test(userAgent), 'String', {\n\t padStart: function padStart(maxLength /* , fillString = ' ' */) {\n\t return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);\n\t }\n\t});\n\n\n/***/ },\n/* 260 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// https://github.com/tc39/proposal-string-pad-start-end\n\tvar toLength = __webpack_require__(37);\n\tvar repeat = __webpack_require__(90);\n\tvar defined = __webpack_require__(35);\n\t\n\tmodule.exports = function (that, maxLength, fillString, left) {\n\t var S = String(defined(that));\n\t var stringLength = S.length;\n\t var fillStr = fillString === undefined ? ' ' : String(fillString);\n\t var intMaxLength = toLength(maxLength);\n\t if (intMaxLength <= stringLength || fillStr == '') return S;\n\t var fillLen = intMaxLength - stringLength;\n\t var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));\n\t if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);\n\t return left ? stringFiller + S : S + stringFiller;\n\t};\n\n\n/***/ },\n/* 261 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// https://github.com/tc39/proposal-string-pad-start-end\n\tvar $export = __webpack_require__(8);\n\tvar $pad = __webpack_require__(260);\n\tvar userAgent = __webpack_require__(213);\n\t\n\t// https://github.com/zloirock/core-js/issues/280\n\t$export($export.P + $export.F * /Version\\/10\\.\\d+(\\.\\d+)? Safari\\//.test(userAgent), 'String', {\n\t padEnd: function padEnd(maxLength /* , fillString = ' ' */) {\n\t return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);\n\t }\n\t});\n\n\n/***/ },\n/* 262 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// https://github.com/sebmarkbage/ecmascript-string-left-right-trim\n\t__webpack_require__(82)('trimLeft', function ($trim) {\n\t return function trimLeft() {\n\t return $trim(this, 1);\n\t };\n\t}, 'trimStart');\n\n\n/***/ },\n/* 263 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// https://github.com/sebmarkbage/ecmascript-string-left-right-trim\n\t__webpack_require__(82)('trimRight', function ($trim) {\n\t return function trimRight() {\n\t return $trim(this, 2);\n\t };\n\t}, 'trimEnd');\n\n\n/***/ },\n/* 264 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// https://tc39.github.io/String.prototype.matchAll/\n\tvar $export = __webpack_require__(8);\n\tvar defined = __webpack_require__(35);\n\tvar toLength = __webpack_require__(37);\n\tvar isRegExp = __webpack_require__(134);\n\tvar getFlags = __webpack_require__(197);\n\tvar RegExpProto = RegExp.prototype;\n\t\n\tvar $RegExpStringIterator = function (regexp, string) {\n\t this._r = regexp;\n\t this._s = string;\n\t};\n\t\n\t__webpack_require__(130)($RegExpStringIterator, 'RegExp String', function next() {\n\t var match = this._r.exec(this._s);\n\t return { value: match, done: match === null };\n\t});\n\t\n\t$export($export.P, 'String', {\n\t matchAll: function matchAll(regexp) {\n\t defined(this);\n\t if (!isRegExp(regexp)) throw TypeError(regexp + ' is not a regexp!');\n\t var S = String(this);\n\t var flags = 'flags' in RegExpProto ? String(regexp.flags) : getFlags.call(regexp);\n\t var rx = new RegExp(regexp.source, ~flags.indexOf('g') ? flags : 'g' + flags);\n\t rx.lastIndex = toLength(regexp.lastIndex);\n\t return new $RegExpStringIterator(rx, S);\n\t }\n\t});\n\n\n/***/ },\n/* 265 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(28)('asyncIterator');\n\n\n/***/ },\n/* 266 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(28)('observable');\n\n\n/***/ },\n/* 267 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// https://github.com/tc39/proposal-object-getownpropertydescriptors\n\tvar $export = __webpack_require__(8);\n\tvar ownKeys = __webpack_require__(250);\n\tvar toIObject = __webpack_require__(32);\n\tvar gOPD = __webpack_require__(50);\n\tvar createProperty = __webpack_require__(164);\n\t\n\t$export($export.S, 'Object', {\n\t getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n\t var O = toIObject(object);\n\t var getDesc = gOPD.f;\n\t var keys = ownKeys(O);\n\t var result = {};\n\t var i = 0;\n\t var key, desc;\n\t while (keys.length > i) {\n\t desc = getDesc(O, key = keys[i++]);\n\t if (desc !== undefined) createProperty(result, key, desc);\n\t }\n\t return result;\n\t }\n\t});\n\n\n/***/ },\n/* 268 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// https://github.com/tc39/proposal-object-values-entries\n\tvar $export = __webpack_require__(8);\n\tvar $values = __webpack_require__(269)(false);\n\t\n\t$export($export.S, 'Object', {\n\t values: function values(it) {\n\t return $values(it);\n\t }\n\t});\n\n\n/***/ },\n/* 269 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getKeys = __webpack_require__(30);\n\tvar toIObject = __webpack_require__(32);\n\tvar isEnum = __webpack_require__(43).f;\n\tmodule.exports = function (isEntries) {\n\t return function (it) {\n\t var O = toIObject(it);\n\t var keys = getKeys(O);\n\t var length = keys.length;\n\t var i = 0;\n\t var result = [];\n\t var key;\n\t while (length > i) if (isEnum.call(O, key = keys[i++])) {\n\t result.push(isEntries ? [key, O[key]] : O[key]);\n\t } return result;\n\t };\n\t};\n\n\n/***/ },\n/* 270 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// https://github.com/tc39/proposal-object-values-entries\n\tvar $export = __webpack_require__(8);\n\tvar $entries = __webpack_require__(269)(true);\n\t\n\t$export($export.S, 'Object', {\n\t entries: function entries(it) {\n\t return $entries(it);\n\t }\n\t});\n\n\n/***/ },\n/* 271 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $export = __webpack_require__(8);\n\tvar toObject = __webpack_require__(57);\n\tvar aFunction = __webpack_require__(21);\n\tvar $defineProperty = __webpack_require__(11);\n\t\n\t// B.2.2.2 Object.prototype.__defineGetter__(P, getter)\n\t__webpack_require__(6) && $export($export.P + __webpack_require__(272), 'Object', {\n\t __defineGetter__: function __defineGetter__(P, getter) {\n\t $defineProperty.f(toObject(this), P, { get: aFunction(getter), enumerable: true, configurable: true });\n\t }\n\t});\n\n\n/***/ },\n/* 272 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// Forced replacement prototype accessors methods\n\tmodule.exports = __webpack_require__(24) || !__webpack_require__(7)(function () {\n\t var K = Math.random();\n\t // In FF throws only define methods\n\t // eslint-disable-next-line no-undef, no-useless-call\n\t __defineSetter__.call(null, K, function () { /* empty */ });\n\t delete __webpack_require__(4)[K];\n\t});\n\n\n/***/ },\n/* 273 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $export = __webpack_require__(8);\n\tvar toObject = __webpack_require__(57);\n\tvar aFunction = __webpack_require__(21);\n\tvar $defineProperty = __webpack_require__(11);\n\t\n\t// B.2.2.3 Object.prototype.__defineSetter__(P, setter)\n\t__webpack_require__(6) && $export($export.P + __webpack_require__(272), 'Object', {\n\t __defineSetter__: function __defineSetter__(P, setter) {\n\t $defineProperty.f(toObject(this), P, { set: aFunction(setter), enumerable: true, configurable: true });\n\t }\n\t});\n\n\n/***/ },\n/* 274 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $export = __webpack_require__(8);\n\tvar toObject = __webpack_require__(57);\n\tvar toPrimitive = __webpack_require__(16);\n\tvar getPrototypeOf = __webpack_require__(58);\n\tvar getOwnPropertyDescriptor = __webpack_require__(50).f;\n\t\n\t// B.2.2.4 Object.prototype.__lookupGetter__(P)\n\t__webpack_require__(6) && $export($export.P + __webpack_require__(272), 'Object', {\n\t __lookupGetter__: function __lookupGetter__(P) {\n\t var O = toObject(this);\n\t var K = toPrimitive(P, true);\n\t var D;\n\t do {\n\t if (D = getOwnPropertyDescriptor(O, K)) return D.get;\n\t } while (O = getPrototypeOf(O));\n\t }\n\t});\n\n\n/***/ },\n/* 275 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $export = __webpack_require__(8);\n\tvar toObject = __webpack_require__(57);\n\tvar toPrimitive = __webpack_require__(16);\n\tvar getPrototypeOf = __webpack_require__(58);\n\tvar getOwnPropertyDescriptor = __webpack_require__(50).f;\n\t\n\t// B.2.2.5 Object.prototype.__lookupSetter__(P)\n\t__webpack_require__(6) && $export($export.P + __webpack_require__(272), 'Object', {\n\t __lookupSetter__: function __lookupSetter__(P) {\n\t var O = toObject(this);\n\t var K = toPrimitive(P, true);\n\t var D;\n\t do {\n\t if (D = getOwnPropertyDescriptor(O, K)) return D.set;\n\t } while (O = getPrototypeOf(O));\n\t }\n\t});\n\n\n/***/ },\n/* 276 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// https://github.com/DavidBruant/Map-Set.prototype.toJSON\n\tvar $export = __webpack_require__(8);\n\t\n\t$export($export.P + $export.R, 'Map', { toJSON: __webpack_require__(277)('Map') });\n\n\n/***/ },\n/* 277 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// https://github.com/DavidBruant/Map-Set.prototype.toJSON\n\tvar classof = __webpack_require__(74);\n\tvar from = __webpack_require__(278);\n\tmodule.exports = function (NAME) {\n\t return function toJSON() {\n\t if (classof(this) != NAME) throw TypeError(NAME + \"#toJSON isn't generic\");\n\t return from(this);\n\t };\n\t};\n\n\n/***/ },\n/* 278 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar forOf = __webpack_require__(207);\n\t\n\tmodule.exports = function (iter, ITERATOR) {\n\t var result = [];\n\t forOf(iter, false, result.push, result, ITERATOR);\n\t return result;\n\t};\n\n\n/***/ },\n/* 279 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// https://github.com/DavidBruant/Map-Set.prototype.toJSON\n\tvar $export = __webpack_require__(8);\n\t\n\t$export($export.P + $export.R, 'Set', { toJSON: __webpack_require__(277)('Set') });\n\n\n/***/ },\n/* 280 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of\n\t__webpack_require__(281)('Map');\n\n\n/***/ },\n/* 281 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// https://tc39.github.io/proposal-setmap-offrom/\n\tvar $export = __webpack_require__(8);\n\t\n\tmodule.exports = function (COLLECTION) {\n\t $export($export.S, COLLECTION, { of: function of() {\n\t var length = arguments.length;\n\t var A = new Array(length);\n\t while (length--) A[length] = arguments[length];\n\t return new this(A);\n\t } });\n\t};\n\n\n/***/ },\n/* 282 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// https://tc39.github.io/proposal-setmap-offrom/#sec-set.of\n\t__webpack_require__(281)('Set');\n\n\n/***/ },\n/* 283 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.of\n\t__webpack_require__(281)('WeakMap');\n\n\n/***/ },\n/* 284 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.of\n\t__webpack_require__(281)('WeakSet');\n\n\n/***/ },\n/* 285 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from\n\t__webpack_require__(286)('Map');\n\n\n/***/ },\n/* 286 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// https://tc39.github.io/proposal-setmap-offrom/\n\tvar $export = __webpack_require__(8);\n\tvar aFunction = __webpack_require__(21);\n\tvar ctx = __webpack_require__(20);\n\tvar forOf = __webpack_require__(207);\n\t\n\tmodule.exports = function (COLLECTION) {\n\t $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) {\n\t var mapFn = arguments[1];\n\t var mapping, A, n, cb;\n\t aFunction(this);\n\t mapping = mapFn !== undefined;\n\t if (mapping) aFunction(mapFn);\n\t if (source == undefined) return new this();\n\t A = [];\n\t if (mapping) {\n\t n = 0;\n\t cb = ctx(mapFn, arguments[2], 2);\n\t forOf(source, false, function (nextItem) {\n\t A.push(cb(nextItem, n++));\n\t });\n\t } else {\n\t forOf(source, false, A.push, A);\n\t }\n\t return new this(A);\n\t } });\n\t};\n\n\n/***/ },\n/* 287 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// https://tc39.github.io/proposal-setmap-offrom/#sec-set.from\n\t__webpack_require__(286)('Set');\n\n\n/***/ },\n/* 288 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.from\n\t__webpack_require__(286)('WeakMap');\n\n\n/***/ },\n/* 289 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.from\n\t__webpack_require__(286)('WeakSet');\n\n\n/***/ },\n/* 290 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// https://github.com/tc39/proposal-global\n\tvar $export = __webpack_require__(8);\n\t\n\t$export($export.G, { global: __webpack_require__(4) });\n\n\n/***/ },\n/* 291 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// https://github.com/tc39/proposal-global\n\tvar $export = __webpack_require__(8);\n\t\n\t$export($export.S, 'System', { global: __webpack_require__(4) });\n\n\n/***/ },\n/* 292 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// https://github.com/ljharb/proposal-is-error\n\tvar $export = __webpack_require__(8);\n\tvar cof = __webpack_require__(34);\n\t\n\t$export($export.S, 'Error', {\n\t isError: function isError(it) {\n\t return cof(it) === 'Error';\n\t }\n\t});\n\n\n/***/ },\n/* 293 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// https://rwaldron.github.io/proposal-math-extensions/\n\tvar $export = __webpack_require__(8);\n\t\n\t$export($export.S, 'Math', {\n\t clamp: function clamp(x, lower, upper) {\n\t return Math.min(upper, Math.max(lower, x));\n\t }\n\t});\n\n\n/***/ },\n/* 294 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// https://rwaldron.github.io/proposal-math-extensions/\n\tvar $export = __webpack_require__(8);\n\t\n\t$export($export.S, 'Math', { DEG_PER_RAD: Math.PI / 180 });\n\n\n/***/ },\n/* 295 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// https://rwaldron.github.io/proposal-math-extensions/\n\tvar $export = __webpack_require__(8);\n\tvar RAD_PER_DEG = 180 / Math.PI;\n\t\n\t$export($export.S, 'Math', {\n\t degrees: function degrees(radians) {\n\t return radians * RAD_PER_DEG;\n\t }\n\t});\n\n\n/***/ },\n/* 296 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// https://rwaldron.github.io/proposal-math-extensions/\n\tvar $export = __webpack_require__(8);\n\tvar scale = __webpack_require__(297);\n\tvar fround = __webpack_require__(113);\n\t\n\t$export($export.S, 'Math', {\n\t fscale: function fscale(x, inLow, inHigh, outLow, outHigh) {\n\t return fround(scale(x, inLow, inHigh, outLow, outHigh));\n\t }\n\t});\n\n\n/***/ },\n/* 297 */\n/***/ function(module, exports) {\n\n\t// https://rwaldron.github.io/proposal-math-extensions/\n\tmodule.exports = Math.scale || function scale(x, inLow, inHigh, outLow, outHigh) {\n\t if (\n\t arguments.length === 0\n\t // eslint-disable-next-line no-self-compare\n\t || x != x\n\t // eslint-disable-next-line no-self-compare\n\t || inLow != inLow\n\t // eslint-disable-next-line no-self-compare\n\t || inHigh != inHigh\n\t // eslint-disable-next-line no-self-compare\n\t || outLow != outLow\n\t // eslint-disable-next-line no-self-compare\n\t || outHigh != outHigh\n\t ) return NaN;\n\t if (x === Infinity || x === -Infinity) return x;\n\t return (x - inLow) * (outHigh - outLow) / (inHigh - inLow) + outLow;\n\t};\n\n\n/***/ },\n/* 298 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\n\tvar $export = __webpack_require__(8);\n\t\n\t$export($export.S, 'Math', {\n\t iaddh: function iaddh(x0, x1, y0, y1) {\n\t var $x0 = x0 >>> 0;\n\t var $x1 = x1 >>> 0;\n\t var $y0 = y0 >>> 0;\n\t return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0;\n\t }\n\t});\n\n\n/***/ },\n/* 299 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\n\tvar $export = __webpack_require__(8);\n\t\n\t$export($export.S, 'Math', {\n\t isubh: function isubh(x0, x1, y0, y1) {\n\t var $x0 = x0 >>> 0;\n\t var $x1 = x1 >>> 0;\n\t var $y0 = y0 >>> 0;\n\t return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0;\n\t }\n\t});\n\n\n/***/ },\n/* 300 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\n\tvar $export = __webpack_require__(8);\n\t\n\t$export($export.S, 'Math', {\n\t imulh: function imulh(u, v) {\n\t var UINT16 = 0xffff;\n\t var $u = +u;\n\t var $v = +v;\n\t var u0 = $u & UINT16;\n\t var v0 = $v & UINT16;\n\t var u1 = $u >> 16;\n\t var v1 = $v >> 16;\n\t var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);\n\t return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16);\n\t }\n\t});\n\n\n/***/ },\n/* 301 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// https://rwaldron.github.io/proposal-math-extensions/\n\tvar $export = __webpack_require__(8);\n\t\n\t$export($export.S, 'Math', { RAD_PER_DEG: 180 / Math.PI });\n\n\n/***/ },\n/* 302 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// https://rwaldron.github.io/proposal-math-extensions/\n\tvar $export = __webpack_require__(8);\n\tvar DEG_PER_RAD = Math.PI / 180;\n\t\n\t$export($export.S, 'Math', {\n\t radians: function radians(degrees) {\n\t return degrees * DEG_PER_RAD;\n\t }\n\t});\n\n\n/***/ },\n/* 303 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// https://rwaldron.github.io/proposal-math-extensions/\n\tvar $export = __webpack_require__(8);\n\t\n\t$export($export.S, 'Math', { scale: __webpack_require__(297) });\n\n\n/***/ },\n/* 304 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\n\tvar $export = __webpack_require__(8);\n\t\n\t$export($export.S, 'Math', {\n\t umulh: function umulh(u, v) {\n\t var UINT16 = 0xffff;\n\t var $u = +u;\n\t var $v = +v;\n\t var u0 = $u & UINT16;\n\t var v0 = $v & UINT16;\n\t var u1 = $u >>> 16;\n\t var v1 = $v >>> 16;\n\t var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);\n\t return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16);\n\t }\n\t});\n\n\n/***/ },\n/* 305 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// http://jfbastien.github.io/papers/Math.signbit.html\n\tvar $export = __webpack_require__(8);\n\t\n\t$export($export.S, 'Math', { signbit: function signbit(x) {\n\t // eslint-disable-next-line no-self-compare\n\t return (x = +x) != x ? x : x == 0 ? 1 / x == Infinity : x > 0;\n\t} });\n\n\n/***/ },\n/* 306 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// https://github.com/tc39/proposal-promise-finally\n\t'use strict';\n\tvar $export = __webpack_require__(8);\n\tvar core = __webpack_require__(9);\n\tvar global = __webpack_require__(4);\n\tvar speciesConstructor = __webpack_require__(208);\n\tvar promiseResolve = __webpack_require__(214);\n\t\n\t$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n\t var C = speciesConstructor(this, core.Promise || global.Promise);\n\t var isFunction = typeof onFinally == 'function';\n\t return this.then(\n\t isFunction ? function (x) {\n\t return promiseResolve(C, onFinally()).then(function () { return x; });\n\t } : onFinally,\n\t isFunction ? function (e) {\n\t return promiseResolve(C, onFinally()).then(function () { throw e; });\n\t } : onFinally\n\t );\n\t} });\n\n\n/***/ },\n/* 307 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// https://github.com/tc39/proposal-promise-try\n\tvar $export = __webpack_require__(8);\n\tvar newPromiseCapability = __webpack_require__(211);\n\tvar perform = __webpack_require__(212);\n\t\n\t$export($export.S, 'Promise', { 'try': function (callbackfn) {\n\t var promiseCapability = newPromiseCapability.f(this);\n\t var result = perform(callbackfn);\n\t (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n\t return promiseCapability.promise;\n\t} });\n\n\n/***/ },\n/* 308 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar metadata = __webpack_require__(309);\n\tvar anObject = __webpack_require__(12);\n\tvar toMetaKey = metadata.key;\n\tvar ordinaryDefineOwnMetadata = metadata.set;\n\t\n\tmetadata.exp({ defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey) {\n\t ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey));\n\t} });\n\n\n/***/ },\n/* 309 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Map = __webpack_require__(216);\n\tvar $export = __webpack_require__(8);\n\tvar shared = __webpack_require__(23)('metadata');\n\tvar store = shared.store || (shared.store = new (__webpack_require__(221))());\n\t\n\tvar getOrCreateMetadataMap = function (target, targetKey, create) {\n\t var targetMetadata = store.get(target);\n\t if (!targetMetadata) {\n\t if (!create) return undefined;\n\t store.set(target, targetMetadata = new Map());\n\t }\n\t var keyMetadata = targetMetadata.get(targetKey);\n\t if (!keyMetadata) {\n\t if (!create) return undefined;\n\t targetMetadata.set(targetKey, keyMetadata = new Map());\n\t } return keyMetadata;\n\t};\n\tvar ordinaryHasOwnMetadata = function (MetadataKey, O, P) {\n\t var metadataMap = getOrCreateMetadataMap(O, P, false);\n\t return metadataMap === undefined ? false : metadataMap.has(MetadataKey);\n\t};\n\tvar ordinaryGetOwnMetadata = function (MetadataKey, O, P) {\n\t var metadataMap = getOrCreateMetadataMap(O, P, false);\n\t return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);\n\t};\n\tvar ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) {\n\t getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);\n\t};\n\tvar ordinaryOwnMetadataKeys = function (target, targetKey) {\n\t var metadataMap = getOrCreateMetadataMap(target, targetKey, false);\n\t var keys = [];\n\t if (metadataMap) metadataMap.forEach(function (_, key) { keys.push(key); });\n\t return keys;\n\t};\n\tvar toMetaKey = function (it) {\n\t return it === undefined || typeof it == 'symbol' ? it : String(it);\n\t};\n\tvar exp = function (O) {\n\t $export($export.S, 'Reflect', O);\n\t};\n\t\n\tmodule.exports = {\n\t store: store,\n\t map: getOrCreateMetadataMap,\n\t has: ordinaryHasOwnMetadata,\n\t get: ordinaryGetOwnMetadata,\n\t set: ordinaryDefineOwnMetadata,\n\t keys: ordinaryOwnMetadataKeys,\n\t key: toMetaKey,\n\t exp: exp\n\t};\n\n\n/***/ },\n/* 310 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar metadata = __webpack_require__(309);\n\tvar anObject = __webpack_require__(12);\n\tvar toMetaKey = metadata.key;\n\tvar getOrCreateMetadataMap = metadata.map;\n\tvar store = metadata.store;\n\t\n\tmetadata.exp({ deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) {\n\t var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]);\n\t var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);\n\t if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false;\n\t if (metadataMap.size) return true;\n\t var targetMetadata = store.get(target);\n\t targetMetadata['delete'](targetKey);\n\t return !!targetMetadata.size || store['delete'](target);\n\t} });\n\n\n/***/ },\n/* 311 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar metadata = __webpack_require__(309);\n\tvar anObject = __webpack_require__(12);\n\tvar getPrototypeOf = __webpack_require__(58);\n\tvar ordinaryHasOwnMetadata = metadata.has;\n\tvar ordinaryGetOwnMetadata = metadata.get;\n\tvar toMetaKey = metadata.key;\n\t\n\tvar ordinaryGetMetadata = function (MetadataKey, O, P) {\n\t var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n\t if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P);\n\t var parent = getPrototypeOf(O);\n\t return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;\n\t};\n\t\n\tmetadata.exp({ getMetadata: function getMetadata(metadataKey, target /* , targetKey */) {\n\t return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n\t} });\n\n\n/***/ },\n/* 312 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Set = __webpack_require__(220);\n\tvar from = __webpack_require__(278);\n\tvar metadata = __webpack_require__(309);\n\tvar anObject = __webpack_require__(12);\n\tvar getPrototypeOf = __webpack_require__(58);\n\tvar ordinaryOwnMetadataKeys = metadata.keys;\n\tvar toMetaKey = metadata.key;\n\t\n\tvar ordinaryMetadataKeys = function (O, P) {\n\t var oKeys = ordinaryOwnMetadataKeys(O, P);\n\t var parent = getPrototypeOf(O);\n\t if (parent === null) return oKeys;\n\t var pKeys = ordinaryMetadataKeys(parent, P);\n\t return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;\n\t};\n\t\n\tmetadata.exp({ getMetadataKeys: function getMetadataKeys(target /* , targetKey */) {\n\t return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n\t} });\n\n\n/***/ },\n/* 313 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar metadata = __webpack_require__(309);\n\tvar anObject = __webpack_require__(12);\n\tvar ordinaryGetOwnMetadata = metadata.get;\n\tvar toMetaKey = metadata.key;\n\t\n\tmetadata.exp({ getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */) {\n\t return ordinaryGetOwnMetadata(metadataKey, anObject(target)\n\t , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n\t} });\n\n\n/***/ },\n/* 314 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar metadata = __webpack_require__(309);\n\tvar anObject = __webpack_require__(12);\n\tvar ordinaryOwnMetadataKeys = metadata.keys;\n\tvar toMetaKey = metadata.key;\n\t\n\tmetadata.exp({ getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) {\n\t return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n\t} });\n\n\n/***/ },\n/* 315 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar metadata = __webpack_require__(309);\n\tvar anObject = __webpack_require__(12);\n\tvar getPrototypeOf = __webpack_require__(58);\n\tvar ordinaryHasOwnMetadata = metadata.has;\n\tvar toMetaKey = metadata.key;\n\t\n\tvar ordinaryHasMetadata = function (MetadataKey, O, P) {\n\t var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n\t if (hasOwn) return true;\n\t var parent = getPrototypeOf(O);\n\t return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;\n\t};\n\t\n\tmetadata.exp({ hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */) {\n\t return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n\t} });\n\n\n/***/ },\n/* 316 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar metadata = __webpack_require__(309);\n\tvar anObject = __webpack_require__(12);\n\tvar ordinaryHasOwnMetadata = metadata.has;\n\tvar toMetaKey = metadata.key;\n\t\n\tmetadata.exp({ hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */) {\n\t return ordinaryHasOwnMetadata(metadataKey, anObject(target)\n\t , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n\t} });\n\n\n/***/ },\n/* 317 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar $metadata = __webpack_require__(309);\n\tvar anObject = __webpack_require__(12);\n\tvar aFunction = __webpack_require__(21);\n\tvar toMetaKey = $metadata.key;\n\tvar ordinaryDefineOwnMetadata = $metadata.set;\n\t\n\t$metadata.exp({ metadata: function metadata(metadataKey, metadataValue) {\n\t return function decorator(target, targetKey) {\n\t ordinaryDefineOwnMetadata(\n\t metadataKey, metadataValue,\n\t (targetKey !== undefined ? anObject : aFunction)(target),\n\t toMetaKey(targetKey)\n\t );\n\t };\n\t} });\n\n\n/***/ },\n/* 318 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-09/sept-25.md#510-globalasap-for-enqueuing-a-microtask\n\tvar $export = __webpack_require__(8);\n\tvar microtask = __webpack_require__(210)();\n\tvar process = __webpack_require__(4).process;\n\tvar isNode = __webpack_require__(34)(process) == 'process';\n\t\n\t$export($export.G, {\n\t asap: function asap(fn) {\n\t var domain = isNode && process.domain;\n\t microtask(domain ? domain.bind(fn) : fn);\n\t }\n\t});\n\n\n/***/ },\n/* 319 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// https://github.com/zenparsing/es-observable\n\tvar $export = __webpack_require__(8);\n\tvar global = __webpack_require__(4);\n\tvar core = __webpack_require__(9);\n\tvar microtask = __webpack_require__(210)();\n\tvar OBSERVABLE = __webpack_require__(26)('observable');\n\tvar aFunction = __webpack_require__(21);\n\tvar anObject = __webpack_require__(12);\n\tvar anInstance = __webpack_require__(206);\n\tvar redefineAll = __webpack_require__(215);\n\tvar hide = __webpack_require__(10);\n\tvar forOf = __webpack_require__(207);\n\tvar RETURN = forOf.RETURN;\n\t\n\tvar getMethod = function (fn) {\n\t return fn == null ? undefined : aFunction(fn);\n\t};\n\t\n\tvar cleanupSubscription = function (subscription) {\n\t var cleanup = subscription._c;\n\t if (cleanup) {\n\t subscription._c = undefined;\n\t cleanup();\n\t }\n\t};\n\t\n\tvar subscriptionClosed = function (subscription) {\n\t return subscription._o === undefined;\n\t};\n\t\n\tvar closeSubscription = function (subscription) {\n\t if (!subscriptionClosed(subscription)) {\n\t subscription._o = undefined;\n\t cleanupSubscription(subscription);\n\t }\n\t};\n\t\n\tvar Subscription = function (observer, subscriber) {\n\t anObject(observer);\n\t this._c = undefined;\n\t this._o = observer;\n\t observer = new SubscriptionObserver(this);\n\t try {\n\t var cleanup = subscriber(observer);\n\t var subscription = cleanup;\n\t if (cleanup != null) {\n\t if (typeof cleanup.unsubscribe === 'function') cleanup = function () { subscription.unsubscribe(); };\n\t else aFunction(cleanup);\n\t this._c = cleanup;\n\t }\n\t } catch (e) {\n\t observer.error(e);\n\t return;\n\t } if (subscriptionClosed(this)) cleanupSubscription(this);\n\t};\n\t\n\tSubscription.prototype = redefineAll({}, {\n\t unsubscribe: function unsubscribe() { closeSubscription(this); }\n\t});\n\t\n\tvar SubscriptionObserver = function (subscription) {\n\t this._s = subscription;\n\t};\n\t\n\tSubscriptionObserver.prototype = redefineAll({}, {\n\t next: function next(value) {\n\t var subscription = this._s;\n\t if (!subscriptionClosed(subscription)) {\n\t var observer = subscription._o;\n\t try {\n\t var m = getMethod(observer.next);\n\t if (m) return m.call(observer, value);\n\t } catch (e) {\n\t try {\n\t closeSubscription(subscription);\n\t } finally {\n\t throw e;\n\t }\n\t }\n\t }\n\t },\n\t error: function error(value) {\n\t var subscription = this._s;\n\t if (subscriptionClosed(subscription)) throw value;\n\t var observer = subscription._o;\n\t subscription._o = undefined;\n\t try {\n\t var m = getMethod(observer.error);\n\t if (!m) throw value;\n\t value = m.call(observer, value);\n\t } catch (e) {\n\t try {\n\t cleanupSubscription(subscription);\n\t } finally {\n\t throw e;\n\t }\n\t } cleanupSubscription(subscription);\n\t return value;\n\t },\n\t complete: function complete(value) {\n\t var subscription = this._s;\n\t if (!subscriptionClosed(subscription)) {\n\t var observer = subscription._o;\n\t subscription._o = undefined;\n\t try {\n\t var m = getMethod(observer.complete);\n\t value = m ? m.call(observer, value) : undefined;\n\t } catch (e) {\n\t try {\n\t cleanupSubscription(subscription);\n\t } finally {\n\t throw e;\n\t }\n\t } cleanupSubscription(subscription);\n\t return value;\n\t }\n\t }\n\t});\n\t\n\tvar $Observable = function Observable(subscriber) {\n\t anInstance(this, $Observable, 'Observable', '_f')._f = aFunction(subscriber);\n\t};\n\t\n\tredefineAll($Observable.prototype, {\n\t subscribe: function subscribe(observer) {\n\t return new Subscription(observer, this._f);\n\t },\n\t forEach: function forEach(fn) {\n\t var that = this;\n\t return new (core.Promise || global.Promise)(function (resolve, reject) {\n\t aFunction(fn);\n\t var subscription = that.subscribe({\n\t next: function (value) {\n\t try {\n\t return fn(value);\n\t } catch (e) {\n\t reject(e);\n\t subscription.unsubscribe();\n\t }\n\t },\n\t error: reject,\n\t complete: resolve\n\t });\n\t });\n\t }\n\t});\n\t\n\tredefineAll($Observable, {\n\t from: function from(x) {\n\t var C = typeof this === 'function' ? this : $Observable;\n\t var method = getMethod(anObject(x)[OBSERVABLE]);\n\t if (method) {\n\t var observable = anObject(method.call(x));\n\t return observable.constructor === C ? observable : new C(function (observer) {\n\t return observable.subscribe(observer);\n\t });\n\t }\n\t return new C(function (observer) {\n\t var done = false;\n\t microtask(function () {\n\t if (!done) {\n\t try {\n\t if (forOf(x, false, function (it) {\n\t observer.next(it);\n\t if (done) return RETURN;\n\t }) === RETURN) return;\n\t } catch (e) {\n\t if (done) throw e;\n\t observer.error(e);\n\t return;\n\t } observer.complete();\n\t }\n\t });\n\t return function () { done = true; };\n\t });\n\t },\n\t of: function of() {\n\t for (var i = 0, l = arguments.length, items = new Array(l); i < l;) items[i] = arguments[i++];\n\t return new (typeof this === 'function' ? this : $Observable)(function (observer) {\n\t var done = false;\n\t microtask(function () {\n\t if (!done) {\n\t for (var j = 0; j < items.length; ++j) {\n\t observer.next(items[j]);\n\t if (done) return;\n\t } observer.complete();\n\t }\n\t });\n\t return function () { done = true; };\n\t });\n\t }\n\t});\n\t\n\thide($Observable.prototype, OBSERVABLE, function () { return this; });\n\t\n\t$export($export.G, { Observable: $Observable });\n\t\n\t__webpack_require__(193)('Observable');\n\n\n/***/ },\n/* 320 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// ie9- setTimeout & setInterval additional parameters fix\n\tvar global = __webpack_require__(4);\n\tvar $export = __webpack_require__(8);\n\tvar userAgent = __webpack_require__(213);\n\tvar slice = [].slice;\n\tvar MSIE = /MSIE .\\./.test(userAgent); // <- dirty ie9- check\n\tvar wrap = function (set) {\n\t return function (fn, time /* , ...args */) {\n\t var boundArgs = arguments.length > 2;\n\t var args = boundArgs ? slice.call(arguments, 2) : false;\n\t return set(boundArgs ? function () {\n\t // eslint-disable-next-line no-new-func\n\t (typeof fn == 'function' ? fn : Function(fn)).apply(this, args);\n\t } : fn, time);\n\t };\n\t};\n\t$export($export.G + $export.B + $export.F * MSIE, {\n\t setTimeout: wrap(global.setTimeout),\n\t setInterval: wrap(global.setInterval)\n\t});\n\n\n/***/ },\n/* 321 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar $export = __webpack_require__(8);\n\tvar $task = __webpack_require__(209);\n\t$export($export.G + $export.B, {\n\t setImmediate: $task.set,\n\t clearImmediate: $task.clear\n\t});\n\n\n/***/ },\n/* 322 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar $iterators = __webpack_require__(194);\n\tvar getKeys = __webpack_require__(30);\n\tvar redefine = __webpack_require__(18);\n\tvar global = __webpack_require__(4);\n\tvar hide = __webpack_require__(10);\n\tvar Iterators = __webpack_require__(129);\n\tvar wks = __webpack_require__(26);\n\tvar ITERATOR = wks('iterator');\n\tvar TO_STRING_TAG = wks('toStringTag');\n\tvar ArrayValues = Iterators.Array;\n\t\n\tvar DOMIterables = {\n\t CSSRuleList: true, // TODO: Not spec compliant, should be false.\n\t CSSStyleDeclaration: false,\n\t CSSValueList: false,\n\t ClientRectList: false,\n\t DOMRectList: false,\n\t DOMStringList: false,\n\t DOMTokenList: true,\n\t DataTransferItemList: false,\n\t FileList: false,\n\t HTMLAllCollection: false,\n\t HTMLCollection: false,\n\t HTMLFormElement: false,\n\t HTMLSelectElement: false,\n\t MediaList: true, // TODO: Not spec compliant, should be false.\n\t MimeTypeArray: false,\n\t NamedNodeMap: false,\n\t NodeList: true,\n\t PaintRequestList: false,\n\t Plugin: false,\n\t PluginArray: false,\n\t SVGLengthList: false,\n\t SVGNumberList: false,\n\t SVGPathSegList: false,\n\t SVGPointList: false,\n\t SVGStringList: false,\n\t SVGTransformList: false,\n\t SourceBufferList: false,\n\t StyleSheetList: true, // TODO: Not spec compliant, should be false.\n\t TextTrackCueList: false,\n\t TextTrackList: false,\n\t TouchList: false\n\t};\n\t\n\tfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n\t var NAME = collections[i];\n\t var explicit = DOMIterables[NAME];\n\t var Collection = global[NAME];\n\t var proto = Collection && Collection.prototype;\n\t var key;\n\t if (proto) {\n\t if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n\t if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n\t Iterators[NAME] = ArrayValues;\n\t if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n\t }\n\t}\n\n\n/***/ },\n/* 323 */\n/***/ function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {/**\n\t * Copyright (c) 2014, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * https://raw.github.com/facebook/regenerator/master/LICENSE file. An\n\t * additional grant of patent rights can be found in the PATENTS file in\n\t * the same directory.\n\t */\n\t\n\t!(function(global) {\n\t \"use strict\";\n\t\n\t var Op = Object.prototype;\n\t var hasOwn = Op.hasOwnProperty;\n\t var undefined; // More compressible than void 0.\n\t var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n\t var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n\t var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n\t var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\t\n\t var inModule = typeof module === \"object\";\n\t var runtime = global.regeneratorRuntime;\n\t if (runtime) {\n\t if (inModule) {\n\t // If regeneratorRuntime is defined globally and we're in a module,\n\t // make the exports object identical to regeneratorRuntime.\n\t module.exports = runtime;\n\t }\n\t // Don't bother evaluating the rest of this file if the runtime was\n\t // already defined globally.\n\t return;\n\t }\n\t\n\t // Define the runtime globally (as expected by generated code) as either\n\t // module.exports (if we're in a module) or a new, empty object.\n\t runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\t\n\t function wrap(innerFn, outerFn, self, tryLocsList) {\n\t // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n\t var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n\t var generator = Object.create(protoGenerator.prototype);\n\t var context = new Context(tryLocsList || []);\n\t\n\t // The ._invoke method unifies the implementations of the .next,\n\t // .throw, and .return methods.\n\t generator._invoke = makeInvokeMethod(innerFn, self, context);\n\t\n\t return generator;\n\t }\n\t runtime.wrap = wrap;\n\t\n\t // Try/catch helper to minimize deoptimizations. Returns a completion\n\t // record like context.tryEntries[i].completion. This interface could\n\t // have been (and was previously) designed to take a closure to be\n\t // invoked without arguments, but in all the cases we care about we\n\t // already have an existing method we want to call, so there's no need\n\t // to create a new function object. We can even get away with assuming\n\t // the method takes exactly one argument, since that happens to be true\n\t // in every case, so we don't have to touch the arguments object. The\n\t // only additional allocation required is the completion record, which\n\t // has a stable shape and so hopefully should be cheap to allocate.\n\t function tryCatch(fn, obj, arg) {\n\t try {\n\t return { type: \"normal\", arg: fn.call(obj, arg) };\n\t } catch (err) {\n\t return { type: \"throw\", arg: err };\n\t }\n\t }\n\t\n\t var GenStateSuspendedStart = \"suspendedStart\";\n\t var GenStateSuspendedYield = \"suspendedYield\";\n\t var GenStateExecuting = \"executing\";\n\t var GenStateCompleted = \"completed\";\n\t\n\t // Returning this object from the innerFn has the same effect as\n\t // breaking out of the dispatch switch statement.\n\t var ContinueSentinel = {};\n\t\n\t // Dummy constructor functions that we use as the .constructor and\n\t // .constructor.prototype properties for functions that return Generator\n\t // objects. For full spec compliance, you may wish to configure your\n\t // minifier not to mangle the names of these two functions.\n\t function Generator() {}\n\t function GeneratorFunction() {}\n\t function GeneratorFunctionPrototype() {}\n\t\n\t // This is a polyfill for %IteratorPrototype% for environments that\n\t // don't natively support it.\n\t var IteratorPrototype = {};\n\t IteratorPrototype[iteratorSymbol] = function () {\n\t return this;\n\t };\n\t\n\t var getProto = Object.getPrototypeOf;\n\t var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n\t if (NativeIteratorPrototype &&\n\t NativeIteratorPrototype !== Op &&\n\t hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n\t // This environment has a native %IteratorPrototype%; use it instead\n\t // of the polyfill.\n\t IteratorPrototype = NativeIteratorPrototype;\n\t }\n\t\n\t var Gp = GeneratorFunctionPrototype.prototype =\n\t Generator.prototype = Object.create(IteratorPrototype);\n\t GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n\t GeneratorFunctionPrototype.constructor = GeneratorFunction;\n\t GeneratorFunctionPrototype[toStringTagSymbol] =\n\t GeneratorFunction.displayName = \"GeneratorFunction\";\n\t\n\t // Helper for defining the .next, .throw, and .return methods of the\n\t // Iterator interface in terms of a single ._invoke method.\n\t function defineIteratorMethods(prototype) {\n\t [\"next\", \"throw\", \"return\"].forEach(function(method) {\n\t prototype[method] = function(arg) {\n\t return this._invoke(method, arg);\n\t };\n\t });\n\t }\n\t\n\t runtime.isGeneratorFunction = function(genFun) {\n\t var ctor = typeof genFun === \"function\" && genFun.constructor;\n\t return ctor\n\t ? ctor === GeneratorFunction ||\n\t // For the native GeneratorFunction constructor, the best we can\n\t // do is to check its .name property.\n\t (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n\t : false;\n\t };\n\t\n\t runtime.mark = function(genFun) {\n\t if (Object.setPrototypeOf) {\n\t Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n\t } else {\n\t genFun.__proto__ = GeneratorFunctionPrototype;\n\t if (!(toStringTagSymbol in genFun)) {\n\t genFun[toStringTagSymbol] = \"GeneratorFunction\";\n\t }\n\t }\n\t genFun.prototype = Object.create(Gp);\n\t return genFun;\n\t };\n\t\n\t // Within the body of any async function, `await x` is transformed to\n\t // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n\t // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n\t // meant to be awaited.\n\t runtime.awrap = function(arg) {\n\t return { __await: arg };\n\t };\n\t\n\t function AsyncIterator(generator) {\n\t function invoke(method, arg, resolve, reject) {\n\t var record = tryCatch(generator[method], generator, arg);\n\t if (record.type === \"throw\") {\n\t reject(record.arg);\n\t } else {\n\t var result = record.arg;\n\t var value = result.value;\n\t if (value &&\n\t typeof value === \"object\" &&\n\t hasOwn.call(value, \"__await\")) {\n\t return Promise.resolve(value.__await).then(function(value) {\n\t invoke(\"next\", value, resolve, reject);\n\t }, function(err) {\n\t invoke(\"throw\", err, resolve, reject);\n\t });\n\t }\n\t\n\t return Promise.resolve(value).then(function(unwrapped) {\n\t // When a yielded Promise is resolved, its final value becomes\n\t // the .value of the Promise<{value,done}> result for the\n\t // current iteration. If the Promise is rejected, however, the\n\t // result for this iteration will be rejected with the same\n\t // reason. Note that rejections of yielded Promises are not\n\t // thrown back into the generator function, as is the case\n\t // when an awaited Promise is rejected. This difference in\n\t // behavior between yield and await is important, because it\n\t // allows the consumer to decide what to do with the yielded\n\t // rejection (swallow it and continue, manually .throw it back\n\t // into the generator, abandon iteration, whatever). With\n\t // await, by contrast, there is no opportunity to examine the\n\t // rejection reason outside the generator function, so the\n\t // only option is to throw it from the await expression, and\n\t // let the generator function handle the exception.\n\t result.value = unwrapped;\n\t resolve(result);\n\t }, reject);\n\t }\n\t }\n\t\n\t if (typeof global.process === \"object\" && global.process.domain) {\n\t invoke = global.process.domain.bind(invoke);\n\t }\n\t\n\t var previousPromise;\n\t\n\t function enqueue(method, arg) {\n\t function callInvokeWithMethodAndArg() {\n\t return new Promise(function(resolve, reject) {\n\t invoke(method, arg, resolve, reject);\n\t });\n\t }\n\t\n\t return previousPromise =\n\t // If enqueue has been called before, then we want to wait until\n\t // all previous Promises have been resolved before calling invoke,\n\t // so that results are always delivered in the correct order. If\n\t // enqueue has not been called before, then it is important to\n\t // call invoke immediately, without waiting on a callback to fire,\n\t // so that the async generator function has the opportunity to do\n\t // any necessary setup in a predictable way. This predictability\n\t // is why the Promise constructor synchronously invokes its\n\t // executor callback, and why async functions synchronously\n\t // execute code before the first await. Since we implement simple\n\t // async functions in terms of async generators, it is especially\n\t // important to get this right, even though it requires care.\n\t previousPromise ? previousPromise.then(\n\t callInvokeWithMethodAndArg,\n\t // Avoid propagating failures to Promises returned by later\n\t // invocations of the iterator.\n\t callInvokeWithMethodAndArg\n\t ) : callInvokeWithMethodAndArg();\n\t }\n\t\n\t // Define the unified helper method that is used to implement .next,\n\t // .throw, and .return (see defineIteratorMethods).\n\t this._invoke = enqueue;\n\t }\n\t\n\t defineIteratorMethods(AsyncIterator.prototype);\n\t AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n\t return this;\n\t };\n\t runtime.AsyncIterator = AsyncIterator;\n\t\n\t // Note that simple async functions are implemented on top of\n\t // AsyncIterator objects; they just return a Promise for the value of\n\t // the final result produced by the iterator.\n\t runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n\t var iter = new AsyncIterator(\n\t wrap(innerFn, outerFn, self, tryLocsList)\n\t );\n\t\n\t return runtime.isGeneratorFunction(outerFn)\n\t ? iter // If outerFn is a generator, return the full iterator.\n\t : iter.next().then(function(result) {\n\t return result.done ? result.value : iter.next();\n\t });\n\t };\n\t\n\t function makeInvokeMethod(innerFn, self, context) {\n\t var state = GenStateSuspendedStart;\n\t\n\t return function invoke(method, arg) {\n\t if (state === GenStateExecuting) {\n\t throw new Error(\"Generator is already running\");\n\t }\n\t\n\t if (state === GenStateCompleted) {\n\t if (method === \"throw\") {\n\t throw arg;\n\t }\n\t\n\t // Be forgiving, per 25.3.3.3.3 of the spec:\n\t // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n\t return doneResult();\n\t }\n\t\n\t context.method = method;\n\t context.arg = arg;\n\t\n\t while (true) {\n\t var delegate = context.delegate;\n\t if (delegate) {\n\t var delegateResult = maybeInvokeDelegate(delegate, context);\n\t if (delegateResult) {\n\t if (delegateResult === ContinueSentinel) continue;\n\t return delegateResult;\n\t }\n\t }\n\t\n\t if (context.method === \"next\") {\n\t // Setting context._sent for legacy support of Babel's\n\t // function.sent implementation.\n\t context.sent = context._sent = context.arg;\n\t\n\t } else if (context.method === \"throw\") {\n\t if (state === GenStateSuspendedStart) {\n\t state = GenStateCompleted;\n\t throw context.arg;\n\t }\n\t\n\t context.dispatchException(context.arg);\n\t\n\t } else if (context.method === \"return\") {\n\t context.abrupt(\"return\", context.arg);\n\t }\n\t\n\t state = GenStateExecuting;\n\t\n\t var record = tryCatch(innerFn, self, context);\n\t if (record.type === \"normal\") {\n\t // If an exception is thrown from innerFn, we leave state ===\n\t // GenStateExecuting and loop back for another invocation.\n\t state = context.done\n\t ? GenStateCompleted\n\t : GenStateSuspendedYield;\n\t\n\t if (record.arg === ContinueSentinel) {\n\t continue;\n\t }\n\t\n\t return {\n\t value: record.arg,\n\t done: context.done\n\t };\n\t\n\t } else if (record.type === \"throw\") {\n\t state = GenStateCompleted;\n\t // Dispatch the exception by looping back around to the\n\t // context.dispatchException(context.arg) call above.\n\t context.method = \"throw\";\n\t context.arg = record.arg;\n\t }\n\t }\n\t };\n\t }\n\t\n\t // Call delegate.iterator[context.method](context.arg) and handle the\n\t // result, either by returning a { value, done } result from the\n\t // delegate iterator, or by modifying context.method and context.arg,\n\t // setting context.delegate to null, and returning the ContinueSentinel.\n\t function maybeInvokeDelegate(delegate, context) {\n\t var method = delegate.iterator[context.method];\n\t if (method === undefined) {\n\t // A .throw or .return when the delegate iterator has no .throw\n\t // method always terminates the yield* loop.\n\t context.delegate = null;\n\t\n\t if (context.method === \"throw\") {\n\t if (delegate.iterator.return) {\n\t // If the delegate iterator has a return method, give it a\n\t // chance to clean up.\n\t context.method = \"return\";\n\t context.arg = undefined;\n\t maybeInvokeDelegate(delegate, context);\n\t\n\t if (context.method === \"throw\") {\n\t // If maybeInvokeDelegate(context) changed context.method from\n\t // \"return\" to \"throw\", let that override the TypeError below.\n\t return ContinueSentinel;\n\t }\n\t }\n\t\n\t context.method = \"throw\";\n\t context.arg = new TypeError(\n\t \"The iterator does not provide a 'throw' method\");\n\t }\n\t\n\t return ContinueSentinel;\n\t }\n\t\n\t var record = tryCatch(method, delegate.iterator, context.arg);\n\t\n\t if (record.type === \"throw\") {\n\t context.method = \"throw\";\n\t context.arg = record.arg;\n\t context.delegate = null;\n\t return ContinueSentinel;\n\t }\n\t\n\t var info = record.arg;\n\t\n\t if (! info) {\n\t context.method = \"throw\";\n\t context.arg = new TypeError(\"iterator result is not an object\");\n\t context.delegate = null;\n\t return ContinueSentinel;\n\t }\n\t\n\t if (info.done) {\n\t // Assign the result of the finished delegate to the temporary\n\t // variable specified by delegate.resultName (see delegateYield).\n\t context[delegate.resultName] = info.value;\n\t\n\t // Resume execution at the desired location (see delegateYield).\n\t context.next = delegate.nextLoc;\n\t\n\t // If context.method was \"throw\" but the delegate handled the\n\t // exception, let the outer generator proceed normally. If\n\t // context.method was \"next\", forget context.arg since it has been\n\t // \"consumed\" by the delegate iterator. If context.method was\n\t // \"return\", allow the original .return call to continue in the\n\t // outer generator.\n\t if (context.method !== \"return\") {\n\t context.method = \"next\";\n\t context.arg = undefined;\n\t }\n\t\n\t } else {\n\t // Re-yield the result returned by the delegate method.\n\t return info;\n\t }\n\t\n\t // The delegate iterator is finished, so forget it and continue with\n\t // the outer generator.\n\t context.delegate = null;\n\t return ContinueSentinel;\n\t }\n\t\n\t // Define Generator.prototype.{next,throw,return} in terms of the\n\t // unified ._invoke helper method.\n\t defineIteratorMethods(Gp);\n\t\n\t Gp[toStringTagSymbol] = \"Generator\";\n\t\n\t // A Generator should always return itself as the iterator object when the\n\t // @@iterator function is called on it. Some browsers' implementations of the\n\t // iterator prototype chain incorrectly implement this, causing the Generator\n\t // object to not be returned from this call. This ensures that doesn't happen.\n\t // See https://github.com/facebook/regenerator/issues/274 for more details.\n\t Gp[iteratorSymbol] = function() {\n\t return this;\n\t };\n\t\n\t Gp.toString = function() {\n\t return \"[object Generator]\";\n\t };\n\t\n\t function pushTryEntry(locs) {\n\t var entry = { tryLoc: locs[0] };\n\t\n\t if (1 in locs) {\n\t entry.catchLoc = locs[1];\n\t }\n\t\n\t if (2 in locs) {\n\t entry.finallyLoc = locs[2];\n\t entry.afterLoc = locs[3];\n\t }\n\t\n\t this.tryEntries.push(entry);\n\t }\n\t\n\t function resetTryEntry(entry) {\n\t var record = entry.completion || {};\n\t record.type = \"normal\";\n\t delete record.arg;\n\t entry.completion = record;\n\t }\n\t\n\t function Context(tryLocsList) {\n\t // The root entry object (effectively a try statement without a catch\n\t // or a finally block) gives us a place to store values thrown from\n\t // locations where there is no enclosing try statement.\n\t this.tryEntries = [{ tryLoc: \"root\" }];\n\t tryLocsList.forEach(pushTryEntry, this);\n\t this.reset(true);\n\t }\n\t\n\t runtime.keys = function(object) {\n\t var keys = [];\n\t for (var key in object) {\n\t keys.push(key);\n\t }\n\t keys.reverse();\n\t\n\t // Rather than returning an object with a next method, we keep\n\t // things simple and return the next function itself.\n\t return function next() {\n\t while (keys.length) {\n\t var key = keys.pop();\n\t if (key in object) {\n\t next.value = key;\n\t next.done = false;\n\t return next;\n\t }\n\t }\n\t\n\t // To avoid creating an additional object, we just hang the .value\n\t // and .done properties off the next function object itself. This\n\t // also ensures that the minifier will not anonymize the function.\n\t next.done = true;\n\t return next;\n\t };\n\t };\n\t\n\t function values(iterable) {\n\t if (iterable) {\n\t var iteratorMethod = iterable[iteratorSymbol];\n\t if (iteratorMethod) {\n\t return iteratorMethod.call(iterable);\n\t }\n\t\n\t if (typeof iterable.next === \"function\") {\n\t return iterable;\n\t }\n\t\n\t if (!isNaN(iterable.length)) {\n\t var i = -1, next = function next() {\n\t while (++i < iterable.length) {\n\t if (hasOwn.call(iterable, i)) {\n\t next.value = iterable[i];\n\t next.done = false;\n\t return next;\n\t }\n\t }\n\t\n\t next.value = undefined;\n\t next.done = true;\n\t\n\t return next;\n\t };\n\t\n\t return next.next = next;\n\t }\n\t }\n\t\n\t // Return an iterator with no values.\n\t return { next: doneResult };\n\t }\n\t runtime.values = values;\n\t\n\t function doneResult() {\n\t return { value: undefined, done: true };\n\t }\n\t\n\t Context.prototype = {\n\t constructor: Context,\n\t\n\t reset: function(skipTempReset) {\n\t this.prev = 0;\n\t this.next = 0;\n\t // Resetting context._sent for legacy support of Babel's\n\t // function.sent implementation.\n\t this.sent = this._sent = undefined;\n\t this.done = false;\n\t this.delegate = null;\n\t\n\t this.method = \"next\";\n\t this.arg = undefined;\n\t\n\t this.tryEntries.forEach(resetTryEntry);\n\t\n\t if (!skipTempReset) {\n\t for (var name in this) {\n\t // Not sure about the optimal order of these conditions:\n\t if (name.charAt(0) === \"t\" &&\n\t hasOwn.call(this, name) &&\n\t !isNaN(+name.slice(1))) {\n\t this[name] = undefined;\n\t }\n\t }\n\t }\n\t },\n\t\n\t stop: function() {\n\t this.done = true;\n\t\n\t var rootEntry = this.tryEntries[0];\n\t var rootRecord = rootEntry.completion;\n\t if (rootRecord.type === \"throw\") {\n\t throw rootRecord.arg;\n\t }\n\t\n\t return this.rval;\n\t },\n\t\n\t dispatchException: function(exception) {\n\t if (this.done) {\n\t throw exception;\n\t }\n\t\n\t var context = this;\n\t function handle(loc, caught) {\n\t record.type = \"throw\";\n\t record.arg = exception;\n\t context.next = loc;\n\t\n\t if (caught) {\n\t // If the dispatched exception was caught by a catch block,\n\t // then let that catch block handle the exception normally.\n\t context.method = \"next\";\n\t context.arg = undefined;\n\t }\n\t\n\t return !! caught;\n\t }\n\t\n\t for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n\t var entry = this.tryEntries[i];\n\t var record = entry.completion;\n\t\n\t if (entry.tryLoc === \"root\") {\n\t // Exception thrown outside of any try block that could handle\n\t // it, so set the completion value of the entire function to\n\t // throw the exception.\n\t return handle(\"end\");\n\t }\n\t\n\t if (entry.tryLoc <= this.prev) {\n\t var hasCatch = hasOwn.call(entry, \"catchLoc\");\n\t var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\t\n\t if (hasCatch && hasFinally) {\n\t if (this.prev < entry.catchLoc) {\n\t return handle(entry.catchLoc, true);\n\t } else if (this.prev < entry.finallyLoc) {\n\t return handle(entry.finallyLoc);\n\t }\n\t\n\t } else if (hasCatch) {\n\t if (this.prev < entry.catchLoc) {\n\t return handle(entry.catchLoc, true);\n\t }\n\t\n\t } else if (hasFinally) {\n\t if (this.prev < entry.finallyLoc) {\n\t return handle(entry.finallyLoc);\n\t }\n\t\n\t } else {\n\t throw new Error(\"try statement without catch or finally\");\n\t }\n\t }\n\t }\n\t },\n\t\n\t abrupt: function(type, arg) {\n\t for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n\t var entry = this.tryEntries[i];\n\t if (entry.tryLoc <= this.prev &&\n\t hasOwn.call(entry, \"finallyLoc\") &&\n\t this.prev < entry.finallyLoc) {\n\t var finallyEntry = entry;\n\t break;\n\t }\n\t }\n\t\n\t if (finallyEntry &&\n\t (type === \"break\" ||\n\t type === \"continue\") &&\n\t finallyEntry.tryLoc <= arg &&\n\t arg <= finallyEntry.finallyLoc) {\n\t // Ignore the finally entry if control is not jumping to a\n\t // location outside the try/catch block.\n\t finallyEntry = null;\n\t }\n\t\n\t var record = finallyEntry ? finallyEntry.completion : {};\n\t record.type = type;\n\t record.arg = arg;\n\t\n\t if (finallyEntry) {\n\t this.method = \"next\";\n\t this.next = finallyEntry.finallyLoc;\n\t return ContinueSentinel;\n\t }\n\t\n\t return this.complete(record);\n\t },\n\t\n\t complete: function(record, afterLoc) {\n\t if (record.type === \"throw\") {\n\t throw record.arg;\n\t }\n\t\n\t if (record.type === \"break\" ||\n\t record.type === \"continue\") {\n\t this.next = record.arg;\n\t } else if (record.type === \"return\") {\n\t this.rval = this.arg = record.arg;\n\t this.method = \"return\";\n\t this.next = \"end\";\n\t } else if (record.type === \"normal\" && afterLoc) {\n\t this.next = afterLoc;\n\t }\n\t\n\t return ContinueSentinel;\n\t },\n\t\n\t finish: function(finallyLoc) {\n\t for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n\t var entry = this.tryEntries[i];\n\t if (entry.finallyLoc === finallyLoc) {\n\t this.complete(entry.completion, entry.afterLoc);\n\t resetTryEntry(entry);\n\t return ContinueSentinel;\n\t }\n\t }\n\t },\n\t\n\t \"catch\": function(tryLoc) {\n\t for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n\t var entry = this.tryEntries[i];\n\t if (entry.tryLoc === tryLoc) {\n\t var record = entry.completion;\n\t if (record.type === \"throw\") {\n\t var thrown = record.arg;\n\t resetTryEntry(entry);\n\t }\n\t return thrown;\n\t }\n\t }\n\t\n\t // The context.catch method must only be called with a location\n\t // argument that corresponds to a known catch block.\n\t throw new Error(\"illegal catch attempt\");\n\t },\n\t\n\t delegateYield: function(iterable, resultName, nextLoc) {\n\t this.delegate = {\n\t iterator: values(iterable),\n\t resultName: resultName,\n\t nextLoc: nextLoc\n\t };\n\t\n\t if (this.method === \"next\") {\n\t // Deliberately forget the last sent value so that we don't\n\t // accidentally pass it on to the delegate.\n\t this.arg = undefined;\n\t }\n\t\n\t return ContinueSentinel;\n\t }\n\t };\n\t})(\n\t // Among the various tricks for obtaining a reference to the global\n\t // object, this seems to be the most reliable technique that does not\n\t // use indirect eval (which violates Content Security Policy).\n\t typeof global === \"object\" ? global :\n\t typeof window === \"object\" ? window :\n\t typeof self === \"object\" ? self : this\n\t);\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 324 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(325);\n\tmodule.exports = __webpack_require__(9).RegExp.escape;\n\n\n/***/ },\n/* 325 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// https://github.com/benjamingr/RexExp.escape\n\tvar $export = __webpack_require__(8);\n\tvar $re = __webpack_require__(326)(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n\t\n\t$export($export.S, 'RegExp', { escape: function escape(it) { return $re(it); } });\n\n\n/***/ },\n/* 326 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function (regExp, replace) {\n\t var replacer = replace === Object(replace) ? function (part) {\n\t return replace[part];\n\t } : replace;\n\t return function (it) {\n\t return String(it).replace(regExp, replacer);\n\t };\n\t};\n\n\n/***/ },\n/* 327 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\t/*globals module */\n\t\n\tvar OktaSignIn = function () {\n\t\n\t var _ = __webpack_require__(328),\n\t config = __webpack_require__(329),\n\t OAuth2Util = __webpack_require__(330);\n\t\n\t function getProperties(authClient, LoginRouter, Util, config) {\n\t\n\t /**\n\t * Check if a session exists\n\t * @param callback - callback function invoked with 'true'/'false' as the argument.\n\t */\n\t function checkSession(callback) {\n\t authClient.session.exists().then(callback);\n\t }\n\t\n\t /**\n\t * Close the current session (sign-out). Callback is invoked with an error message\n\t * if the operation was not successful.\n\t * @param callback - function to invoke after closing the session.\n\t */\n\t function closeSession(callback) {\n\t authClient.session.close().then(callback).fail(function () {\n\t callback('There was a problem closing the session');\n\t });\n\t }\n\t\n\t /**\n\t * Keep-alive for the session. The callback is invoked with the object containing\n\t * the session if successful and {status: 'INACTIVE'} if it is not successful.\n\t * @param callback - function to invoke after refreshing the session.\n\t */\n\t function refreshSession(callback) {\n\t authClient.session.refresh().then(callback).fail(function () {\n\t callback({ status: 'INACTIVE' });\n\t });\n\t }\n\t\n\t /**\n\t * Refresh the idToken\n\t * @param idToken - idToken generated from the OAUTH call\n\t * @param callback - function to invoke after refreshing the idToken.\n\t * The callback will be passed a new idToken if successful and\n\t * an error message if not.\n\t * @param opts - OAUTH options to refresh the idToken\n\t */\n\t function refreshIdToken(idToken, callback, opts) {\n\t authClient.idToken.refresh(opts).then(callback).fail(function () {\n\t callback('There was a problem refreshing the id_token');\n\t });\n\t }\n\t\n\t /**\n\t * Check if there is an active session. If there is one, the callback is invoked with\n\t * the session and user information (similar to calling the global success callback)\n\t * and if not, the callback is invoked with {status: 'INACTIVE'}, at which point,\n\t * the widget can be rendered using renderEl().\n\t * @param callback - function to invoke after checking if there is an active session.\n\t */\n\t function getSession(callback) {\n\t authClient.session.get().then(function (res) {\n\t if (res.status === 'ACTIVE' && res.user) {\n\t // only include the attributes that are passed into the successFn on primary auth.\n\t res.user = _.pick(res.user, 'id', 'profile', 'passwordChanged');\n\t }\n\t callback(res);\n\t });\n\t }\n\t\n\t /**\n\t * Render the sign in widget to an element.\n\t * @param options - options for the signin widget.\n\t * Must have an el or $el property to render the widget to.\n\t * @param success - success callback function\n\t * @param error - error callback function\n\t */\n\t var router;\n\t function render(options, success, error) {\n\t if (router) {\n\t throw new Error('An instance of the widget has already been rendered. Call remove() first.');\n\t }\n\t\n\t /**\n\t * -- Development Mode --\n\t * When the page loads, provide a helpful message to remind the developer that\n\t * tokens have not been removed from the hash fragment.\n\t */\n\t if (hasTokensInUrl()) {\n\t 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\t }\n\t\n\t router = new LoginRouter(_.extend({}, config, options, {\n\t authClient: authClient,\n\t globalSuccessFn: success,\n\t globalErrorFn: error\n\t }));\n\t router.start();\n\t }\n\t\n\t function hide() {\n\t if (router) {\n\t router.hide();\n\t }\n\t }\n\t\n\t function show() {\n\t if (router) {\n\t router.show();\n\t }\n\t }\n\t\n\t function remove() {\n\t if (router) {\n\t router.remove();\n\t router = undefined;\n\t }\n\t }\n\t\n\t /**\n\t * Check if tokens have been passed back into the url, which happens in\n\t * the social auth IDP redirect flow.\n\t */\n\t function hasTokensInUrl() {\n\t return Util.hasTokensInHash(window.location.hash);\n\t }\n\t\n\t /**\n\t * Parses tokens from the url.\n\t * @param success - success callback function (usually the same as passed to render)\n\t * @param error - error callback function (usually the same as passed to render)\n\t */\n\t function parseTokensFromUrl(success, error) {\n\t authClient.token.parseFromUrl().then(success).fail(error);\n\t }\n\t\n\t /**\n\t * Renders the Widget with opinionated defaults for the full-page\n\t * redirect flow.\n\t * @param options - options for the signin widget\n\t */\n\t function showSignInToGetTokens(options) {\n\t var renderOptions = OAuth2Util.transformShowSignInToGetTokensOptions(options, config);\n\t return render(renderOptions);\n\t }\n\t\n\t /**\n\t * Returns authentication transaction information given a stateToken.\n\t * @param {String} stateToken - Ephemeral token that represents the current state of an authentication\n\t * or recovery transaction\n\t * @returns {Promise} - Returns a promise for an object containing the transaction information\n\t */\n\t function getTransaction(stateToken) {\n\t if (!stateToken) {\n\t throw new Error('A state token is required.');\n\t }\n\t return authClient.tx.resume({ stateToken: stateToken });\n\t }\n\t\n\t // Properties exposed on OktaSignIn object.\n\t return {\n\t renderEl: render,\n\t showSignInToGetTokens: showSignInToGetTokens,\n\t signOut: closeSession,\n\t idToken: {\n\t refresh: refreshIdToken\n\t },\n\t session: {\n\t close: closeSession,\n\t exists: checkSession,\n\t get: getSession,\n\t refresh: refreshSession\n\t },\n\t token: {\n\t hasTokensInUrl: hasTokensInUrl,\n\t parseTokensFromUrl: parseTokensFromUrl\n\t },\n\t tokenManager: authClient.tokenManager,\n\t getTransaction: getTransaction,\n\t hide: hide,\n\t show: show,\n\t remove: remove\n\t };\n\t }\n\t\n\t function OktaSignIn(options) {\n\t __webpack_require__(331);\n\t\n\t var OktaAuth = __webpack_require__(415);\n\t var Util = __webpack_require__(437);\n\t var LoginRouter = __webpack_require__(438);\n\t\n\t 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\t\n\t var authClient = new OktaAuth({\n\t url: options.baseUrl,\n\t transformErrorXHR: Util.transformErrorXHR,\n\t headers: {\n\t 'X-Okta-User-Agent-Extended': 'okta-signin-widget-' + config.version\n\t },\n\t clientId: options.clientId,\n\t redirectUri: options.redirectUri\n\t });\n\t _.extend(this, LoginRouter.prototype.Events, getProperties(authClient, LoginRouter, Util, options));\n\t\n\t // Triggers the event up the chain so it is available to the consumers of the widget.\n\t this.listenTo(LoginRouter.prototype, 'all', this.trigger);\n\t }\n\t\n\t return OktaSignIn;\n\t}();\n\tmodule.exports = OktaSignIn;\n\n/***/ },\n/* 328 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// Underscore.js 1.8.3\n\t// http://underscorejs.org\n\t// (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t// Underscore may be freely distributed under the MIT license.\n\t\n\t(function() {\n\t\n\t // Baseline setup\n\t // --------------\n\t\n\t // Establish the root object, `window` in the browser, or `exports` on the server.\n\t var root = this;\n\t\n\t // Save the previous value of the `_` variable.\n\t var previousUnderscore = root._;\n\t\n\t // Save bytes in the minified (but not gzipped) version:\n\t var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype;\n\t\n\t // Create quick reference variables for speed access to core prototypes.\n\t var\n\t push = ArrayProto.push,\n\t slice = ArrayProto.slice,\n\t toString = ObjProto.toString,\n\t hasOwnProperty = ObjProto.hasOwnProperty;\n\t\n\t // All **ECMAScript 5** native function implementations that we hope to use\n\t // are declared here.\n\t var\n\t nativeIsArray = Array.isArray,\n\t nativeKeys = Object.keys,\n\t nativeBind = FuncProto.bind,\n\t nativeCreate = Object.create;\n\t\n\t // Naked function reference for surrogate-prototype-swapping.\n\t var Ctor = function(){};\n\t\n\t // Create a safe reference to the Underscore object for use below.\n\t var _ = function(obj) {\n\t if (obj instanceof _) return obj;\n\t if (!(this instanceof _)) return new _(obj);\n\t this._wrapped = obj;\n\t };\n\t\n\t // Export the Underscore object for **Node.js**, with\n\t // backwards-compatibility for the old `require()` API. If we're in\n\t // the browser, add `_` as a global object.\n\t if (true) {\n\t if (typeof module !== 'undefined' && module.exports) {\n\t exports = module.exports = _;\n\t }\n\t exports._ = _;\n\t } else {\n\t root._ = _;\n\t }\n\t\n\t // Current version.\n\t _.VERSION = '1.8.3';\n\t\n\t // Internal function that returns an efficient (for current engines) version\n\t // of the passed-in callback, to be repeatedly applied in other Underscore\n\t // functions.\n\t var optimizeCb = function(func, context, argCount) {\n\t if (context === void 0) return func;\n\t switch (argCount == null ? 3 : argCount) {\n\t case 1: return function(value) {\n\t return func.call(context, value);\n\t };\n\t case 2: return function(value, other) {\n\t return func.call(context, value, other);\n\t };\n\t case 3: return function(value, index, collection) {\n\t return func.call(context, value, index, collection);\n\t };\n\t case 4: return function(accumulator, value, index, collection) {\n\t return func.call(context, accumulator, value, index, collection);\n\t };\n\t }\n\t return function() {\n\t return func.apply(context, arguments);\n\t };\n\t };\n\t\n\t // A mostly-internal function to generate callbacks that can be applied\n\t // to each element in a collection, returning the desired result — either\n\t // identity, an arbitrary callback, a property matcher, or a property accessor.\n\t var cb = function(value, context, argCount) {\n\t if (value == null) return _.identity;\n\t if (_.isFunction(value)) return optimizeCb(value, context, argCount);\n\t if (_.isObject(value)) return _.matcher(value);\n\t return _.property(value);\n\t };\n\t _.iteratee = function(value, context) {\n\t return cb(value, context, Infinity);\n\t };\n\t\n\t // An internal function for creating assigner functions.\n\t var createAssigner = function(keysFunc, undefinedOnly) {\n\t return function(obj) {\n\t var length = arguments.length;\n\t if (length < 2 || obj == null) return obj;\n\t for (var index = 1; index < length; index++) {\n\t var source = arguments[index],\n\t keys = keysFunc(source),\n\t l = keys.length;\n\t for (var i = 0; i < l; i++) {\n\t var key = keys[i];\n\t if (!undefinedOnly || obj[key] === void 0) obj[key] = source[key];\n\t }\n\t }\n\t return obj;\n\t };\n\t };\n\t\n\t // An internal function for creating a new object that inherits from another.\n\t var baseCreate = function(prototype) {\n\t if (!_.isObject(prototype)) return {};\n\t if (nativeCreate) return nativeCreate(prototype);\n\t Ctor.prototype = prototype;\n\t var result = new Ctor;\n\t Ctor.prototype = null;\n\t return result;\n\t };\n\t\n\t var property = function(key) {\n\t return function(obj) {\n\t return obj == null ? void 0 : obj[key];\n\t };\n\t };\n\t\n\t // Helper for collection methods to determine whether a collection\n\t // should be iterated as an array or as an object\n\t // Related: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength\n\t // Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094\n\t var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1;\n\t var getLength = property('length');\n\t var isArrayLike = function(collection) {\n\t var length = getLength(collection);\n\t return typeof length == 'number' && length >= 0 && length <= MAX_ARRAY_INDEX;\n\t };\n\t\n\t // Collection Functions\n\t // --------------------\n\t\n\t // The cornerstone, an `each` implementation, aka `forEach`.\n\t // Handles raw objects in addition to array-likes. Treats all\n\t // sparse array-likes as if they were dense.\n\t _.each = _.forEach = function(obj, iteratee, context) {\n\t iteratee = optimizeCb(iteratee, context);\n\t var i, length;\n\t if (isArrayLike(obj)) {\n\t for (i = 0, length = obj.length; i < length; i++) {\n\t iteratee(obj[i], i, obj);\n\t }\n\t } else {\n\t var keys = _.keys(obj);\n\t for (i = 0, length = keys.length; i < length; i++) {\n\t iteratee(obj[keys[i]], keys[i], obj);\n\t }\n\t }\n\t return obj;\n\t };\n\t\n\t // Return the results of applying the iteratee to each element.\n\t _.map = _.collect = function(obj, iteratee, context) {\n\t iteratee = cb(iteratee, context);\n\t var keys = !isArrayLike(obj) && _.keys(obj),\n\t length = (keys || obj).length,\n\t results = Array(length);\n\t for (var index = 0; index < length; index++) {\n\t var currentKey = keys ? keys[index] : index;\n\t results[index] = iteratee(obj[currentKey], currentKey, obj);\n\t }\n\t return results;\n\t };\n\t\n\t // Create a reducing function iterating left or right.\n\t function createReduce(dir) {\n\t // Optimized iterator function as using arguments.length\n\t // in the main function will deoptimize the, see #1991.\n\t function iterator(obj, iteratee, memo, keys, index, length) {\n\t for (; index >= 0 && index < length; index += dir) {\n\t var currentKey = keys ? keys[index] : index;\n\t memo = iteratee(memo, obj[currentKey], currentKey, obj);\n\t }\n\t return memo;\n\t }\n\t\n\t return function(obj, iteratee, memo, context) {\n\t iteratee = optimizeCb(iteratee, context, 4);\n\t var keys = !isArrayLike(obj) && _.keys(obj),\n\t length = (keys || obj).length,\n\t index = dir > 0 ? 0 : length - 1;\n\t // Determine the initial value if none is provided.\n\t if (arguments.length < 3) {\n\t memo = obj[keys ? keys[index] : index];\n\t index += dir;\n\t }\n\t return iterator(obj, iteratee, memo, keys, index, length);\n\t };\n\t }\n\t\n\t // **Reduce** builds up a single result from a list of values, aka `inject`,\n\t // or `foldl`.\n\t _.reduce = _.foldl = _.inject = createReduce(1);\n\t\n\t // The right-associative version of reduce, also known as `foldr`.\n\t _.reduceRight = _.foldr = createReduce(-1);\n\t\n\t // Return the first value which passes a truth test. Aliased as `detect`.\n\t _.find = _.detect = function(obj, predicate, context) {\n\t var key;\n\t if (isArrayLike(obj)) {\n\t key = _.findIndex(obj, predicate, context);\n\t } else {\n\t key = _.findKey(obj, predicate, context);\n\t }\n\t if (key !== void 0 && key !== -1) return obj[key];\n\t };\n\t\n\t // Return all the elements that pass a truth test.\n\t // Aliased as `select`.\n\t _.filter = _.select = function(obj, predicate, context) {\n\t var results = [];\n\t predicate = cb(predicate, context);\n\t _.each(obj, function(value, index, list) {\n\t if (predicate(value, index, list)) results.push(value);\n\t });\n\t return results;\n\t };\n\t\n\t // Return all the elements for which a truth test fails.\n\t _.reject = function(obj, predicate, context) {\n\t return _.filter(obj, _.negate(cb(predicate)), context);\n\t };\n\t\n\t // Determine whether all of the elements match a truth test.\n\t // Aliased as `all`.\n\t _.every = _.all = function(obj, predicate, context) {\n\t predicate = cb(predicate, context);\n\t var keys = !isArrayLike(obj) && _.keys(obj),\n\t length = (keys || obj).length;\n\t for (var index = 0; index < length; index++) {\n\t var currentKey = keys ? keys[index] : index;\n\t if (!predicate(obj[currentKey], currentKey, obj)) return false;\n\t }\n\t return true;\n\t };\n\t\n\t // Determine if at least one element in the object matches a truth test.\n\t // Aliased as `any`.\n\t _.some = _.any = function(obj, predicate, context) {\n\t predicate = cb(predicate, context);\n\t var keys = !isArrayLike(obj) && _.keys(obj),\n\t length = (keys || obj).length;\n\t for (var index = 0; index < length; index++) {\n\t var currentKey = keys ? keys[index] : index;\n\t if (predicate(obj[currentKey], currentKey, obj)) return true;\n\t }\n\t return false;\n\t };\n\t\n\t // Determine if the array or object contains a given item (using `===`).\n\t // Aliased as `includes` and `include`.\n\t _.contains = _.includes = _.include = function(obj, item, fromIndex, guard) {\n\t if (!isArrayLike(obj)) obj = _.values(obj);\n\t if (typeof fromIndex != 'number' || guard) fromIndex = 0;\n\t return _.indexOf(obj, item, fromIndex) >= 0;\n\t };\n\t\n\t // Invoke a method (with arguments) on every item in a collection.\n\t _.invoke = function(obj, method) {\n\t var args = slice.call(arguments, 2);\n\t var isFunc = _.isFunction(method);\n\t return _.map(obj, function(value) {\n\t var func = isFunc ? method : value[method];\n\t return func == null ? func : func.apply(value, args);\n\t });\n\t };\n\t\n\t // Convenience version of a common use case of `map`: fetching a property.\n\t _.pluck = function(obj, key) {\n\t return _.map(obj, _.property(key));\n\t };\n\t\n\t // Convenience version of a common use case of `filter`: selecting only objects\n\t // containing specific `key:value` pairs.\n\t _.where = function(obj, attrs) {\n\t return _.filter(obj, _.matcher(attrs));\n\t };\n\t\n\t // Convenience version of a common use case of `find`: getting the first object\n\t // containing specific `key:value` pairs.\n\t _.findWhere = function(obj, attrs) {\n\t return _.find(obj, _.matcher(attrs));\n\t };\n\t\n\t // Return the maximum element (or element-based computation).\n\t _.max = function(obj, iteratee, context) {\n\t var result = -Infinity, lastComputed = -Infinity,\n\t value, computed;\n\t if (iteratee == null && obj != null) {\n\t obj = isArrayLike(obj) ? obj : _.values(obj);\n\t for (var i = 0, length = obj.length; i < length; i++) {\n\t value = obj[i];\n\t if (value > result) {\n\t result = value;\n\t }\n\t }\n\t } else {\n\t iteratee = cb(iteratee, context);\n\t _.each(obj, function(value, index, list) {\n\t computed = iteratee(value, index, list);\n\t if (computed > lastComputed || computed === -Infinity && result === -Infinity) {\n\t result = value;\n\t lastComputed = computed;\n\t }\n\t });\n\t }\n\t return result;\n\t };\n\t\n\t // Return the minimum element (or element-based computation).\n\t _.min = function(obj, iteratee, context) {\n\t var result = Infinity, lastComputed = Infinity,\n\t value, computed;\n\t if (iteratee == null && obj != null) {\n\t obj = isArrayLike(obj) ? obj : _.values(obj);\n\t for (var i = 0, length = obj.length; i < length; i++) {\n\t value = obj[i];\n\t if (value < result) {\n\t result = value;\n\t }\n\t }\n\t } else {\n\t iteratee = cb(iteratee, context);\n\t _.each(obj, function(value, index, list) {\n\t computed = iteratee(value, index, list);\n\t if (computed < lastComputed || computed === Infinity && result === Infinity) {\n\t result = value;\n\t lastComputed = computed;\n\t }\n\t });\n\t }\n\t return result;\n\t };\n\t\n\t // Shuffle a collection, using the modern version of the\n\t // [Fisher-Yates shuffle](http://en.wikipedia.org/wiki/Fisher–Yates_shuffle).\n\t _.shuffle = function(obj) {\n\t var set = isArrayLike(obj) ? obj : _.values(obj);\n\t var length = set.length;\n\t var shuffled = Array(length);\n\t for (var index = 0, rand; index < length; index++) {\n\t rand = _.random(0, index);\n\t if (rand !== index) shuffled[index] = shuffled[rand];\n\t shuffled[rand] = set[index];\n\t }\n\t return shuffled;\n\t };\n\t\n\t // Sample **n** random values from a collection.\n\t // If **n** is not specified, returns a single random element.\n\t // The internal `guard` argument allows it to work with `map`.\n\t _.sample = function(obj, n, guard) {\n\t if (n == null || guard) {\n\t if (!isArrayLike(obj)) obj = _.values(obj);\n\t return obj[_.random(obj.length - 1)];\n\t }\n\t return _.shuffle(obj).slice(0, Math.max(0, n));\n\t };\n\t\n\t // Sort the object's values by a criterion produced by an iteratee.\n\t _.sortBy = function(obj, iteratee, context) {\n\t iteratee = cb(iteratee, context);\n\t return _.pluck(_.map(obj, function(value, index, list) {\n\t return {\n\t value: value,\n\t index: index,\n\t criteria: iteratee(value, index, list)\n\t };\n\t }).sort(function(left, right) {\n\t var a = left.criteria;\n\t var b = right.criteria;\n\t if (a !== b) {\n\t if (a > b || a === void 0) return 1;\n\t if (a < b || b === void 0) return -1;\n\t }\n\t return left.index - right.index;\n\t }), 'value');\n\t };\n\t\n\t // An internal function used for aggregate \"group by\" operations.\n\t var group = function(behavior) {\n\t return function(obj, iteratee, context) {\n\t var result = {};\n\t iteratee = cb(iteratee, context);\n\t _.each(obj, function(value, index) {\n\t var key = iteratee(value, index, obj);\n\t behavior(result, value, key);\n\t });\n\t return result;\n\t };\n\t };\n\t\n\t // Groups the object's values by a criterion. Pass either a string attribute\n\t // to group by, or a function that returns the criterion.\n\t _.groupBy = group(function(result, value, key) {\n\t if (_.has(result, key)) result[key].push(value); else result[key] = [value];\n\t });\n\t\n\t // Indexes the object's values by a criterion, similar to `groupBy`, but for\n\t // when you know that your index values will be unique.\n\t _.indexBy = group(function(result, value, key) {\n\t result[key] = value;\n\t });\n\t\n\t // Counts instances of an object that group by a certain criterion. Pass\n\t // either a string attribute to count by, or a function that returns the\n\t // criterion.\n\t _.countBy = group(function(result, value, key) {\n\t if (_.has(result, key)) result[key]++; else result[key] = 1;\n\t });\n\t\n\t // Safely create a real, live array from anything iterable.\n\t _.toArray = function(obj) {\n\t if (!obj) return [];\n\t if (_.isArray(obj)) return slice.call(obj);\n\t if (isArrayLike(obj)) return _.map(obj, _.identity);\n\t return _.values(obj);\n\t };\n\t\n\t // Return the number of elements in an object.\n\t _.size = function(obj) {\n\t if (obj == null) return 0;\n\t return isArrayLike(obj) ? obj.length : _.keys(obj).length;\n\t };\n\t\n\t // Split a collection into two arrays: one whose elements all satisfy the given\n\t // predicate, and one whose elements all do not satisfy the predicate.\n\t _.partition = function(obj, predicate, context) {\n\t predicate = cb(predicate, context);\n\t var pass = [], fail = [];\n\t _.each(obj, function(value, key, obj) {\n\t (predicate(value, key, obj) ? pass : fail).push(value);\n\t });\n\t return [pass, fail];\n\t };\n\t\n\t // Array Functions\n\t // ---------------\n\t\n\t // Get the first element of an array. Passing **n** will return the first N\n\t // values in the array. Aliased as `head` and `take`. The **guard** check\n\t // allows it to work with `_.map`.\n\t _.first = _.head = _.take = function(array, n, guard) {\n\t if (array == null) return void 0;\n\t if (n == null || guard) return array[0];\n\t return _.initial(array, array.length - n);\n\t };\n\t\n\t // Returns everything but the last entry of the array. Especially useful on\n\t // the arguments object. Passing **n** will return all the values in\n\t // the array, excluding the last N.\n\t _.initial = function(array, n, guard) {\n\t return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n)));\n\t };\n\t\n\t // Get the last element of an array. Passing **n** will return the last N\n\t // values in the array.\n\t _.last = function(array, n, guard) {\n\t if (array == null) return void 0;\n\t if (n == null || guard) return array[array.length - 1];\n\t return _.rest(array, Math.max(0, array.length - n));\n\t };\n\t\n\t // Returns everything but the first entry of the array. Aliased as `tail` and `drop`.\n\t // Especially useful on the arguments object. Passing an **n** will return\n\t // the rest N values in the array.\n\t _.rest = _.tail = _.drop = function(array, n, guard) {\n\t return slice.call(array, n == null || guard ? 1 : n);\n\t };\n\t\n\t // Trim out all falsy values from an array.\n\t _.compact = function(array) {\n\t return _.filter(array, _.identity);\n\t };\n\t\n\t // Internal implementation of a recursive `flatten` function.\n\t var flatten = function(input, shallow, strict, startIndex) {\n\t var output = [], idx = 0;\n\t for (var i = startIndex || 0, length = getLength(input); i < length; i++) {\n\t var value = input[i];\n\t if (isArrayLike(value) && (_.isArray(value) || _.isArguments(value))) {\n\t //flatten current level of array or arguments object\n\t if (!shallow) value = flatten(value, shallow, strict);\n\t var j = 0, len = value.length;\n\t output.length += len;\n\t while (j < len) {\n\t output[idx++] = value[j++];\n\t }\n\t } else if (!strict) {\n\t output[idx++] = value;\n\t }\n\t }\n\t return output;\n\t };\n\t\n\t // Flatten out an array, either recursively (by default), or just one level.\n\t _.flatten = function(array, shallow) {\n\t return flatten(array, shallow, false);\n\t };\n\t\n\t // Return a version of the array that does not contain the specified value(s).\n\t _.without = function(array) {\n\t return _.difference(array, slice.call(arguments, 1));\n\t };\n\t\n\t // Produce a duplicate-free version of the array. If the array has already\n\t // been sorted, you have the option of using a faster algorithm.\n\t // Aliased as `unique`.\n\t _.uniq = _.unique = function(array, isSorted, iteratee, context) {\n\t if (!_.isBoolean(isSorted)) {\n\t context = iteratee;\n\t iteratee = isSorted;\n\t isSorted = false;\n\t }\n\t if (iteratee != null) iteratee = cb(iteratee, context);\n\t var result = [];\n\t var seen = [];\n\t for (var i = 0, length = getLength(array); i < length; i++) {\n\t var value = array[i],\n\t computed = iteratee ? iteratee(value, i, array) : value;\n\t if (isSorted) {\n\t if (!i || seen !== computed) result.push(value);\n\t seen = computed;\n\t } else if (iteratee) {\n\t if (!_.contains(seen, computed)) {\n\t seen.push(computed);\n\t result.push(value);\n\t }\n\t } else if (!_.contains(result, value)) {\n\t result.push(value);\n\t }\n\t }\n\t return result;\n\t };\n\t\n\t // Produce an array that contains the union: each distinct element from all of\n\t // the passed-in arrays.\n\t _.union = function() {\n\t return _.uniq(flatten(arguments, true, true));\n\t };\n\t\n\t // Produce an array that contains every item shared between all the\n\t // passed-in arrays.\n\t _.intersection = function(array) {\n\t var result = [];\n\t var argsLength = arguments.length;\n\t for (var i = 0, length = getLength(array); i < length; i++) {\n\t var item = array[i];\n\t if (_.contains(result, item)) continue;\n\t for (var j = 1; j < argsLength; j++) {\n\t if (!_.contains(arguments[j], item)) break;\n\t }\n\t if (j === argsLength) result.push(item);\n\t }\n\t return result;\n\t };\n\t\n\t // Take the difference between one array and a number of other arrays.\n\t // Only the elements present in just the first array will remain.\n\t _.difference = function(array) {\n\t var rest = flatten(arguments, true, true, 1);\n\t return _.filter(array, function(value){\n\t return !_.contains(rest, value);\n\t });\n\t };\n\t\n\t // Zip together multiple lists into a single array -- elements that share\n\t // an index go together.\n\t _.zip = function() {\n\t return _.unzip(arguments);\n\t };\n\t\n\t // Complement of _.zip. Unzip accepts an array of arrays and groups\n\t // each array's elements on shared indices\n\t _.unzip = function(array) {\n\t var length = array && _.max(array, getLength).length || 0;\n\t var result = Array(length);\n\t\n\t for (var index = 0; index < length; index++) {\n\t result[index] = _.pluck(array, index);\n\t }\n\t return result;\n\t };\n\t\n\t // Converts lists into objects. Pass either a single array of `[key, value]`\n\t // pairs, or two parallel arrays of the same length -- one of keys, and one of\n\t // the corresponding values.\n\t _.object = function(list, values) {\n\t var result = {};\n\t for (var i = 0, length = getLength(list); i < length; i++) {\n\t if (values) {\n\t result[list[i]] = values[i];\n\t } else {\n\t result[list[i][0]] = list[i][1];\n\t }\n\t }\n\t return result;\n\t };\n\t\n\t // Generator function to create the findIndex and findLastIndex functions\n\t function createPredicateIndexFinder(dir) {\n\t return function(array, predicate, context) {\n\t predicate = cb(predicate, context);\n\t var length = getLength(array);\n\t var index = dir > 0 ? 0 : length - 1;\n\t for (; index >= 0 && index < length; index += dir) {\n\t if (predicate(array[index], index, array)) return index;\n\t }\n\t return -1;\n\t };\n\t }\n\t\n\t // Returns the first index on an array-like that passes a predicate test\n\t _.findIndex = createPredicateIndexFinder(1);\n\t _.findLastIndex = createPredicateIndexFinder(-1);\n\t\n\t // Use a comparator function to figure out the smallest index at which\n\t // an object should be inserted so as to maintain order. Uses binary search.\n\t _.sortedIndex = function(array, obj, iteratee, context) {\n\t iteratee = cb(iteratee, context, 1);\n\t var value = iteratee(obj);\n\t var low = 0, high = getLength(array);\n\t while (low < high) {\n\t var mid = Math.floor((low + high) / 2);\n\t if (iteratee(array[mid]) < value) low = mid + 1; else high = mid;\n\t }\n\t return low;\n\t };\n\t\n\t // Generator function to create the indexOf and lastIndexOf functions\n\t function createIndexFinder(dir, predicateFind, sortedIndex) {\n\t return function(array, item, idx) {\n\t var i = 0, length = getLength(array);\n\t if (typeof idx == 'number') {\n\t if (dir > 0) {\n\t i = idx >= 0 ? idx : Math.max(idx + length, i);\n\t } else {\n\t length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1;\n\t }\n\t } else if (sortedIndex && idx && length) {\n\t idx = sortedIndex(array, item);\n\t return array[idx] === item ? idx : -1;\n\t }\n\t if (item !== item) {\n\t idx = predicateFind(slice.call(array, i, length), _.isNaN);\n\t return idx >= 0 ? idx + i : -1;\n\t }\n\t for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) {\n\t if (array[idx] === item) return idx;\n\t }\n\t return -1;\n\t };\n\t }\n\t\n\t // Return the position of the first occurrence of an item in an array,\n\t // or -1 if the item is not included in the array.\n\t // If the array is large and already in sort order, pass `true`\n\t // for **isSorted** to use binary search.\n\t _.indexOf = createIndexFinder(1, _.findIndex, _.sortedIndex);\n\t _.lastIndexOf = createIndexFinder(-1, _.findLastIndex);\n\t\n\t // Generate an integer Array containing an arithmetic progression. A port of\n\t // the native Python `range()` function. See\n\t // [the Python documentation](http://docs.python.org/library/functions.html#range).\n\t _.range = function(start, stop, step) {\n\t if (stop == null) {\n\t stop = start || 0;\n\t start = 0;\n\t }\n\t step = step || 1;\n\t\n\t var length = Math.max(Math.ceil((stop - start) / step), 0);\n\t var range = Array(length);\n\t\n\t for (var idx = 0; idx < length; idx++, start += step) {\n\t range[idx] = start;\n\t }\n\t\n\t return range;\n\t };\n\t\n\t // Function (ahem) Functions\n\t // ------------------\n\t\n\t // Determines whether to execute a function as a constructor\n\t // or a normal function with the provided arguments\n\t var executeBound = function(sourceFunc, boundFunc, context, callingContext, args) {\n\t if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args);\n\t var self = baseCreate(sourceFunc.prototype);\n\t var result = sourceFunc.apply(self, args);\n\t if (_.isObject(result)) return result;\n\t return self;\n\t };\n\t\n\t // Create a function bound to a given object (assigning `this`, and arguments,\n\t // optionally). Delegates to **ECMAScript 5**'s native `Function.bind` if\n\t // available.\n\t _.bind = function(func, context) {\n\t if (nativeBind && func.bind === nativeBind) return nativeBind.apply(func, slice.call(arguments, 1));\n\t if (!_.isFunction(func)) throw new TypeError('Bind must be called on a function');\n\t var args = slice.call(arguments, 2);\n\t var bound = function() {\n\t return executeBound(func, bound, context, this, args.concat(slice.call(arguments)));\n\t };\n\t return bound;\n\t };\n\t\n\t // Partially apply a function by creating a version that has had some of its\n\t // arguments pre-filled, without changing its dynamic `this` context. _ acts\n\t // as a placeholder, allowing any combination of arguments to be pre-filled.\n\t _.partial = function(func) {\n\t var boundArgs = slice.call(arguments, 1);\n\t var bound = function() {\n\t var position = 0, length = boundArgs.length;\n\t var args = Array(length);\n\t for (var i = 0; i < length; i++) {\n\t args[i] = boundArgs[i] === _ ? arguments[position++] : boundArgs[i];\n\t }\n\t while (position < arguments.length) args.push(arguments[position++]);\n\t return executeBound(func, bound, this, this, args);\n\t };\n\t return bound;\n\t };\n\t\n\t // Bind a number of an object's methods to that object. Remaining arguments\n\t // are the method names to be bound. Useful for ensuring that all callbacks\n\t // defined on an object belong to it.\n\t _.bindAll = function(obj) {\n\t var i, length = arguments.length, key;\n\t if (length <= 1) throw new Error('bindAll must be passed function names');\n\t for (i = 1; i < length; i++) {\n\t key = arguments[i];\n\t obj[key] = _.bind(obj[key], obj);\n\t }\n\t return obj;\n\t };\n\t\n\t // Memoize an expensive function by storing its results.\n\t _.memoize = function(func, hasher) {\n\t var memoize = function(key) {\n\t var cache = memoize.cache;\n\t var address = '' + (hasher ? hasher.apply(this, arguments) : key);\n\t if (!_.has(cache, address)) cache[address] = func.apply(this, arguments);\n\t return cache[address];\n\t };\n\t memoize.cache = {};\n\t return memoize;\n\t };\n\t\n\t // Delays a function for the given number of milliseconds, and then calls\n\t // it with the arguments supplied.\n\t _.delay = function(func, wait) {\n\t var args = slice.call(arguments, 2);\n\t return setTimeout(function(){\n\t return func.apply(null, args);\n\t }, wait);\n\t };\n\t\n\t // Defers a function, scheduling it to run after the current call stack has\n\t // cleared.\n\t _.defer = _.partial(_.delay, _, 1);\n\t\n\t // Returns a function, that, when invoked, will only be triggered at most once\n\t // during a given window of time. Normally, the throttled function will run\n\t // as much as it can, without ever going more than once per `wait` duration;\n\t // but if you'd like to disable the execution on the leading edge, pass\n\t // `{leading: false}`. To disable execution on the trailing edge, ditto.\n\t _.throttle = function(func, wait, options) {\n\t var context, args, result;\n\t var timeout = null;\n\t var previous = 0;\n\t if (!options) options = {};\n\t var later = function() {\n\t previous = options.leading === false ? 0 : _.now();\n\t timeout = null;\n\t result = func.apply(context, args);\n\t if (!timeout) context = args = null;\n\t };\n\t return function() {\n\t var now = _.now();\n\t if (!previous && options.leading === false) previous = now;\n\t var remaining = wait - (now - previous);\n\t context = this;\n\t args = arguments;\n\t if (remaining <= 0 || remaining > wait) {\n\t if (timeout) {\n\t clearTimeout(timeout);\n\t timeout = null;\n\t }\n\t previous = now;\n\t result = func.apply(context, args);\n\t if (!timeout) context = args = null;\n\t } else if (!timeout && options.trailing !== false) {\n\t timeout = setTimeout(later, remaining);\n\t }\n\t return result;\n\t };\n\t };\n\t\n\t // Returns a function, that, as long as it continues to be invoked, will not\n\t // be triggered. The function will be called after it stops being called for\n\t // N milliseconds. If `immediate` is passed, trigger the function on the\n\t // leading edge, instead of the trailing.\n\t _.debounce = function(func, wait, immediate) {\n\t var timeout, args, context, timestamp, result;\n\t\n\t var later = function() {\n\t var last = _.now() - timestamp;\n\t\n\t if (last < wait && last >= 0) {\n\t timeout = setTimeout(later, wait - last);\n\t } else {\n\t timeout = null;\n\t if (!immediate) {\n\t result = func.apply(context, args);\n\t if (!timeout) context = args = null;\n\t }\n\t }\n\t };\n\t\n\t return function() {\n\t context = this;\n\t args = arguments;\n\t timestamp = _.now();\n\t var callNow = immediate && !timeout;\n\t if (!timeout) timeout = setTimeout(later, wait);\n\t if (callNow) {\n\t result = func.apply(context, args);\n\t context = args = null;\n\t }\n\t\n\t return result;\n\t };\n\t };\n\t\n\t // Returns the first function passed as an argument to the second,\n\t // allowing you to adjust arguments, run code before and after, and\n\t // conditionally execute the original function.\n\t _.wrap = function(func, wrapper) {\n\t return _.partial(wrapper, func);\n\t };\n\t\n\t // Returns a negated version of the passed-in predicate.\n\t _.negate = function(predicate) {\n\t return function() {\n\t return !predicate.apply(this, arguments);\n\t };\n\t };\n\t\n\t // Returns a function that is the composition of a list of functions, each\n\t // consuming the return value of the function that follows.\n\t _.compose = function() {\n\t var args = arguments;\n\t var start = args.length - 1;\n\t return function() {\n\t var i = start;\n\t var result = args[start].apply(this, arguments);\n\t while (i--) result = args[i].call(this, result);\n\t return result;\n\t };\n\t };\n\t\n\t // Returns a function that will only be executed on and after the Nth call.\n\t _.after = function(times, func) {\n\t return function() {\n\t if (--times < 1) {\n\t return func.apply(this, arguments);\n\t }\n\t };\n\t };\n\t\n\t // Returns a function that will only be executed up to (but not including) the Nth call.\n\t _.before = function(times, func) {\n\t var memo;\n\t return function() {\n\t if (--times > 0) {\n\t memo = func.apply(this, arguments);\n\t }\n\t if (times <= 1) func = null;\n\t return memo;\n\t };\n\t };\n\t\n\t // Returns a function that will be executed at most one time, no matter how\n\t // often you call it. Useful for lazy initialization.\n\t _.once = _.partial(_.before, 2);\n\t\n\t // Object Functions\n\t // ----------------\n\t\n\t // Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed.\n\t var hasEnumBug = !{toString: null}.propertyIsEnumerable('toString');\n\t var nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString',\n\t 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString'];\n\t\n\t function collectNonEnumProps(obj, keys) {\n\t var nonEnumIdx = nonEnumerableProps.length;\n\t var constructor = obj.constructor;\n\t var proto = (_.isFunction(constructor) && constructor.prototype) || ObjProto;\n\t\n\t // Constructor is a special case.\n\t var prop = 'constructor';\n\t if (_.has(obj, prop) && !_.contains(keys, prop)) keys.push(prop);\n\t\n\t while (nonEnumIdx--) {\n\t prop = nonEnumerableProps[nonEnumIdx];\n\t if (prop in obj && obj[prop] !== proto[prop] && !_.contains(keys, prop)) {\n\t keys.push(prop);\n\t }\n\t }\n\t }\n\t\n\t // Retrieve the names of an object's own properties.\n\t // Delegates to **ECMAScript 5**'s native `Object.keys`\n\t _.keys = function(obj) {\n\t if (!_.isObject(obj)) return [];\n\t if (nativeKeys) return nativeKeys(obj);\n\t var keys = [];\n\t for (var key in obj) if (_.has(obj, key)) keys.push(key);\n\t // Ahem, IE < 9.\n\t if (hasEnumBug) collectNonEnumProps(obj, keys);\n\t return keys;\n\t };\n\t\n\t // Retrieve all the property names of an object.\n\t _.allKeys = function(obj) {\n\t if (!_.isObject(obj)) return [];\n\t var keys = [];\n\t for (var key in obj) keys.push(key);\n\t // Ahem, IE < 9.\n\t if (hasEnumBug) collectNonEnumProps(obj, keys);\n\t return keys;\n\t };\n\t\n\t // Retrieve the values of an object's properties.\n\t _.values = function(obj) {\n\t var keys = _.keys(obj);\n\t var length = keys.length;\n\t var values = Array(length);\n\t for (var i = 0; i < length; i++) {\n\t values[i] = obj[keys[i]];\n\t }\n\t return values;\n\t };\n\t\n\t // Returns the results of applying the iteratee to each element of the object\n\t // In contrast to _.map it returns an object\n\t _.mapObject = function(obj, iteratee, context) {\n\t iteratee = cb(iteratee, context);\n\t var keys = _.keys(obj),\n\t length = keys.length,\n\t results = {},\n\t currentKey;\n\t for (var index = 0; index < length; index++) {\n\t currentKey = keys[index];\n\t results[currentKey] = iteratee(obj[currentKey], currentKey, obj);\n\t }\n\t return results;\n\t };\n\t\n\t // Convert an object into a list of `[key, value]` pairs.\n\t _.pairs = function(obj) {\n\t var keys = _.keys(obj);\n\t var length = keys.length;\n\t var pairs = Array(length);\n\t for (var i = 0; i < length; i++) {\n\t pairs[i] = [keys[i], obj[keys[i]]];\n\t }\n\t return pairs;\n\t };\n\t\n\t // Invert the keys and values of an object. The values must be serializable.\n\t _.invert = function(obj) {\n\t var result = {};\n\t var keys = _.keys(obj);\n\t for (var i = 0, length = keys.length; i < length; i++) {\n\t result[obj[keys[i]]] = keys[i];\n\t }\n\t return result;\n\t };\n\t\n\t // Return a sorted list of the function names available on the object.\n\t // Aliased as `methods`\n\t _.functions = _.methods = function(obj) {\n\t var names = [];\n\t for (var key in obj) {\n\t if (_.isFunction(obj[key])) names.push(key);\n\t }\n\t return names.sort();\n\t };\n\t\n\t // Extend a given object with all the properties in passed-in object(s).\n\t _.extend = createAssigner(_.allKeys);\n\t\n\t // Assigns a given object with all the own properties in the passed-in object(s)\n\t // (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)\n\t _.extendOwn = _.assign = createAssigner(_.keys);\n\t\n\t // Returns the first key on an object that passes a predicate test\n\t _.findKey = function(obj, predicate, context) {\n\t predicate = cb(predicate, context);\n\t var keys = _.keys(obj), key;\n\t for (var i = 0, length = keys.length; i < length; i++) {\n\t key = keys[i];\n\t if (predicate(obj[key], key, obj)) return key;\n\t }\n\t };\n\t\n\t // Return a copy of the object only containing the whitelisted properties.\n\t _.pick = function(object, oiteratee, context) {\n\t var result = {}, obj = object, iteratee, keys;\n\t if (obj == null) return result;\n\t if (_.isFunction(oiteratee)) {\n\t keys = _.allKeys(obj);\n\t iteratee = optimizeCb(oiteratee, context);\n\t } else {\n\t keys = flatten(arguments, false, false, 1);\n\t iteratee = function(value, key, obj) { return key in obj; };\n\t obj = Object(obj);\n\t }\n\t for (var i = 0, length = keys.length; i < length; i++) {\n\t var key = keys[i];\n\t var value = obj[key];\n\t if (iteratee(value, key, obj)) result[key] = value;\n\t }\n\t return result;\n\t };\n\t\n\t // Return a copy of the object without the blacklisted properties.\n\t _.omit = function(obj, iteratee, context) {\n\t if (_.isFunction(iteratee)) {\n\t iteratee = _.negate(iteratee);\n\t } else {\n\t var keys = _.map(flatten(arguments, false, false, 1), String);\n\t iteratee = function(value, key) {\n\t return !_.contains(keys, key);\n\t };\n\t }\n\t return _.pick(obj, iteratee, context);\n\t };\n\t\n\t // Fill in a given object with default properties.\n\t _.defaults = createAssigner(_.allKeys, true);\n\t\n\t // Creates an object that inherits from the given prototype object.\n\t // If additional properties are provided then they will be added to the\n\t // created object.\n\t _.create = function(prototype, props) {\n\t var result = baseCreate(prototype);\n\t if (props) _.extendOwn(result, props);\n\t return result;\n\t };\n\t\n\t // Create a (shallow-cloned) duplicate of an object.\n\t _.clone = function(obj) {\n\t if (!_.isObject(obj)) return obj;\n\t return _.isArray(obj) ? obj.slice() : _.extend({}, obj);\n\t };\n\t\n\t // Invokes interceptor with the obj, and then returns obj.\n\t // The primary purpose of this method is to \"tap into\" a method chain, in\n\t // order to perform operations on intermediate results within the chain.\n\t _.tap = function(obj, interceptor) {\n\t interceptor(obj);\n\t return obj;\n\t };\n\t\n\t // Returns whether an object has a given set of `key:value` pairs.\n\t _.isMatch = function(object, attrs) {\n\t var keys = _.keys(attrs), length = keys.length;\n\t if (object == null) return !length;\n\t var obj = Object(object);\n\t for (var i = 0; i < length; i++) {\n\t var key = keys[i];\n\t if (attrs[key] !== obj[key] || !(key in obj)) return false;\n\t }\n\t return true;\n\t };\n\t\n\t\n\t // Internal recursive comparison function for `isEqual`.\n\t var eq = function(a, b, aStack, bStack) {\n\t // Identical objects are equal. `0 === -0`, but they aren't identical.\n\t // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal).\n\t if (a === b) return a !== 0 || 1 / a === 1 / b;\n\t // A strict comparison is necessary because `null == undefined`.\n\t if (a == null || b == null) return a === b;\n\t // Unwrap any wrapped objects.\n\t if (a instanceof _) a = a._wrapped;\n\t if (b instanceof _) b = b._wrapped;\n\t // Compare `[[Class]]` names.\n\t var className = toString.call(a);\n\t if (className !== toString.call(b)) return false;\n\t switch (className) {\n\t // Strings, numbers, regular expressions, dates, and booleans are compared by value.\n\t case '[object RegExp]':\n\t // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i')\n\t case '[object String]':\n\t // Primitives and their corresponding object wrappers are equivalent; thus, `\"5\"` is\n\t // equivalent to `new String(\"5\")`.\n\t return '' + a === '' + b;\n\t case '[object Number]':\n\t // `NaN`s are equivalent, but non-reflexive.\n\t // Object(NaN) is equivalent to NaN\n\t if (+a !== +a) return +b !== +b;\n\t // An `egal` comparison is performed for other numeric values.\n\t return +a === 0 ? 1 / +a === 1 / b : +a === +b;\n\t case '[object Date]':\n\t case '[object Boolean]':\n\t // Coerce dates and booleans to numeric primitive values. Dates are compared by their\n\t // millisecond representations. Note that invalid dates with millisecond representations\n\t // of `NaN` are not equivalent.\n\t return +a === +b;\n\t }\n\t\n\t var areArrays = className === '[object Array]';\n\t if (!areArrays) {\n\t if (typeof a != 'object' || typeof b != 'object') return false;\n\t\n\t // Objects with different constructors are not equivalent, but `Object`s or `Array`s\n\t // from different frames are.\n\t var aCtor = a.constructor, bCtor = b.constructor;\n\t if (aCtor !== bCtor && !(_.isFunction(aCtor) && aCtor instanceof aCtor &&\n\t _.isFunction(bCtor) && bCtor instanceof bCtor)\n\t && ('constructor' in a && 'constructor' in b)) {\n\t return false;\n\t }\n\t }\n\t // Assume equality for cyclic structures. The algorithm for detecting cyclic\n\t // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.\n\t\n\t // Initializing stack of traversed objects.\n\t // It's done here since we only need them for objects and arrays comparison.\n\t aStack = aStack || [];\n\t bStack = bStack || [];\n\t var length = aStack.length;\n\t while (length--) {\n\t // Linear search. Performance is inversely proportional to the number of\n\t // unique nested structures.\n\t if (aStack[length] === a) return bStack[length] === b;\n\t }\n\t\n\t // Add the first object to the stack of traversed objects.\n\t aStack.push(a);\n\t bStack.push(b);\n\t\n\t // Recursively compare objects and arrays.\n\t if (areArrays) {\n\t // Compare array lengths to determine if a deep comparison is necessary.\n\t length = a.length;\n\t if (length !== b.length) return false;\n\t // Deep compare the contents, ignoring non-numeric properties.\n\t while (length--) {\n\t if (!eq(a[length], b[length], aStack, bStack)) return false;\n\t }\n\t } else {\n\t // Deep compare objects.\n\t var keys = _.keys(a), key;\n\t length = keys.length;\n\t // Ensure that both objects contain the same number of properties before comparing deep equality.\n\t if (_.keys(b).length !== length) return false;\n\t while (length--) {\n\t // Deep compare each member\n\t key = keys[length];\n\t if (!(_.has(b, key) && eq(a[key], b[key], aStack, bStack))) return false;\n\t }\n\t }\n\t // Remove the first object from the stack of traversed objects.\n\t aStack.pop();\n\t bStack.pop();\n\t return true;\n\t };\n\t\n\t // Perform a deep comparison to check if two objects are equal.\n\t _.isEqual = function(a, b) {\n\t return eq(a, b);\n\t };\n\t\n\t // Is a given array, string, or object empty?\n\t // An \"empty\" object has no enumerable own-properties.\n\t _.isEmpty = function(obj) {\n\t if (obj == null) return true;\n\t if (isArrayLike(obj) && (_.isArray(obj) || _.isString(obj) || _.isArguments(obj))) return obj.length === 0;\n\t return _.keys(obj).length === 0;\n\t };\n\t\n\t // Is a given value a DOM element?\n\t _.isElement = function(obj) {\n\t return !!(obj && obj.nodeType === 1);\n\t };\n\t\n\t // Is a given value an array?\n\t // Delegates to ECMA5's native Array.isArray\n\t _.isArray = nativeIsArray || function(obj) {\n\t return toString.call(obj) === '[object Array]';\n\t };\n\t\n\t // Is a given variable an object?\n\t _.isObject = function(obj) {\n\t var type = typeof obj;\n\t return type === 'function' || type === 'object' && !!obj;\n\t };\n\t\n\t // Add some isType methods: isArguments, isFunction, isString, isNumber, isDate, isRegExp, isError.\n\t _.each(['Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp', 'Error'], function(name) {\n\t _['is' + name] = function(obj) {\n\t return toString.call(obj) === '[object ' + name + ']';\n\t };\n\t });\n\t\n\t // Define a fallback version of the method in browsers (ahem, IE < 9), where\n\t // there isn't any inspectable \"Arguments\" type.\n\t if (!_.isArguments(arguments)) {\n\t _.isArguments = function(obj) {\n\t return _.has(obj, 'callee');\n\t };\n\t }\n\t\n\t // Optimize `isFunction` if appropriate. Work around some typeof bugs in old v8,\n\t // IE 11 (#1621), and in Safari 8 (#1929).\n\t if (typeof /./ != 'function' && typeof Int8Array != 'object') {\n\t _.isFunction = function(obj) {\n\t return typeof obj == 'function' || false;\n\t };\n\t }\n\t\n\t // Is a given object a finite number?\n\t _.isFinite = function(obj) {\n\t return isFinite(obj) && !isNaN(parseFloat(obj));\n\t };\n\t\n\t // Is the given value `NaN`? (NaN is the only number which does not equal itself).\n\t _.isNaN = function(obj) {\n\t return _.isNumber(obj) && obj !== +obj;\n\t };\n\t\n\t // Is a given value a boolean?\n\t _.isBoolean = function(obj) {\n\t return obj === true || obj === false || toString.call(obj) === '[object Boolean]';\n\t };\n\t\n\t // Is a given value equal to null?\n\t _.isNull = function(obj) {\n\t return obj === null;\n\t };\n\t\n\t // Is a given variable undefined?\n\t _.isUndefined = function(obj) {\n\t return obj === void 0;\n\t };\n\t\n\t // Shortcut function for checking if an object has a given property directly\n\t // on itself (in other words, not on a prototype).\n\t _.has = function(obj, key) {\n\t return obj != null && hasOwnProperty.call(obj, key);\n\t };\n\t\n\t // Utility Functions\n\t // -----------------\n\t\n\t // Run Underscore.js in *noConflict* mode, returning the `_` variable to its\n\t // previous owner. Returns a reference to the Underscore object.\n\t _.noConflict = function() {\n\t root._ = previousUnderscore;\n\t return this;\n\t };\n\t\n\t // Keep the identity function around for default iteratees.\n\t _.identity = function(value) {\n\t return value;\n\t };\n\t\n\t // Predicate-generating functions. Often useful outside of Underscore.\n\t _.constant = function(value) {\n\t return function() {\n\t return value;\n\t };\n\t };\n\t\n\t _.noop = function(){};\n\t\n\t _.property = property;\n\t\n\t // Generates a function for a given object that returns a given property.\n\t _.propertyOf = function(obj) {\n\t return obj == null ? function(){} : function(key) {\n\t return obj[key];\n\t };\n\t };\n\t\n\t // Returns a predicate for checking whether an object has a given set of\n\t // `key:value` pairs.\n\t _.matcher = _.matches = function(attrs) {\n\t attrs = _.extendOwn({}, attrs);\n\t return function(obj) {\n\t return _.isMatch(obj, attrs);\n\t };\n\t };\n\t\n\t // Run a function **n** times.\n\t _.times = function(n, iteratee, context) {\n\t var accum = Array(Math.max(0, n));\n\t iteratee = optimizeCb(iteratee, context, 1);\n\t for (var i = 0; i < n; i++) accum[i] = iteratee(i);\n\t return accum;\n\t };\n\t\n\t // Return a random integer between min and max (inclusive).\n\t _.random = function(min, max) {\n\t if (max == null) {\n\t max = min;\n\t min = 0;\n\t }\n\t return min + Math.floor(Math.random() * (max - min + 1));\n\t };\n\t\n\t // A (possibly faster) way to get the current timestamp as an integer.\n\t _.now = Date.now || function() {\n\t return new Date().getTime();\n\t };\n\t\n\t // List of HTML entities for escaping.\n\t var escapeMap = {\n\t '&': '&',\n\t '<': '<',\n\t '>': '>',\n\t '\"': '"',\n\t \"'\": ''',\n\t '`': '`'\n\t };\n\t var unescapeMap = _.invert(escapeMap);\n\t\n\t // Functions for escaping and unescaping strings to/from HTML interpolation.\n\t var createEscaper = function(map) {\n\t var escaper = function(match) {\n\t return map[match];\n\t };\n\t // Regexes for identifying a key that needs to be escaped\n\t var source = '(?:' + _.keys(map).join('|') + ')';\n\t var testRegexp = RegExp(source);\n\t var replaceRegexp = RegExp(source, 'g');\n\t return function(string) {\n\t string = string == null ? '' : '' + string;\n\t return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string;\n\t };\n\t };\n\t _.escape = createEscaper(escapeMap);\n\t _.unescape = createEscaper(unescapeMap);\n\t\n\t // If the value of the named `property` is a function then invoke it with the\n\t // `object` as context; otherwise, return it.\n\t _.result = function(object, property, fallback) {\n\t var value = object == null ? void 0 : object[property];\n\t if (value === void 0) {\n\t value = fallback;\n\t }\n\t return _.isFunction(value) ? value.call(object) : value;\n\t };\n\t\n\t // Generate a unique integer id (unique within the entire client session).\n\t // Useful for temporary DOM ids.\n\t var idCounter = 0;\n\t _.uniqueId = function(prefix) {\n\t var id = ++idCounter + '';\n\t return prefix ? prefix + id : id;\n\t };\n\t\n\t // By default, Underscore uses ERB-style template delimiters, change the\n\t // following template settings to use alternative delimiters.\n\t _.templateSettings = {\n\t evaluate : /<%([\\s\\S]+?)%>/g,\n\t interpolate : /<%=([\\s\\S]+?)%>/g,\n\t escape : /<%-([\\s\\S]+?)%>/g\n\t };\n\t\n\t // When customizing `templateSettings`, if you don't want to define an\n\t // interpolation, evaluation or escaping regex, we need one that is\n\t // guaranteed not to match.\n\t var noMatch = /(.)^/;\n\t\n\t // Certain characters need to be escaped so that they can be put into a\n\t // string literal.\n\t var escapes = {\n\t \"'\": \"'\",\n\t '\\\\': '\\\\',\n\t '\\r': 'r',\n\t '\\n': 'n',\n\t '\\u2028': 'u2028',\n\t '\\u2029': 'u2029'\n\t };\n\t\n\t var escaper = /\\\\|'|\\r|\\n|\\u2028|\\u2029/g;\n\t\n\t var escapeChar = function(match) {\n\t return '\\\\' + escapes[match];\n\t };\n\t\n\t // JavaScript micro-templating, similar to John Resig's implementation.\n\t // Underscore templating handles arbitrary delimiters, preserves whitespace,\n\t // and correctly escapes quotes within interpolated code.\n\t // NB: `oldSettings` only exists for backwards compatibility.\n\t _.template = function(text, settings, oldSettings) {\n\t if (!settings && oldSettings) settings = oldSettings;\n\t settings = _.defaults({}, settings, _.templateSettings);\n\t\n\t // Combine delimiters into one regular expression via alternation.\n\t var matcher = RegExp([\n\t (settings.escape || noMatch).source,\n\t (settings.interpolate || noMatch).source,\n\t (settings.evaluate || noMatch).source\n\t ].join('|') + '|$', 'g');\n\t\n\t // Compile the template source, escaping string literals appropriately.\n\t var index = 0;\n\t var source = \"__p+='\";\n\t text.replace(matcher, function(match, escape, interpolate, evaluate, offset) {\n\t source += text.slice(index, offset).replace(escaper, escapeChar);\n\t index = offset + match.length;\n\t\n\t if (escape) {\n\t source += \"'+\\n((__t=(\" + escape + \"))==null?'':_.escape(__t))+\\n'\";\n\t } else if (interpolate) {\n\t source += \"'+\\n((__t=(\" + interpolate + \"))==null?'':__t)+\\n'\";\n\t } else if (evaluate) {\n\t source += \"';\\n\" + evaluate + \"\\n__p+='\";\n\t }\n\t\n\t // Adobe VMs need the match returned to produce the correct offest.\n\t return match;\n\t });\n\t source += \"';\\n\";\n\t\n\t // If a variable is not specified, place data values in local scope.\n\t if (!settings.variable) source = 'with(obj||{}){\\n' + source + '}\\n';\n\t\n\t source = \"var __t,__p='',__j=Array.prototype.join,\" +\n\t \"print=function(){__p+=__j.call(arguments,'');};\\n\" +\n\t source + 'return __p;\\n';\n\t\n\t try {\n\t var render = new Function(settings.variable || 'obj', '_', source);\n\t } catch (e) {\n\t e.source = source;\n\t throw e;\n\t }\n\t\n\t var template = function(data) {\n\t return render.call(this, data, _);\n\t };\n\t\n\t // Provide the compiled source as a convenience for precompilation.\n\t var argument = settings.variable || 'obj';\n\t template.source = 'function(' + argument + '){\\n' + source + '}';\n\t\n\t return template;\n\t };\n\t\n\t // Add a \"chain\" function. Start chaining a wrapped Underscore object.\n\t _.chain = function(obj) {\n\t var instance = _(obj);\n\t instance._chain = true;\n\t return instance;\n\t };\n\t\n\t // OOP\n\t // ---------------\n\t // If Underscore is called as a function, it returns a wrapped object that\n\t // can be used OO-style. This wrapper holds altered versions of all the\n\t // underscore functions. Wrapped objects may be chained.\n\t\n\t // Helper function to continue chaining intermediate results.\n\t var result = function(instance, obj) {\n\t return instance._chain ? _(obj).chain() : obj;\n\t };\n\t\n\t // Add your own custom functions to the Underscore object.\n\t _.mixin = function(obj) {\n\t _.each(_.functions(obj), function(name) {\n\t var func = _[name] = obj[name];\n\t _.prototype[name] = function() {\n\t var args = [this._wrapped];\n\t push.apply(args, arguments);\n\t return result(this, func.apply(_, args));\n\t };\n\t });\n\t };\n\t\n\t // Add all of the Underscore functions to the wrapper object.\n\t _.mixin(_);\n\t\n\t // Add all mutator Array functions to the wrapper.\n\t _.each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) {\n\t var method = ArrayProto[name];\n\t _.prototype[name] = function() {\n\t var obj = this._wrapped;\n\t method.apply(obj, arguments);\n\t if ((name === 'shift' || name === 'splice') && obj.length === 0) delete obj[0];\n\t return result(this, obj);\n\t };\n\t });\n\t\n\t // Add all accessor Array functions to the wrapper.\n\t _.each(['concat', 'join', 'slice'], function(name) {\n\t var method = ArrayProto[name];\n\t _.prototype[name] = function() {\n\t return result(this, method.apply(this._wrapped, arguments));\n\t };\n\t });\n\t\n\t // Extracts the result from a wrapped and chained object.\n\t _.prototype.value = function() {\n\t return this._wrapped;\n\t };\n\t\n\t // Provide unwrapping proxy for some methods used in engine operations\n\t // such as arithmetic and JSON stringification.\n\t _.prototype.valueOf = _.prototype.toJSON = _.prototype.value;\n\t\n\t _.prototype.toString = function() {\n\t return '' + this._wrapped;\n\t };\n\t\n\t // AMD registration happens at the end for compatibility with AMD loaders\n\t // that may not enforce next-turn semantics on modules. Even though general\n\t // practice for AMD registration is to be anonymous, underscore registers\n\t // as a named module because, like jQuery, it is a base library that is\n\t // popular enough to be bundled in a third party lib, but not be part of\n\t // an AMD load request. Those cases could generate an error when an\n\t // anonymous define() is called outside of a loader request.\n\t if (true) {\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function() {\n\t return _;\n\t }.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t }\n\t}.call(this));\n\n\n/***/ },\n/* 329 */\n/***/ function(module, exports) {\n\n\tmodule.exports = {\n\t\t\"version\": \"2.14.0\",\n\t\t\"supportedLanguages\": [\n\t\t\t\"en\",\n\t\t\t\"cs\",\n\t\t\t\"da\",\n\t\t\t\"de\",\n\t\t\t\"el\",\n\t\t\t\"es\",\n\t\t\t\"fi\",\n\t\t\t\"fr\",\n\t\t\t\"hu\",\n\t\t\t\"id\",\n\t\t\t\"in\",\n\t\t\t\"it\",\n\t\t\t\"ja\",\n\t\t\t\"ko\",\n\t\t\t\"ms\",\n\t\t\t\"nb\",\n\t\t\t\"nl-NL\",\n\t\t\t\"pl\",\n\t\t\t\"pt-BR\",\n\t\t\t\"ro\",\n\t\t\t\"ru\",\n\t\t\t\"sv\",\n\t\t\t\"th\",\n\t\t\t\"tr\",\n\t\t\t\"uk\",\n\t\t\t\"zh-CN\",\n\t\t\t\"zh-TW\"\n\t\t]\n\t};\n\n/***/ },\n/* 330 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(413), __webpack_require__(414)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, Enums, Errors) {\n\t\n\t var util = {};\n\t var _ = Okta._;\n\t\n\t function hasResponseType(params, type) {\n\t if (_.isArray(params.responseType)) {\n\t return _.contains(params.responseType, type);\n\t } else {\n\t return type === params.responseType;\n\t }\n\t }\n\t\n\t /**\n\t * Get the tokens in the OIDC/OAUTH flows\n\t *\n\t * @param settings - settings model object\n\t * @param params - {idp: 'xxx'} for social auth\n\t * {sessionToken: 'xxx'} for okta idp\n\t */\n\t util.getTokens = function (settings, params, controller) {\n\t\n\t function success(result) {\n\t settings.callGlobalSuccess(Enums.SUCCESS, result);\n\t }\n\t\n\t function error(error) {\n\t // OKTA-104330- Handle error case where user is not assigned to OIDC client\n\t if (error.errorCode === 'access_denied') {\n\t controller.model.trigger('error', controller.model, { 'responseJSON': error });\n\t controller.model.appState.trigger('removeLoading');\n\t } else {\n\t settings.callGlobalError(new Errors.OAuthError(error.message));\n\t }\n\t }\n\t\n\t var authClient = settings.getAuthClient(),\n\t options = settings.toJSON({ verbose: true }),\n\t oauthParams = {},\n\t extraOptions = {};\n\t\n\t _.extend(oauthParams, _.pick(options, 'clientId', 'redirectUri'), _.pick(options.authParams, 'responseType', 'responseMode', 'display', 'scopes', 'state', 'nonce'), params);\n\t\n\t // Extra Options for Social Idp popup window title and id_token response timeout\n\t extraOptions.popupTitle = Okta.loc('socialauth.popup.title', 'login');\n\t extraOptions.timeout = options.oAuthTimeout;\n\t\n\t _.extend(extraOptions, _.pick(options.authParams, 'issuer', 'authorizeUrl'));\n\t\n\t // Redirect flow - this can be used when logging into an external IDP, or\n\t // converting the Okta sessionToken to an access_token, id_token, and/or\n\t // authorization code. Note: The authorization code flow will always redirect.\n\t if (oauthParams.display === 'page' || hasResponseType(oauthParams, 'code')) {\n\t authClient.token.getWithRedirect(oauthParams, extraOptions);\n\t }\n\t\n\t // Default flow if logging in with Okta as the IDP - convert sessionToken to\n\t // tokens in a hidden iframe. Used in Single Page Apps where the app does\n\t // not want to redirect away from the page to convert the token.\n\t else if (oauthParams.sessionToken) {\n\t authClient.token.getWithoutPrompt(oauthParams, extraOptions).then(success).fail(error).done();\n\t }\n\t\n\t // Default flow if logging in with an external IDP - opens a popup and\n\t // gets the token from a postMessage response.\n\t else {\n\t authClient.token.getWithPopup(oauthParams, extraOptions).then(success).fail(error).done();\n\t }\n\t };\n\t\n\t // Parse through the OAuth 'authParams' object to ensure the 'openid' scope is\n\t // included (if required)\n\t util.addOrRemoveOpenIdScope = function (authParams) {\n\t if (!authParams.responseType) {\n\t return;\n\t }\n\t\n\t // Convert scope into an Array\n\t var scope = Array.isArray(authParams.scopes) ? authParams.scopes : authParams.scopes.split(' ');\n\t\n\t // Remove the 'openid' scope, as it is only required if an 'id_token' is requested\n\t if (scope.includes('openid')) {\n\t scope.splice(scope.indexOf('openid'), 1);\n\t }\n\t\n\t // Add the 'openid' scope\n\t if (authParams.responseType.includes('id_token')) {\n\t scope.push('openid');\n\t }\n\t\n\t return scope;\n\t };\n\t\n\t // Utility handlers for mapping convenience keys to OAuth params\n\t util.getResponseType = function (options) {\n\t var responseType = [];\n\t if (options.getIdToken !== false) {\n\t responseType.push('id_token');\n\t }\n\t\n\t if (options.getAccessToken) {\n\t responseType.push('token');\n\t }\n\t\n\t return responseType;\n\t };\n\t\n\t util.transformShowSignInToGetTokensOptions = function (options) {\n\t var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\t\n\t // Override specific OAuth/OIDC values\n\t if (!options.clientId && !config.clientId) {\n\t throw new Errors.ConfigError('showSignInToGetTokens() requires a \"clientId\" property.');\n\t }\n\t\n\t var renderOptions = {\n\t clientId: options.clientId,\n\t redirectUri: options.redirectUri,\n\t authParams: {\n\t issuer: options.authorizationServerId || 'default',\n\t display: 'page',\n\t responseMode: 'fragment',\n\t responseType: util.getResponseType(options),\n\t scopes: options.scope || config.authParams && config.authParams.scopes || ['openid']\n\t }\n\t };\n\t\n\t // Ensure the 'openid' scope is provided when an 'id_token' is requested.\n\t // If the 'openid' scope is present and isn't needed, remove it.\n\t renderOptions.authParams.scopes = util.addOrRemoveOpenIdScope(renderOptions.authParams);\n\t\n\t return renderOptions;\n\t };\n\t\n\t return util;\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 331 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(module) {'use strict';\n\t\n\tvar _stringify = __webpack_require__(333);\n\t\n\tvar _stringify2 = _interopRequireDefault(_stringify);\n\t\n\tvar _typeof2 = __webpack_require__(336);\n\t\n\tvar _typeof3 = _interopRequireDefault(_typeof2);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/*! THIS FILE IS GENERATED FROM PACKAGE @okta/courage@4.4.0 */\n\t(function webpackUniversalModuleDefinition(root, factory) {\n\t\tif (( false ? 'undefined' : (0, _typeof3.default)(exports)) === 'object' && ( false ? 'undefined' : (0, _typeof3.default)(module)) === 'object') module.exports = factory(__webpack_require__(328), __webpack_require__(402), __webpack_require__(403), __webpack_require__(404), __webpack_require__(405), __webpack_require__(411), __webpack_require__(412));else if (true) !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(328), __webpack_require__(402), __webpack_require__(403), __webpack_require__(404), __webpack_require__(405), __webpack_require__(411), __webpack_require__(412)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));else if ((typeof exports === 'undefined' ? 'undefined' : (0, _typeof3.default)(exports)) === 'object') exports[\"courage-for-signin-widget\"] = factory(require(\"underscore\"), require(\"handlebars\"), require(\"backbone\"), require(\"jquery\"), require(\"shared/util/Bundles\"), require(\"moment\"), require(\"qtip\"));else root[\"courage-for-signin-widget\"] = factory(root[\"underscore\"], root[\"handlebars\"], root[\"backbone\"], root[\"jQuery\"], root[\"shared/util/Bundles\"], root[\"moment\"], root[\"qtip\"]);\n\t})(undefined, function (__WEBPACK_EXTERNAL_MODULE_4__, __WEBPACK_EXTERNAL_MODULE_5__, __WEBPACK_EXTERNAL_MODULE_6__, __WEBPACK_EXTERNAL_MODULE_9__, __WEBPACK_EXTERNAL_MODULE_11__, __WEBPACK_EXTERNAL_MODULE_14__, __WEBPACK_EXTERNAL_MODULE_43__) {\n\t\treturn (/******/function (modules) {\n\t\t\t\t// webpackBootstrap\n\t\t\t\t/******/ // The module cache\n\t\t\t\t/******/var installedModules = {};\n\t\t\t\t/******/\n\t\t\t\t/******/ // The require function\n\t\t\t\t/******/function __webpack_require__(moduleId) {\n\t\t\t\t\t/******/\n\t\t\t\t\t/******/ // Check if module is in cache\n\t\t\t\t\t/******/if (installedModules[moduleId])\n\t\t\t\t\t\t/******/return installedModules[moduleId].exports;\n\t\t\t\t\t/******/\n\t\t\t\t\t/******/ // Create a new module (and put it into the cache)\n\t\t\t\t\t/******/var module = installedModules[moduleId] = {\n\t\t\t\t\t\t/******/exports: {},\n\t\t\t\t\t\t/******/id: moduleId,\n\t\t\t\t\t\t/******/loaded: false\n\t\t\t\t\t\t/******/ };\n\t\t\t\t\t/******/\n\t\t\t\t\t/******/ // Execute the module function\n\t\t\t\t\t/******/modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\t\t\t\t\t/******/\n\t\t\t\t\t/******/ // Flag the module as loaded\n\t\t\t\t\t/******/module.loaded = true;\n\t\t\t\t\t/******/\n\t\t\t\t\t/******/ // Return the exports of the module\n\t\t\t\t\t/******/return module.exports;\n\t\t\t\t\t/******/\n\t\t\t\t}\n\t\t\t\t/******/\n\t\t\t\t/******/\n\t\t\t\t/******/ // expose the modules object (__webpack_modules__)\n\t\t\t\t/******/__webpack_require__.m = modules;\n\t\t\t\t/******/\n\t\t\t\t/******/ // expose the module cache\n\t\t\t\t/******/__webpack_require__.c = installedModules;\n\t\t\t\t/******/\n\t\t\t\t/******/ // __webpack_public_path__\n\t\t\t\t/******/__webpack_require__.p = \"\";\n\t\t\t\t/******/\n\t\t\t\t/******/ // Load entry module and return exports\n\t\t\t\t/******/return __webpack_require__(0);\n\t\t\t\t/******/\n\t\t\t}(\n\t\t\t/************************************************************************/\n\t\t\t/******/[\n\t\t\t/* 0 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tmodule.exports = __webpack_require__(1);\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 1 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t\t\t\t/* eslint max-params: 0 */\n\t\t\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(6), __webpack_require__(8), __webpack_require__(3), __webpack_require__(7), __webpack_require__(15), __webpack_require__(18), __webpack_require__(19), __webpack_require__(21), __webpack_require__(24), __webpack_require__(10), __webpack_require__(25), __webpack_require__(26), __webpack_require__(31), __webpack_require__(51), __webpack_require__(39), __webpack_require__(53), __webpack_require__(17), __webpack_require__(2), __webpack_require__(46), __webpack_require__(55), __webpack_require__(28), __webpack_require__(57), __webpack_require__(59), __webpack_require__(37), __webpack_require__(41), __webpack_require__(45), __webpack_require__(60), __webpack_require__(50), __webpack_require__(69), __webpack_require__(71), __webpack_require__(72), __webpack_require__(74), __webpack_require__(62)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Backbone, $, _, Handlebars, Model, BaseModel, BaseCollection, SchemaProperty, BaseSchema, StringUtil, TemplateUtil, ButtonFactory, BaseRouter, BaseController, Util, Cookie, Logger, Class, Keys, TimeUtil, BaseView, ListView, BaseDropDown, BaseForm, InputRegistry, FormUtil, SchemaFormFactory, Toolbar, TextBox, PasswordBox, CheckBox, Radio, Select) {\n\t\n\t\t\t\t\tvar Okta = {\n\t\n\t\t\t\t\t\tBackbone: Backbone,\n\t\n\t\t\t\t\t\t$: $,\n\t\n\t\t\t\t\t\t_: _,\n\t\n\t\t\t\t\t\tHandlebars: Handlebars,\n\t\n\t\t\t\t\t\tloc: StringUtil.localize,\n\t\n\t\t\t\t\t\tcreateButton: ButtonFactory.create,\n\t\n\t\t\t\t\t\tregisterInput: InputRegistry.register,\n\t\n\t\t\t\t\t\ttpl: TemplateUtil.tpl,\n\t\n\t\t\t\t\t\tModel: Model,\n\t\n\t\t\t\t\t\tBaseModel: BaseModel,\n\t\n\t\t\t\t\t\tCollection: BaseCollection,\n\t\n\t\t\t\t\t\tView: BaseView,\n\t\n\t\t\t\t\t\tListView: ListView,\n\t\n\t\t\t\t\t\tRouter: BaseRouter,\n\t\n\t\t\t\t\t\tController: BaseController,\n\t\n\t\t\t\t\t\tForm: BaseForm,\n\t\n\t\t\t\t\t\tinternal: {\n\t\n\t\t\t\t\t\t\tutil: {\n\t\t\t\t\t\t\t\tUtil: Util,\n\t\t\t\t\t\t\t\tCookie: Cookie,\n\t\t\t\t\t\t\t\tLogger: Logger,\n\t\t\t\t\t\t\t\tClass: Class,\n\t\t\t\t\t\t\t\tKeys: Keys,\n\t\t\t\t\t\t\t\tTimeUtil: TimeUtil\n\t\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t\tviews: {\n\t\t\t\t\t\t\t\tcomponents: {\n\t\t\t\t\t\t\t\t\tBaseDropDown: BaseDropDown\n\t\t\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t\t\tforms: {\n\t\t\t\t\t\t\t\t\thelpers: {\n\t\t\t\t\t\t\t\t\t\tFormUtil: FormUtil,\n\t\t\t\t\t\t\t\t\t\tSchemaFormFactory: SchemaFormFactory\n\t\t\t\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t\t\t\tcomponents: {\n\t\t\t\t\t\t\t\t\t\tToolbar: Toolbar\n\t\t\t\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t\t\t\tinputs: {\n\t\t\t\t\t\t\t\t\t\tTextBox: TextBox,\n\t\t\t\t\t\t\t\t\t\tPasswordBox: PasswordBox,\n\t\t\t\t\t\t\t\t\t\tCheckBox: CheckBox,\n\t\t\t\t\t\t\t\t\t\tRadio: Radio,\n\t\t\t\t\t\t\t\t\t\tSelect: Select\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\n\t\t\t\t\t\t\tmodels: {\n\t\t\t\t\t\t\t\tBaseSchema: BaseSchema,\n\t\t\t\t\t\t\t\tSchemaProperty: SchemaProperty\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\n\t\t\t\t\tOkta.registerInput('text', TextBox);\n\t\t\t\t\tOkta.registerInput('password', PasswordBox);\n\t\t\t\t\tOkta.registerInput('checkbox', CheckBox);\n\t\t\t\t\tOkta.registerInput('radio', Radio);\n\t\t\t\t\tOkta.registerInput('select', Select);\n\t\n\t\t\t\t\treturn Okta;\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 2 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(6)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, Backbone) {\n\t\n\t\t\t\t\tfunction Class(options) {\n\t\t\t\t\t\tthis.options = _.clone(options || {});\n\t\t\t\t\t\tthis.cid = _.uniqueId('class');\n\t\t\t\t\t\tthis.initialize.apply(this, arguments);\n\t\t\t\t\t}\n\t\n\t\t\t\t\t_.extend(Class.prototype, Backbone.Events, {\n\t\t\t\t\t\tinitialize: function initialize() {}\n\t\t\t\t\t});\n\t\n\t\t\t\t\tClass.extend = Backbone.Model.extend;\n\t\n\t\t\t\t\treturn Class;\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 3 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; /* eslint @okta/okta/enforce-requirejs-names: 0, @okta/okta/no-specific-methods: 0, @okta/okta/no-specific-modules: 0 */\n\t\t\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(4), __webpack_require__(5)], __WEBPACK_AMD_DEFINE_RESULT__ = function (underscore, Handlebars) {\n\t\n\t\t\t\t\tvar _ = underscore.noConflict();\n\t\n\t\t\t\t\t_.mixin({\n\t\n\t\t\t\t\t\tresultCtx: function resultCtx(object, property, context, defaultValue) {\n\t\t\t\t\t\t\tvar value = _.isObject(object) ? object[property] : void 0;\n\t\t\t\t\t\t\tif (_.isFunction(value)) {\n\t\t\t\t\t\t\t\tvalue = value.call(context || object);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (value) {\n\t\t\t\t\t\t\t\treturn value;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\treturn !_.isUndefined(defaultValue) ? defaultValue : value;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tisInteger: function isInteger(x) {\n\t\t\t\t\t\t\treturn _.isNumber(x) && x % 1 === 0;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\ttemplate: function template(source, data) {\n\t\t\t\t\t\t\tvar template = Handlebars.compile(source);\n\t\t\t\t\t\t\treturn data ? template(data) : function (data) {\n\t\t\t\t\t\t\t\treturn template(data);\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t});\n\t\n\t\t\t\t\treturn _;\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 4 */\n\t\t\t/***/function (module, exports) {\n\t\n\t\t\t\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_4__;\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 5 */\n\t\t\t/***/function (module, exports) {\n\t\n\t\t\t\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_5__;\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 6 */\n\t\t\t/***/function (module, exports) {\n\t\n\t\t\t\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_6__;\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 7 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; /* eslint @okta/okta/enforce-requirejs-names: 0, @okta/okta/no-specific-modules: 0, max-params: 0, max-statements: 0 */\n\t\t\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5), __webpack_require__(3), __webpack_require__(8), __webpack_require__(10), __webpack_require__(13), __webpack_require__(14)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Handlebars, _, $, StringUtil, markdownToHtml, moment) {\n\t\n\t\t\t\t\tvar CACHE_BUST_URL_PREFIX = '/assets';\n\t\n\t\t\t\t\tfunction formatDate(format, dateInISOString) {\n\t\t\t\t\t\treturn moment.utc(dateInISOString).utcOffset('-07:00').format(format);\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction trim(str) {\n\t\t\t\t\t\treturn str && str.replace(/^\\s+|\\s+$/g, '');\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction prependCachebustPrefix(path) {\n\t\t\t\t\t\tif (path.indexOf(CACHE_BUST_URL_PREFIX) === 0) {\n\t\t\t\t\t\t\treturn path;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn CACHE_BUST_URL_PREFIX + path;\n\t\t\t\t\t}\n\t\n\t\t\t\t\tHandlebars.registerHelper('i18n', function (options) {\n\t\t\t\t\t\tvar params,\n\t\t\t\t\t\t key = trim(options.hash.code),\n\t\t\t\t\t\t bundle = trim(options.hash.bundle),\n\t\t\t\t\t\t args = trim(options.hash['arguments']);\n\t\n\t\t\t\t\t\tif (args) {\n\t\t\t\t\t\t\tparams = _.map(trim(args).split(';'), function (param) {\n\t\t\t\t\t\t\t\tparam = trim(param);\n\t\t\t\t\t\t\t\tvar val,\n\t\t\t\t\t\t\t\t data = this;\n\t\t\t\t\t\t\t\t/*\n\t * the context(data) may be a deep object, ex {user: {name: 'John', gender: 'M'}}\n\t * arguments may be 'user.name'\n\t * return data['user']['name']\n\t */\n\t\t\t\t\t\t\t\t_.each(param.split('.'), function (p) {\n\t\t\t\t\t\t\t\t\tval = val ? val[p] : data[p];\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\treturn val;\n\t\t\t\t\t\t\t}, this);\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\treturn StringUtil.localize(key, bundle, params);\n\t\t\t\t\t});\n\t\n\t\t\t\t\tHandlebars.registerHelper('xsrfTokenInput', function () {\n\t\t\t\t\t\treturn new Handlebars.SafeString('');\n\t\t\t\t\t});\n\t\n\t\t\t\t\tHandlebars.registerHelper('img', function (options) {\n\t\t\t\t\t\t/*global okta */\n\t\t\t\t\t\tvar cdn = typeof okta != 'undefined' && okta.cdnUrlHostname || '';\n\t\t\t\t\t\tvar hash = _.pick(options.hash, ['src', 'alt', 'width', 'height', 'class', 'title']);\n\t\t\t\t\t\thash.src = '' + cdn + prependCachebustPrefix(hash.src);\n\t\t\t\t\t\tvar attrs = _.map(hash, function (value, attr) {\n\t\t\t\t\t\t\treturn attr + '=\"' + Handlebars.Utils.escapeExpression(value) + '\"';\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn new Handlebars.SafeString('');\n\t\t\t\t\t});\n\t\n\t\t\t\t\tHandlebars.registerHelper('shortDate', _.partial(formatDate, 'MMM Do'));\n\t\t\t\t\tHandlebars.registerHelper('mediumDate', _.partial(formatDate, 'MMMM DD, YYYY'));\n\t\t\t\t\tHandlebars.registerHelper('longDate', _.partial(formatDate, 'MMMM DD, YYYY, h:mma'));\n\t\t\t\t\tHandlebars.registerHelper('formatDate', formatDate);\n\t\n\t\t\t\t\tHandlebars.registerHelper('markdown', function (mdText) {\n\t\t\t\t\t\treturn markdownToHtml(Handlebars, mdText);\n\t\t\t\t\t});\n\t\n\t\t\t\t\treturn Handlebars;\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 8 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; /* eslint-disable @okta/okta/enforce-requirejs-names, @okta/okta/no-specific-modules */\n\t\t\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(9)], __WEBPACK_AMD_DEFINE_RESULT__ = function ($) {\n\t\t\t\t\t$.ajaxSetup({\n\t\t\t\t\t\tbeforeSend: function beforeSend(xhr) {\n\t\t\t\t\t\t\txhr.setRequestHeader('X-Okta-XsrfToken', $('#_xsrfToken').text());\n\t\t\t\t\t\t},\n\t\t\t\t\t\tconverters: {\n\t\t\t\t\t\t\t'text secureJSON': function textSecureJSON(str) {\n\t\t\t\t\t\t\t\tif (str.substring(0, 11) === 'while(1){};') {\n\t\t\t\t\t\t\t\t\tstr = str.substring(11);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn JSON.parse(str);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\n\t\t\t\t\t// Selenium Hook\n\t\t\t\t\t// Widget such as autocomplete and autosuggest needs to be triggered from the running version of jQuery.\n\t\t\t\t\t// We have 2 versions of jQuery running in parallel and they don't share the same events bus\n\t\t\t\t\twindow.jQueryCourage = $;\n\t\t\t\t\treturn $;\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 9 */\n\t\t\t/***/function (module, exports) {\n\t\n\t\t\t\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_9__;\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 10 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(8), __webpack_require__(11), __webpack_require__(12)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, $, Bundles) {\n\t\n\t\t\t\t\tvar entityMap = {\n\t\t\t\t\t\t'&': '&',\n\t\t\t\t\t\t'<': '<',\n\t\t\t\t\t\t'>': '>',\n\t\t\t\t\t\t'"': '\"',\n\t\t\t\t\t\t''': '\\'',\n\t\t\t\t\t\t''': '\\'',\n\t\t\t\t\t\t'/': '/'\n\t\t\t\t\t};\n\t\n\t\t\t\t\t/* eslint max-len: 0*/\n\t\t\t\t\tvar 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\t\n\t\t\t\t\t/**\n\t * Handy utility functions to handle strings.\n\t *\n\t * @class module:Okta.internal.util.StringUtil\n\t * @hideconstructor\n\t */\n\t\t\t\t\tvar StringUtil = /** @lends module:Okta.internal.util.StringUtil */{\n\t\t\t\t\t\t/** @static */\n\t\t\t\t\t\tsprintf: function sprintf() {\n\t\t\t\t\t\t\t/* eslint max-statements: [2, 11] */\n\t\n\t\t\t\t\t\t\tvar args = Array.prototype.slice.apply(arguments),\n\t\t\t\t\t\t\t value = args.shift(),\n\t\t\t\t\t\t\t oldValue = value;\n\t\n\t\t\t\t\t\t\tfunction triggerError() {\n\t\t\t\t\t\t\t\tthrow new Error('Mismatch number of variables: ' + arguments[0] + ', ' + (0, _stringify2.default)(args));\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tfor (var i = 0, l = args.length; i < l; i++) {\n\t\t\t\t\t\t\t\tvar entity = args[i];\n\t\t\t\t\t\t\t\tvalue = value.replace('{' + i + '}', entity);\n\t\t\t\t\t\t\t\tif (entity === undefined || entity === null || value === oldValue) {\n\t\t\t\t\t\t\t\t\ttriggerError();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\toldValue = value;\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tif (/\\{[\\d+]\\}/.test(value)) {\n\t\t\t\t\t\t\t\ttriggerError();\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\treturn value;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Converts a URI encoded query string into a hash map\n\t * @param {String} query The query string\n\t * @return {Object} The map\n\t * @static\n\t * @example\n\t * StringUtil.parseQuery('foo=bar&baz=qux') // {foo: 'bar', baz: 'qux'}\n\t */\n\t\t\t\t\t\tparseQuery: function parseQuery(query) {\n\t\t\t\t\t\t\tvar params = {};\n\t\t\t\t\t\t\tvar pairs = decodeURIComponent(query.replace(/\\+/g, ' ')).split('&');\n\t\t\t\t\t\t\tfor (var i = 0; i < pairs.length; i++) {\n\t\t\t\t\t\t\t\tvar pair = pairs[i];\n\t\t\t\t\t\t\t\tvar data = pair.split('=');\n\t\t\t\t\t\t\t\tparams[data.shift()] = data.join('=');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn params;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/** @static */\n\t\t\t\t\t\tencodeJSObject: function encodeJSObject(jsObj) {\n\t\t\t\t\t\t\treturn encodeURIComponent((0, _stringify2.default)(jsObj));\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/** @static */\n\t\t\t\t\t\tdecodeJSObject: function decodeJSObject(jsObj) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\treturn JSON.parse(decodeURIComponent(jsObj));\n\t\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/** @static */\n\t\t\t\t\t\tunescapeHtml: function unescapeHtml(string) {\n\t\t\t\t\t\t\treturn String(string).replace(/&[\\w#\\d]{2,};/g, function (s) {\n\t\t\t\t\t\t\t\treturn entityMap[s] || s;\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Translate a key to the localized value\n\t * @static\n\t * @param {String} key The key\n\t * @param {String} [bundle=\"messages\"] The name of the i18n bundle. Defaults to the first bundle in the list.\n\t * @param {Array} [params] A list of parameters to apply as tokens to the i18n value\n\t * @return {String} The localized value\n\t */\n\t\t\t\t\t\tlocalize: function localize(key, bundleName, params) {\n\t\t\t\t\t\t\t/* eslint complexity: [2, 7] */\n\t\t\t\t\t\t\tvar bundle = bundleName ? Bundles[bundleName] : Bundles[_.keys(Bundles)[0]];\n\t\n\t\t\t\t\t\t\tif (!bundle) {\n\t\t\t\t\t\t\t\treturn 'L10N_ERROR[' + bundleName + ']';\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tvar value = bundle[key];\n\t\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tparams = params && params.slice ? params.slice(0) : [];\n\t\t\t\t\t\t\t\tparams.unshift(value);\n\t\t\t\t\t\t\t\tvalue = StringUtil.sprintf.apply(null, params);\n\t\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t\tvalue = null;\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\treturn value || 'L10N_ERROR[' + key + ']';\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Convert a string to a float if valid, otherwise return the string.\n\t * Valid numbers may contain a negative sign and a decimal point.\n\t * @static\n\t * @param {String} string The string to convert to a number\n\t * @return {String|Number} Returns a number if the string can be casted, otherwise returns the original string\n\t */\n\t\t\t\t\t\tparseFloat: function (_parseFloat) {\n\t\t\t\t\t\t\tfunction parseFloat(_x) {\n\t\t\t\t\t\t\t\treturn _parseFloat.apply(this, arguments);\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tparseFloat.toString = function () {\n\t\t\t\t\t\t\t\treturn _parseFloat.toString();\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\treturn parseFloat;\n\t\t\t\t\t\t}(function (string) {\n\t\t\t\t\t\t\tvar number = +string;\n\t\t\t\t\t\t\treturn typeof string == 'string' && number === parseFloat(string) ? number : string;\n\t\t\t\t\t\t}),\n\t\n\t\t\t\t\t\t/**\n\t * Convert a string to an integer if valid, otherwise return the string\n\t * @static\n\t * @param {String} string The string to convert to an integer\n\t * @return {String|integer} Returns an integer if the string can be casted, otherwise, returns the original string\n\t */\n\t\t\t\t\t\tparseInt: function (_parseInt) {\n\t\t\t\t\t\t\tfunction parseInt(_x2) {\n\t\t\t\t\t\t\t\treturn _parseInt.apply(this, arguments);\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tparseInt.toString = function () {\n\t\t\t\t\t\t\t\treturn _parseInt.toString();\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\treturn parseInt;\n\t\t\t\t\t\t}(function (string) {\n\t\t\t\t\t\t\tvar int = +string;\n\t\t\t\t\t\t\treturn _.isString(string) && int === parseInt(string, 10) ? int : string;\n\t\t\t\t\t\t}),\n\t\n\t\t\t\t\t\t/**\n\t * Convert a string to an object if valid, otherwise return the string\n\t * @static\n\t * @param {String} string The string to convert to an object\n\t * @return {String|object} Returns an object if the string can be casted, otherwise, returns the original string\n\t */\n\t\t\t\t\t\tparseObject: function parseObject(string) {\n\t\t\t\t\t\t\tif (!_.isString(string)) {\n\t\t\t\t\t\t\t\treturn string;\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tvar object = JSON.parse(string);\n\t\t\t\t\t\t\t\treturn $.isPlainObject(object) ? object : string;\n\t\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t\treturn string;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Returns a random string from [a-z][A-Z][0-9] of a given length\n\t * @static\n\t * @param {Number} length The length of the random string.\n\t * @return {String} Returns a random string from [a-z][A-Z][0-9] of a given length\n\t */\n\t\t\t\t\t\trandomString: function randomString(length) {\n\t\t\t\t\t\t\tvar characters = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz';\n\t\n\t\t\t\t\t\t\tif (length === undefined) {\n\t\t\t\t\t\t\t\tlength = _.random(characters.length);\n\t\t\t\t\t\t\t} else if (length === 0) {\n\t\t\t\t\t\t\t\treturn '';\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tvar stringArray = [];\n\t\t\t\t\t\t\twhile (length--) {\n\t\t\t\t\t\t\t\tstringArray.push(characters[_.random(characters.length - 1)]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn stringArray.join('');\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Returns if a str ends with another string\n\t * @static\n\t * @param {String} str The string to search\n\t * @param {String} ends The string it should end with\n\t *\n\t * @return {Boolean} Returns if the str ends with ends\n\t */\n\t\t\t\t\t\tendsWith: function endsWith(str, ends) {\n\t\t\t\t\t\t\tstr += '';\n\t\t\t\t\t\t\tends += '';\n\t\t\t\t\t\t\treturn str.length >= ends.length && str.substring(str.length - ends.length) === ends;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/** @static */\n\t\t\t\t\t\tisEmail: function isEmail(str) {\n\t\t\t\t\t\t\tvar target = $.trim(str);\n\t\t\t\t\t\t\treturn !_.isEmpty(target) && emailValidator.test(target);\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t};\n\t\n\t\t\t\t\treturn StringUtil;\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 11 */\n\t\t\t/***/function (module, exports) {\n\t\n\t\t\t\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_11__;\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 12 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_RESULT__;\"use strict\";\n\t\n\t\t\t\t// TODO: maybe replaced by\n\t\t\t\t// https://github.com/Calvein/empty-module\n\t\t\t\t// https://github.com/crimx/empty-module-loader\n\t\t\t\t!(__WEBPACK_AMD_DEFINE_RESULT__ = function () {}.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 13 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // Simple \"markdown parser\" - just handles markdown formatted links. If we\n\t\t\t\t// find that we need more extensive markdown support, we should include\n\t\t\t\t// a fully formulated markdown library like:\n\t\t\t\t// https://github.com/evilstreak/markdown-js\n\t\t\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_) {\n\t\n\t\t\t\t\tvar RE_LINK = /\\[[^\\]]*\\]\\([^)]*\\)/gi;\n\t\t\t\t\tvar RE_LINK_HREF = /\\]\\(([^)]*)\\)/i;\n\t\t\t\t\tvar RE_LINK_TEXT = /\\[([^\\]]*)\\]/i;\n\t\t\t\t\tvar RE_LINK_JS = /javascript:/gi;\n\t\n\t\t\t\t\t// Converts links\n\t\t\t\t\t// FROM:\n\t\t\t\t\t// [some link text](http://the/link/url)\n\t\t\t\t\t// TO:\n\t\t\t\t\t// some link text\n\t\t\t\t\treturn function mdToHtml(Handlebars, markdownText) {\n\t\t\t\t\t\t/* eslint @okta/okta/no-specific-methods: 0*/\n\t\t\t\t\t\tvar linkTemplate = Handlebars.compile('{{text}}');\n\t\t\t\t\t\tvar res;\n\t\t\t\t\t\tif (!_.isString(markdownText)) {\n\t\t\t\t\t\t\tres = '';\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tres = Handlebars.Utils.escapeExpression(markdownText).replace(RE_LINK_JS, '').replace(RE_LINK, function (mdLink) {\n\t\t\t\t\t\t\t\treturn linkTemplate({\n\t\t\t\t\t\t\t\t\thref: mdLink.match(RE_LINK_HREF)[1],\n\t\t\t\t\t\t\t\t\ttext: mdLink.match(RE_LINK_TEXT)[1]\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\treturn new Handlebars.SafeString(res);\n\t\t\t\t\t};\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 14 */\n\t\t\t/***/function (module, exports) {\n\t\n\t\t\t\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_14__;\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 15 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(16)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, Model) {\n\t\t\t\t\t/**\n\t * Wrapper around the more generic {@link src/framework/Model} that\n\t * contains Okta-specific logic.\n\t * @class module:Okta.Model\n\t * @extends src/framework/Model\n\t */\n\t\t\t\t\treturn Model.extend( /** @lends module:Okta.Model.prototype */{\n\t\n\t\t\t\t\t\t/**\n\t * Is the end point using the legacy \"secureJSON\" format\n\t * @type {Function|Boolean}\n\t */\n\t\t\t\t\t\tsecureJSON: false,\n\t\n\t\t\t\t\t\t_builtInLocalProps: {\n\t\t\t\t\t\t\t'__edit__': 'boolean',\n\t\t\t\t\t\t\t'__pending__': 'boolean'\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tconstructor: function constructor() {\n\t\t\t\t\t\t\tthis.local = _.defaults({}, _.result(this, 'local'), this._builtInLocalProps);\n\t\n\t\t\t\t\t\t\tif (_.result(this, 'secureJSON')) {\n\t\t\t\t\t\t\t\tthis.sync = _.wrap(this.sync, function (sync, method, model, options) {\n\t\t\t\t\t\t\t\t\treturn sync.call(this, method, model, _.extend({ dataType: 'secureJSON' }, options));\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tModel.apply(this, arguments);\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t});\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 16 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (root, factory) {\n\t\t\t\t\tif (true) {\n\t\t\t\t\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(6), __webpack_require__(17)], __WEBPACK_AMD_DEFINE_FACTORY__ = factory, __WEBPACK_AMD_DEFINE_RESULT__ = typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? __WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__) : __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\t\t\t\t}\n\t\t\t\t\t/* global module, exports */\n\t\t\t\t\telse if (typeof require === 'function' && (typeof exports === 'undefined' ? 'undefined' : (0, _typeof3.default)(exports)) === 'object') {\n\t\t\t\t\t\t\tmodule.exports = factory(require('okta/underscore'), require('backbone'), require('shared/util/Logger'));\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\troot.Archer || (root.Archer = {});\n\t\t\t\t\t\t\troot.Archer.Model = factory(root._, root.Backbone, root.Logger);\n\t\t\t\t\t\t}\n\t\t\t\t})(this, function (_, Backbone, Logger) {\n\t\t\t\t\t/**\n\t * Archer.Model is a standard [Backbone.Model](http://backbonejs.org/#Model) with a few additions:\n\t *\n\t * - {@link src/framework/Model#derived Derived properties}\n\t * - {@link src/framework/Model#props Built in schema validation}\n\t * - {@link src/framework/Model#local Private properties (with schema validation)}\n\t * - {@link src/framework/Model#flat Flattening of nested objects}\n\t *\n\t * Both derived and private properties are filtered out when sending the data to the server.\n\t *\n\t * See [Backbone.Model](http://backbonejs.org/#Model-constructor).\n\t *\n\t * @class src/framework/Model\n\t * @extends external:Backbone.Model\n\t * @param {Object} [attributes] - Initial model attributes (data)\n\t * @param {Object} [options] - Options hash\n\t * @example\n\t * var Person = Archer.Model.extend({\n\t * props: {\n\t * 'fname': 'string',\n\t * 'lname': 'string'\n\t * },\n\t * local: {\n\t * isLoggedIn: 'boolean'\n\t * },\n\t * derived: {\n\t * name: {\n\t * deps: ['fname', 'lname'],\n\t * fn: function (fname, lname) {\n\t * return fname + ' ' + lname;\n\t * }\n\t * }\n\t * }\n\t * });\n\t * var model = new Person({fname: 'Joe', lname: 'Doe'});\n\t * model.get('name'); //=> \"Joe Doe\"\n\t * model.toJSON(); //=> {fname: 'Joe', lname: 'Doe'}\n\t *\n\t * model.set('isLoggedIn', true);\n\t * model.get('isLoggedIn'); //=> true\n\t * model.toJSON(); //=> {fname: 'Joe', lname: 'Doe'}\n\t */\n\t\t\t\t\tvar Model;\n\t\n\t\t\t\t\tfunction flatten(value, objectTypeFields, key, target) {\n\t\t\t\t\t\tvar filter = _.contains(objectTypeFields, key);\n\t\t\t\t\t\ttarget || (target = {});\n\t\t\t\t\t\tif (!filter && _.isObject(value) && !_.isArray(value) && !_.isFunction(value)) {\n\t\t\t\t\t\t\t_.each(value, function (val, i) {\n\t\t\t\t\t\t\t\tflatten(val, objectTypeFields, key ? key + '.' + i : i, target);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Case where target is an empty object. Guard against returning {undefined: undefined}.\n\t\t\t\t\t\telse if (key !== undefined) {\n\t\t\t\t\t\t\t\ttarget[key] = value;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\treturn target;\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction unflatten(data) {\n\t\t\t\t\t\t_.each(data, function (value, key, data) {\n\t\t\t\t\t\t\tif (key.indexOf('.') == -1) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvar part,\n\t\t\t\t\t\t\t ref = data,\n\t\t\t\t\t\t\t parts = key.split('.');\n\t\t\t\t\t\t\twhile ((part = parts.shift()) !== undefined) {\n\t\t\t\t\t\t\t\tif (!ref[part]) {\n\t\t\t\t\t\t\t\t\tref[part] = parts.length ? {} : value;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tref = ref[part];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdelete data[key];\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn data;\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction createMessage(field, msg) {\n\t\t\t\t\t\tvar obj = {};\n\t\t\t\t\t\tobj[field.name] = msg;\n\t\t\t\t\t\treturn obj;\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction normalizeSchemaDef(field, name) {\n\t\t\t\t\t\tvar target;\n\t\t\t\t\t\tif (_.isString(field)) {\n\t\t\t\t\t\t\ttarget = {\n\t\t\t\t\t\t\t\ttype: field\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t} else if (_.isArray(field)) {\n\t\t\t\t\t\t\ttarget = {\n\t\t\t\t\t\t\t\ttype: field[0],\n\t\t\t\t\t\t\t\trequired: field[1],\n\t\t\t\t\t\t\t\tvalue: field[2]\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttarget = _.clone(field);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t_.defaults(target, { required: false, name: name });\n\t\t\t\t\t\treturn target;\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction capitalize(string) {\n\t\t\t\t\t\treturn string.toLowerCase().replace(/\\b[a-z]/g, function (letter) {\n\t\t\t\t\t\t\treturn letter.toUpperCase();\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction _validateRegex(value, pattern, error) {\n\t\t\t\t\t\tif (!pattern.test(value)) {\n\t\t\t\t\t\t\treturn error;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\n\t\t\t\t\tvar StringFormatValidators = {\n\t\t\t\t\t\t/*eslint max-len: 0 */\n\t\t\t\t\t\temail: function email(value) {\n\t\t\t\t\t\t\t// Taken from http://emailregex.com/ on 2017-03-06.\n\t\t\t\t\t\t\tvar 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\t\t\t\t\t\t\treturn _validateRegex(value, pattern, Model.ERROR_INVALID_FORMAT_EMAIL);\n\t\t\t\t\t\t},\n\t\t\t\t\t\turi: function uri(value) {\n\t\t\t\t\t\t\t// source: https://mathiasbynens.be/demo/url-regex\n\t\t\t\t\t\t\tvar 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\t\t\t\t\t\t\treturn _validateRegex(value, pattern, Model.ERROR_INVALID_FORMAT_URI);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tipv4: function ipv4(value) {\n\t\t\t\t\t\t\t// source: https://www.safaribooksonline.com/library/view/regular-expressions-cookbook/9780596802837/ch07s16.html\n\t\t\t\t\t\t\tvar 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\t\t\t\t\t\t\treturn _validateRegex(value, pattern, Model.ERROR_INVALID_FORMAT_IPV4);\n\t\t\t\t\t\t},\n\t\t\t\t\t\thostname: function hostname(value) {\n\t\t\t\t\t\t\t// source: http://www.regextester.com/23\n\t\t\t\t\t\t\tvar 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\t\t\t\t\t\t\treturn _validateRegex(value, pattern, Model.ERROR_INVALID_FORMAT_HOSTNAME);\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\n\t\t\t\t\tfunction validateStringFormat(field, value) {\n\t\t\t\t\t\tvar validator = StringFormatValidators[field.format];\n\t\t\t\t\t\tif (field.format && !validator) {\n\t\t\t\t\t\t\tthrow new TypeError(field.format + ' is not a supported string format');\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn validator && validator(value);\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction validateString(field, value) {\n\t\t\t\t\t\tvar createMessageWith = _.partial(createMessage, field),\n\t\t\t\t\t\t invalidFormat = validateStringFormat(field, value);\n\t\t\t\t\t\tif (invalidFormat) {\n\t\t\t\t\t\t\treturn createMessageWith(invalidFormat);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (value && field.minLength && value.length < field.minLength) {\n\t\t\t\t\t\t\treturn createMessageWith(Model.ERROR_STRING_STRING_MIN_LENGTH, value.length);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (value && field.maxLength && value.length > field.maxLength) {\n\t\t\t\t\t\t\treturn createMessageWith(Model.ERROR_STRING_STRING_MAX_LENGTH, value.length);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction _validateField(field, value) {\n\t\t\t\t\t\t/* eslint complexity: [2, 23], max-statements: [2, 19] */\n\t\t\t\t\t\tvar createMessageWith = _.partial(createMessage, field),\n\t\t\t\t\t\t isDefined = !_.isUndefined(value) && !_.isNull(value),\n\t\t\t\t\t\t checkType,\n\t\t\t\t\t\t errorMessage;\n\t\n\t\t\t\t\t\t// check required fields\n\t\t\t\t\t\tif (field.required && (!isDefined || _.isNull(value) || value === '')) {\n\t\t\t\t\t\t\treturn createMessageWith(Model.ERROR_BLANK);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// check type\n\t\t\t\t\t\tcheckType = _['is' + capitalize(field.type)];\n\t\t\t\t\t\tif (isDefined && field.type != 'any' && (!_.isFunction(checkType) || !checkType(value))) {\n\t\t\t\t\t\t\treturn createMessageWith(Model.ERROR_WRONG_TYPE);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// validate string format\n\t\t\t\t\t\tif (value && field.type == 'string') {\n\t\t\t\t\t\t\tvar error = validateString(field, value);\n\t\t\t\t\t\t\tif (error) {\n\t\t\t\t\t\t\t\treturn error;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// check pre set values (enum)\n\t\t\t\t\t\tif (isDefined && field.values && !_.contains(field.values, value)) {\n\t\t\t\t\t\t\treturn createMessageWith(Model.ERROR_NOT_ALLOWED);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// check validate method\n\t\t\t\t\t\tif (_.isFunction(field.validate)) {\n\t\t\t\t\t\t\tvar result = field.validate(value);\n\t\t\t\t\t\t\tif (_.isString(result) && result) {\n\t\t\t\t\t\t\t\treturn createMessageWith(result);\n\t\t\t\t\t\t\t} else if (result === false) {\n\t\t\t\t\t\t\t\treturn createMessageWith(Model.ERROR_INVALID);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// check array items\n\t\t\t\t\t\tif (isDefined && field.type == 'array' && (errorMessage = validateArrayField(field, value))) {\n\t\t\t\t\t\t\treturn createMessageWith(errorMessage);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction validateArrayField(field, arr) {\n\t\t\t\t\t\tif (field.minItems && arr.length < field.minItems) {\n\t\t\t\t\t\t\treturn 'model.validation.field.array.minItems';\n\t\t\t\t\t\t} else if (field.maxItems && arr.length > field.maxItems) {\n\t\t\t\t\t\t\treturn 'model.validation.field.array.maxItems';\n\t\t\t\t\t\t} else if (field.uniqueItems && arr.length > _.uniq(arr).length) {\n\t\t\t\t\t\t\treturn Model.ERROR_IARRAY_UNIQUE;\n\t\t\t\t\t\t} else if (field.items) {\n\t\t\t\t\t\t\t/* eslint max-depth: [2, 3] */\n\t\t\t\t\t\t\tvar arrayField = normalizeSchemaDef(field.items, 'placeholder');\n\t\t\t\t\t\t\tfor (var i = 0; i < arr.length; i++) {\n\t\t\t\t\t\t\t\tvar value = arr[i];\n\t\t\t\t\t\t\t\tvar error = _validateField(arrayField, value);\n\t\t\t\t\t\t\t\tif (error) {\n\t\t\t\t\t\t\t\t\treturn error['placeholder'];\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}\n\t\n\t\t\t\t\tModel = Backbone.Model.extend( /** @lends src/framework/Model.prototype */{\n\t\n\t\t\t\t\t\t/**\n\t * Pass props as an object to extend, describing the observable properties of your model. The props\n\t * properties should not be set on an instance, as this won't define new properties, they should only be passed to\n\t * extend.\n\t * Properties can be defined in three different ways:\n\t *\n\t * - As a string with the expected dataType. One of string, number, boolean, array, object, date, or any.\n\t * Eg: `name: 'string'`.\n\t * - An array of `[dataType, required, default]`\n\t * - An object `{type: 'string', format: '', required: true, value: '', values: [], validate: function() {}`\n\t * - `value` will be the value that the property will be set to if it is undefined, either by not being set during\n\t * initialization, or by being explicitly set to undefined.\n\t * - `format` is a json-schame derived string format. Supported formats are: `email`, `uri`, `hostname` and `ipv4`.\n\t * - If `required` is true, one of two things will happen. If a default is set for the property, the property will\n\t * start with that value. If a default is not set for the property, validation will fail\n\t * - If `values` array is passed, then you'll be able to change a property to one of those values only.\n\t * - If `validate` is defined, it should return false or a custom message string when the validation fails.\n\t * - If the type is defined as `array`, the array elements could be defined by `minItems` (Number),\n\t * `uniqueItems` (Boolean) and `items` (a field definition such as this one that will validate each array member)\n\t * To the `validate` method\n\t * - Trying to set a property to an invalid type will raise an exception.\n\t *\n\t * @type {Mixed}\n\t * @example\n\t * var Person = Model.extend({\n\t * props: {\n\t * name: 'string',\n\t * age: 'number',\n\t * paying: ['boolean', true, false], //required attribute, defaulted to false\n\t * type: {\n\t * type: 'string',\n\t * values: ['regular-hero', 'super-hero', 'mega-hero']\n\t * },\n\t * likes: {\n\t * type: 'string',\n\t * validate: function (value) {\n\t * return /^[\\w]+ing$/.test(value)\n\t * }\n\t * }\n\t * }\n\t * });\n\t */\n\t\t\t\t\t\tprops: {},\n\t\n\t\t\t\t\t\t/**\n\t * Derived properties (also known as computed properties) are properties of the model that depend on the\n\t * other (props, local or even derived properties to determine their value. Best demonstrated with an example:\n\t *\n\t * Each derived property, is defined as an object with the current properties:\n\t *\n\t * - `deps` {Array} - An array of property names which the derived property depends on.\n\t * - `fn` {Function} - A function which returns the value of the computed property. It is called in the context of\n\t * the current object, so that this is set correctly.\n\t * - `cache` {Boolean} - - Whether to cache the property. Uncached properties are computed every time they are\n\t * accessed. Useful if it depends on the current time for example. Defaults to `true`.\n\t *\n\t * Derived properties are retrieved and fire change events just like any other property. They cannot be set\n\t * directly.\n\t * @type {Object}\n\t * @example\n\t * var Person = Model.extend({\n\t * props: {\n\t * firstName: 'string',\n\t * lastName: 'string'\n\t * },\n\t * derived: {\n\t * fullName: {\n\t * deps: ['firstName', 'lastName'],\n\t * fn: function (firstName, lastName) {\n\t * return firstName + ' ' + lastName;\n\t * }\n\t * }\n\t * }\n\t * });\n\t *\n\t * var person = new Person({ firstName: 'Phil', lastName: 'Roberts' })\n\t * console.log(person.get('fullName')) //=> \"Phil Roberts\"\n\t *\n\t * person.set('firstName', 'Bob');\n\t * console.log(person.get('fullName')) //=> \"Bob Roberts\"\n\t */\n\t\t\t\t\t\tderived: {},\n\t\n\t\t\t\t\t\t/**\n\t * local properties are defined and work in exactly the same way as {@link src/framework/Model#props|props}, but generally only exist for\n\t * the lifetime of the page.\n\t * They would not typically be persisted to the server, and are not returned by calls to {@link src/framework/Model#toJSON|toJSON}.\n\t *\n\t * @type {Object}\n\t * @example\n\t * var Person = Model.extend({\n\t * props: {\n\t * name: 'string',\n\t * },\n\t * local: {\n\t * isLoggedIn: 'boolean'\n\t * }\n\t * );\n\t */\n\t\t\t\t\t\tlocal: {},\n\t\n\t\t\t\t\t\t/**\n\t * Flatten the payload into dot notation string keys:\n\t *\n\t * @type {Boolean}\n\t * @example\n\t * var Person = Model.extend({\n\t * props: {\n\t * 'profile.fname': 'string',\n\t * 'profile.lname': 'string',\n\t * 'profile.languages': 'object'\n\t * },\n\t * flat: true\n\t * });\n\t * var person = new Person({'profile': {\n\t * 'fname': 'John',\n\t * 'lname': 'Doe',\n\t * 'languages': {name: \"English\", value: \"EN\"}\n\t * }}, {parse: true});\n\t * person.get('profile'); //=> undefined\n\t * person.get('profile.fname'); //=> 'John'\n\t * person.get('profile.lname'); //=> 'Doe'\n\t * person.get('profile.languages'); //=> {name: \"English\", value: \"EN\"}\n\t * person.get('profile.languages.name'); //=> undefined\n\t * person.toJSON(); //=> {'profile': {'fname': 'John'} }\n\t */\n\t\t\t\t\t\tflat: true,\n\t\n\t\t\t\t\t\t/**\n\t * @deprecated\n\t * @alias Backbone.Model#defaults\n\t */\n\t\t\t\t\t\tdefaults: {},\n\t\n\t\t\t\t\t\tconstructor: function constructor(options) {\n\t\t\t\t\t\t\tthis.options = options || {};\n\t\n\t\t\t\t\t\t\tvar schema = this['__schema__'] = {},\n\t\t\t\t\t\t\t objectTypeFields = [];\n\t\n\t\t\t\t\t\t\tschema.computedProperties = {};\n\t\n\t\t\t\t\t\t\tschema.props = _.clone(_.result(this, 'props') || {});\n\t\t\t\t\t\t\tschema.derived = _.clone(_.result(this, 'derived') || {});\n\t\t\t\t\t\t\tschema.local = _.clone(_.result(this, 'local') || {});\n\t\n\t\t\t\t\t\t\tvar defaults = {};\n\t\t\t\t\t\t\t_.each(_.extend({}, schema.props, schema.local), function (options, name) {\n\t\t\t\t\t\t\t\tvar schemaDef = normalizeSchemaDef(options, name);\n\t\t\t\t\t\t\t\tif (!_.isUndefined(schemaDef.value)) {\n\t\t\t\t\t\t\t\t\tdefaults[name] = schemaDef.value;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (schemaDef.type === 'object') {\n\t\t\t\t\t\t\t\t\tobjectTypeFields.push(name);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}, this);\n\t\t\t\t\t\t\tif (_.size(defaults)) {\n\t\t\t\t\t\t\t\tvar localDefaults = _.result(this, 'defaults');\n\t\t\t\t\t\t\t\tthis.defaults = function () {\n\t\t\t\t\t\t\t\t\treturn _.defaults({}, defaults, localDefaults);\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t// override `validate`\n\t\t\t\t\t\t\tthis.validate = _.wrap(this.validate, function (validate) {\n\t\t\t\t\t\t\t\tvar args = _.rest(arguments),\n\t\t\t\t\t\t\t\t res = _.extend(this._validateSchema.apply(this, args), validate.apply(this, args));\n\t\t\t\t\t\t\t\treturn _.size(res) && res || undefined;\n\t\t\t\t\t\t\t});\n\t\n\t\t\t\t\t\t\t// override `parse`\n\t\t\t\t\t\t\tthis.parse = _.wrap(this.parse, function (parse) {\n\t\t\t\t\t\t\t\tvar target = parse.apply(this, _.rest(arguments));\n\t\t\t\t\t\t\t\tif (this.flat) {\n\t\t\t\t\t\t\t\t\ttarget = flatten(target, objectTypeFields);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn target;\n\t\t\t\t\t\t\t});\n\t\n\t\t\t\t\t\t\tBackbone.Model.apply(this, arguments);\n\t\n\t\t\t\t\t\t\t_.each(schema.derived, function (options, name) {\n\t\t\t\t\t\t\t\tschema.computedProperties[name] = this.__getDerivedValue(name); // set initial value;\n\t\t\t\t\t\t\t\tvar deps = options.deps || [];\n\t\t\t\t\t\t\t\tif (deps.length) {\n\t\t\t\t\t\t\t\t\tthis.on('cache:clear change:' + deps.join(' change:'), function () {\n\t\t\t\t\t\t\t\t\t\tvar value = this.__getDerivedValue(name);\n\t\t\t\t\t\t\t\t\t\tif (value !== schema.computedProperties[name]) {\n\t\t\t\t\t\t\t\t\t\t\tschema.computedProperties[name] = value;\n\t\t\t\t\t\t\t\t\t\t\tthis.trigger('change:' + name, this, value);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}, this);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}, this);\n\t\n\t\t\t\t\t\t\tthis.on('sync', function () {\n\t\t\t\t\t\t\t\tthis.__syncedData = this.toJSON();\n\t\t\t\t\t\t\t}, this);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tvalidate: function validate() {},\n\t\n\t\t\t\t\t\t/**\n\t * Check if the schema settings allow this field to exist in the model\n\t * @param {String} key\n\t * @return {Boolean}\n\t */\n\t\t\t\t\t\tallows: function allows(key) {\n\t\t\t\t\t\t\tvar schema = this['__schema__'],\n\t\t\t\t\t\t\t all = _.extend({}, schema.props, schema.local);\n\t\t\t\t\t\t\tif (!_.has(all, key)) {\n\t\t\t\t\t\t\t\tLogger.warn('Field not defined in schema', key);\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\t\n\t\t\t\t\t\t/**\n\t * Returns the schema for the specific property\n\t *\n\t * @param propName - The name of the property\n\t * @returns {*} | null\n\t */\n\t\t\t\t\t\tgetPropertySchema: function getPropertySchema(propName) {\n\t\t\t\t\t\t\tvar schema = this['__schema__'];\n\t\t\t\t\t\t\treturn _.reduce([schema.props, schema.local], function (result, options) {\n\t\t\t\t\t\t\t\treturn result || normalizeSchemaDef(options[propName], propName);\n\t\t\t\t\t\t\t}, null);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tset: function set(key, val) {\n\t\t\t\t\t\t\tvar attrs;\n\t\t\t\t\t\t\tif ((typeof key === 'undefined' ? 'undefined' : (0, _typeof3.default)(key)) === 'object') {\n\t\t\t\t\t\t\t\tattrs = key;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t(attrs = {})[key] = val;\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t// Don't override a computed properties\n\t\t\t\t\t\t\t_.each(attrs, function (value, key) {\n\t\t\t\t\t\t\t\tif (_.has(this['__schema__'].derived, key)) {\n\t\t\t\t\t\t\t\t\tthrow 'overriding derived properties is not supported: ' + key;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}, this);\n\t\n\t\t\t\t\t\t\t// Schema validation\n\t\t\t\t\t\t\tvar errorFields = [];\n\t\t\t\t\t\t\t_.each(attrs, function (value, key) {\n\t\t\t\t\t\t\t\tthis.allows(key) || errorFields.push(key);\n\t\t\t\t\t\t\t}, this);\n\t\t\t\t\t\t\tif (errorFields.length) {\n\t\t\t\t\t\t\t\tthrow 'field not allowed: ' + errorFields.join(', ');\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\treturn Backbone.Model.prototype.set.apply(this, arguments);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tget: function get(attr) {\n\t\t\t\t\t\t\tvar schema = this['__schema__'];\n\t\t\t\t\t\t\tif (_.has(schema.derived, attr)) {\n\t\t\t\t\t\t\t\tif (schema.derived[attr].cache !== false) {\n\t\t\t\t\t\t\t\t\treturn schema.computedProperties[attr];\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\treturn this.__getDerivedValue(attr);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn Backbone.Model.prototype.get.apply(this, arguments);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Return a shallow copy of the model's attributes for JSON stringification.\n\t * This can be used for persistence, serialization, or for augmentation before being sent to the server.\n\t * The name of this method is a bit confusing, as it doesn't actually return a JSON string —\n\t * but I'm afraid that it's the way that the JavaScript API for JSON.stringify works.\n\t *\n\t * See [Backbone.Model.toJSON](http://backbonejs.org/#Model-toJSON)\n\t *\n\t * @param {Object} options\n\t * @return {Object}\n\t * @example\n\t * var artist = new Model({\n\t * firstName: 'Wassily',\n\t * lastName: 'Kandinsky'\n\t * });\n\t *\n\t * artist.set({birthday: 'December 16, 1866'});\n\t * JSON.stringify(artist); //=> {'firstName':'Wassily','lastName':'Kandinsky','birthday':'December 16, 1866'}\n\t */\n\t\t\t\t\t\ttoJSON: function toJSON(options) {\n\t\t\t\t\t\t\toptions || (options = {});\n\t\t\t\t\t\t\tvar res = _.clone(Backbone.Model.prototype.toJSON.apply(this, arguments)),\n\t\t\t\t\t\t\t schema = this['__schema__'];\n\t\n\t\t\t\t\t\t\t// cleanup local properties\n\t\t\t\t\t\t\tif (!options.verbose) {\n\t\t\t\t\t\t\t\tres = _.omit(res, _.keys(schema.local));\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t// add derived properties\n\t\t\t\t\t\t\t\t_.each(schema.derived, function (options, name) {\n\t\t\t\t\t\t\t\t\tres[name] = this.get(name);\n\t\t\t\t\t\t\t\t}, this);\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tif (this.flat) {\n\t\t\t\t\t\t\t\tres = unflatten(res);\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\treturn res;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Removes all attributes from the model, including the id attribute.\n\t * Fires a `\"change\"` event unless `silent` is passed as an option.\n\t * Sets the default values to the model\n\t * @param {Object} [options]\n\t */\n\t\t\t\t\t\treset: function reset(options) {\n\t\t\t\t\t\t\tthis.clear(options);\n\t\t\t\t\t\t\tthis.set(_.result(this, 'defaults'), options);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Is the data on the model has local modifications since the last sync event?\n\t * @return {Boolean} is the model in sync with the server\n\t */\n\t\t\t\t\t\tisSynced: function isSynced() {\n\t\t\t\t\t\t\treturn _.isEqual(this.__syncedData, this.toJSON());\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * validate a specific field in the model.\n\t * @param {String} key\n\t * @return {Object} returns `{fieldName: errorMessage}` if invalid, otherwise undefined.\n\t * @readonly\n\t */\n\t\t\t\t\t\tvalidateField: function validateField(key) {\n\t\t\t\t\t\t\tvar schema = key && this.getPropertySchema(key);\n\t\t\t\t\t\t\treturn schema && _validateField(schema, this.get(key));\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Runs local schema validation. Invoked internally by {@link src/framework/Model#validate|validate}.\n\t * @return {Object}\n\t * @protected\n\t */\n\t\t\t\t\t\t_validateSchema: function _validateSchema() {\n\t\t\t\t\t\t\tvar schema = this['__schema__'];\n\t\t\t\t\t\t\treturn _.reduce(_.extend({}, schema.props, schema.local), function (memo, options, name) {\n\t\t\t\t\t\t\t\treturn _.extend(memo, this.validateField(name) || {});\n\t\t\t\t\t\t\t}, {}, this);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t__getDerivedValue: function __getDerivedValue(name) {\n\t\t\t\t\t\t\tvar options = this['__schema__'].derived[name];\n\t\t\t\t\t\t\tif (_.isString(options)) {\n\t\t\t\t\t\t\t\tvar key = options;\n\t\t\t\t\t\t\t\toptions = {\n\t\t\t\t\t\t\t\t\tdeps: [key],\n\t\t\t\t\t\t\t\t\tfn: function fn() {\n\t\t\t\t\t\t\t\t\t\treturn this.get(key);\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\tvar deps = options.deps || [];\n\t\t\t\t\t\t\treturn options.fn.apply(this, _.map(deps, this.get, this));\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t}, {\n\t\t\t\t\t\tERROR_BLANK: 'model.validation.field.blank',\n\t\t\t\t\t\tERROR_WRONG_TYPE: 'model.validation.field.wrong.type',\n\t\t\t\t\t\tERROR_NOT_ALLOWED: 'model.validation.field.value.not.allowed',\n\t\t\t\t\t\tERROR_INVALID: 'model.validation.field.invalid',\n\t\t\t\t\t\tERROR_IARRAY_UNIQUE: 'model.validation.field.array.unique',\n\t\t\t\t\t\tERROR_INVALID_FORMAT_EMAIL: 'model.validation.field.invalid.format.email',\n\t\t\t\t\t\tERROR_INVALID_FORMAT_URI: 'model.validation.field.invalid.format.uri',\n\t\t\t\t\t\tERROR_INVALID_FORMAT_IPV4: 'model.validation.field.invalid.format.ipv4',\n\t\t\t\t\t\tERROR_INVALID_FORMAT_HOSTNAME: 'model.validation.field.invalid.format.hostname',\n\t\t\t\t\t\tERROR_STRING_STRING_MIN_LENGTH: 'model.validation.field.string.minLength',\n\t\t\t\t\t\tERROR_STRING_STRING_MAX_LENGTH: 'model.validation.field.string.maxLength'\n\t\t\t\t\t});\n\t\n\t\t\t\t\treturn Model;\n\t\t\t\t});\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 17 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_RESULT__ = function () {\n\t\n\t\t\t\t\tfunction _log(level, args) {\n\t\t\t\t\t\tif (window.console && window.okta && window.okta.debug) {\n\t\t\t\t\t\t\twindow.console[level].apply(window.console, args);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\n\t\t\t\t\t/**\n\t * Utility library of logging functions.\n\t * @class module:Okta.Logger\n\t */\n\t\t\t\t\treturn (/** @lends module:Okta.Logger */{\n\t\n\t\t\t\t\t\t\t/**\n\t * See [console.trace](https://developer.mozilla.org/en-US/docs/Web/API/Console.trace)\n\t * @static\n\t */\n\t\t\t\t\t\t\ttrace: function trace() {\n\t\t\t\t\t\t\t\treturn _log('trace', arguments);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t/**\n\t * See [console.dir](https://developer.mozilla.org/en-US/docs/Web/API/Console.dir)\n\t * @static\n\t */\n\t\t\t\t\t\t\tdir: function dir() {\n\t\t\t\t\t\t\t\treturn _log('dir', arguments);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t/**\n\t * See [console.time](https://developer.mozilla.org/en-US/docs/Web/API/Console.time)\n\t * @static\n\t */\n\t\t\t\t\t\t\ttime: function time() {\n\t\t\t\t\t\t\t\treturn _log('time', arguments);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t/**\n\t * See [console.timeEnd](https://developer.mozilla.org/en-US/docs/Web/API/Console.timeEnd)\n\t * @static\n\t */\n\t\t\t\t\t\t\ttimeEnd: function timeEnd() {\n\t\t\t\t\t\t\t\treturn _log('timeEnd', arguments);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t/**\n\t * See [console.group](https://developer.mozilla.org/en-US/docs/Web/API/Console.group)\n\t * @static\n\t */\n\t\t\t\t\t\t\tgroup: function group() {\n\t\t\t\t\t\t\t\treturn _log('group', arguments);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t/**\n\t * See [console.groupEnd](https://developer.mozilla.org/en-US/docs/Web/API/Console.groupEnd)\n\t * @static\n\t */\n\t\t\t\t\t\t\tgroupEnd: function groupEnd() {\n\t\t\t\t\t\t\t\treturn _log('groupEnd', arguments);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t/**\n\t * See [console.assert](https://developer.mozilla.org/en-US/docs/Web/API/Console.assert)\n\t * @static\n\t */\n\t\t\t\t\t\t\tassert: function assert() {\n\t\t\t\t\t\t\t\treturn _log('assert', arguments);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t/**\n\t * See [console.log](https://developer.mozilla.org/en-US/docs/Web/API/Console.log)\n\t * @static\n\t */\n\t\t\t\t\t\t\tlog: function log() {\n\t\t\t\t\t\t\t\treturn _log('log', arguments);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t/**\n\t * See [console.info](https://developer.mozilla.org/en-US/docs/Web/API/Console.info)\n\t * @static\n\t */\n\t\t\t\t\t\t\tinfo: function info() {\n\t\t\t\t\t\t\t\treturn _log('info', arguments);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t/**\n\t * See [console.warn](https://developer.mozilla.org/en-US/docs/Web/API/Console.warn)\n\t * @static\n\t */\n\t\t\t\t\t\t\twarn: function warn() {\n\t\t\t\t\t\t\t\treturn _log('warn', arguments);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t/**\n\t * See [console.error](https://developer.mozilla.org/en-US/docs/Web/API/Console.error)\n\t * @static\n\t */\n\t\t\t\t\t\t\terror: function error() {\n\t\t\t\t\t\t\t\treturn _log('error', arguments);\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}.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 18 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(15)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, Model) {\n\t\n\t\t\t\t\t/**\n\t * @class module:Okta.BaseModel\n\t * @extends module:Okta.Model\n\t * @deprecated Use {@link module:Okta.Model|Okta.Model} instead\n\t * @example\n\t * var Model = BaseModel.extend({\n\t * defaults: {\n\t * name: BaseModel.ComputedProperty(['fname', 'lname'], function (fname, lname) {\n\t * return fname + ' ' + lname;\n\t * })\n\t * }\n\t * });\n\t * var model = new Model({fname: 'Joe', lname: 'Doe'});\n\t * model.get('name'); //=> \"Joe Doe\"\n\t * model.toJSON(); //=> {fname: 'Joe', lname: 'Doe'}\n\t *\n\t * model.set('__private__', 'private property');\n\t * model.get('__private__'); //=> \"private property\"\n\t * model.toJSON(); //=> {fname: 'Joe', lname: 'Doe'}\n\t */\n\t\n\t\t\t\t\tvar hasProps = function hasProps(model) {\n\t\t\t\t\t\tvar local = _.omit(model.local, _.keys(model._builtInLocalProps));\n\t\t\t\t\t\treturn _.size(model.props) + _.size(local) > 0;\n\t\t\t\t\t};\n\t\n\t\t\t\t\tvar BaseModel = Model.extend( /** @lends module:Okta.BaseModel.prototype */{\n\t\t\t\t\t\t/**\n\t * @type {Boolean}\n\t */\n\t\t\t\t\t\tflat: false,\n\t\n\t\t\t\t\t\tconstructor: function constructor() {\n\t\t\t\t\t\t\tModel.apply(this, arguments);\n\t\t\t\t\t\t\tthis.on('sync', this._setSynced);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tallows: function allows() {\n\t\t\t\t\t\t\tif (hasProps(this)) {\n\t\t\t\t\t\t\t\treturn Model.prototype.allows.apply(this, arguments);\n\t\t\t\t\t\t\t} else {\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\n\t\t\t\t\t\t// bw compatibility support for old computed properties\n\t\t\t\t\t\tset: function set(key, val) {\n\t\t\t\t\t\t\tvar attrs;\n\t\t\t\t\t\t\tif ((typeof key === 'undefined' ? 'undefined' : (0, _typeof3.default)(key)) === 'object') {\n\t\t\t\t\t\t\t\tattrs = key;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t(attrs = {})[key] = val;\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t// computed properties\n\t\t\t\t\t\t\t_(attrs).each(function (fn, attr) {\n\t\t\t\t\t\t\t\tif (!fn || !_.isArray(fn.__attributes)) {\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tthis.on('change:' + fn.__attributes.join(' change:'), function () {\n\t\t\t\t\t\t\t\t\tvar val = this.get(attr);\n\t\t\t\t\t\t\t\t\tif (val !== this['__schema__'].computedProperties[attr]) {\n\t\t\t\t\t\t\t\t\t\tthis['__schema__'].computedProperties[attr] = val;\n\t\t\t\t\t\t\t\t\t\tthis.trigger('change:' + attr, val);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}, this);\n\t\t\t\t\t\t\t}, this);\n\t\n\t\t\t\t\t\t\treturn Model.prototype.set.apply(this, arguments);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Get the current value of an attribute from the model. For example: `note.get(\"title\")`\n\t *\n\t * See [Model.get](http://backbonejs.org/#Model-get)\n\t * @param {String} attribute\n\t * @return {Mixed} The value of the model attribute\n\t */\n\t\t\t\t\t\tget: function get() {\n\t\t\t\t\t\t\tvar value = Model.prototype.get.apply(this, arguments);\n\t\t\t\t\t\t\tif (_.isFunction(value)) {\n\t\t\t\t\t\t\t\treturn value.apply(this, _.map(value.__attributes || [], this.get, this));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn value;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Return a shallow copy of the model's attributes for JSON stringification.\n\t * This can be used for persistence, serialization, or for augmentation before being sent to the server.\n\t * The name of this method is a bit confusing, as it doesn't actually return a JSON string —\n\t * but I'm afraid that it's the way that the JavaScript API for JSON.stringify works.\n\t *\n\t * ```javascript\n\t * var artist = new Model({\n\t * firstName: \"Wassily\",\n\t * lastName: \"Kandinsky\"\n\t * });\n\t *\n\t * artist.set({birthday: \"December 16, 1866\"});\n\t * alert(JSON.stringify(artist)); // {\"firstName\":\"Wassily\",\"lastName\":\"Kandinsky\",\"birthday\":\"December 16, 1866\"}\n\t * ```\n\t * See [Model.toJSON](http://backbonejs.org/#Model-toJSON)\n\t * @param {Object} options\n\t * @return {Object}\n\t */\n\t\t\t\t\t\ttoJSON: function toJSON(options) {\n\t\t\t\t\t\t\toptions || (options = {});\n\t\t\t\t\t\t\tvar res = Model.prototype.toJSON.apply(this, arguments);\n\t\n\t\t\t\t\t\t\t// cleanup computed properties\n\t\t\t\t\t\t\t_(res).each(function (value, key) {\n\t\t\t\t\t\t\t\tif (typeof value == 'function') {\n\t\t\t\t\t\t\t\t\tif (options.verbose) {\n\t\t\t\t\t\t\t\t\t\tres[key] = this.get(key);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tdelete res[key];\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}, this);\n\t\n\t\t\t\t\t\t\t// cleanup private properties\n\t\t\t\t\t\t\tif (!options.verbose) {\n\t\t\t\t\t\t\t\t_(res).each(function (value, key) {\n\t\t\t\t\t\t\t\t\tif (/^__\\w+__$/.test(key)) {\n\t\t\t\t\t\t\t\t\t\tdelete res[key];\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\n\t\t\t\t\t\t\treturn res;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tsanitizeAttributes: function sanitizeAttributes(attributes) {\n\t\t\t\t\t\t\tvar attrs = {};\n\t\t\t\t\t\t\t_.each(attributes, function (value, key) {\n\t\t\t\t\t\t\t\tif (!_.isFunction(value)) {\n\t\t\t\t\t\t\t\t\tattrs[key] = value;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\treturn attrs;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\treset: function reset(options) {\n\t\t\t\t\t\t\tthis.clear(options);\n\t\t\t\t\t\t\tthis.set(this.sanitizeAttributes(this.defaults), options);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tclear: function clear(options) {\n\t\t\t\t\t\t\tvar attrs = {};\n\t\t\t\t\t\t\t_.each(this.sanitizeAttributes(this.attributes), function (value, key) {\n\t\t\t\t\t\t\t\tattrs[key] = void 0;\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\treturn this.set(attrs, _.extend({}, options, { unset: true }));\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * @private\n\t */\n\t\t\t\t\t\t_setSynced: function _setSynced(newModel) {\n\t\t\t\t\t\t\tthis._syncedData = newModel && _.isFunction(newModel.toJSON) ? newModel.toJSON() : {};\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * @private\n\t */\n\t\t\t\t\t\t_getSynced: function _getSynced() {\n\t\t\t\t\t\t\treturn this._syncedData;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tisSynced: function isSynced() {\n\t\t\t\t\t\t\treturn _.isEqual(this._getSynced(), this.toJSON());\n\t\t\t\t\t\t}\n\t\t\t\t\t}, /** @lends module:Okta.BaseModel.prototype */{\n\t\t\t\t\t\t/**\n\t * @static\n\t *\n\t * Example:\n\t *\n\t * ```javascript\n\t * var Model = BaseModel.extend({\n\t * defaults: {\n\t * name: BaseModel.ComputedProperty(['fname', 'lname'], function (fname, lname) {\n\t * return fname + ' ' + lname;\n\t * })\n\t * }\n\t * });\n\t * var model = new Model({fname: 'Joe', lname: 'Doe'});\n\t * model.get('name'); // Joe Doe\n\t * model.toJSON(); // {fname: 'Joe', lname: 'Doe'}\n\t * ```\n\t *\n\t * @param {Array} attributes - an array of the attribute names this method depends on\n\t * @param {Function} callback the function that computes the value of the property\n\t *\n\t * @deprecated Use {@link #derived} instead\n\t */\n\t\t\t\t\t\tComputedProperty: function ComputedProperty() {\n\t\t\t\t\t\t\tvar args = _.toArray(arguments);\n\t\t\t\t\t\t\tvar fn = args.pop();\n\t\t\t\t\t\t\tfn.__attributes = args.pop();\n\t\t\t\t\t\t\treturn fn;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\n\t\t\t\t\treturn BaseModel;\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 19 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(20)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, Collection) {\n\t\t\t\t\t/**\n\t * Wrapper around the more generic {@link src/framework/Collection} that\n\t * contains Okta-specific logic.\n\t * @class module:Okta.Collection\n\t * @extends src/framework/Collection\n\t */\n\t\t\t\t\treturn Collection.extend( /** @lends module:Okta.Collection.prototype */{\n\t\n\t\t\t\t\t\t/**\n\t * Is the end point using the legacy \"secureJSON\" format\n\t * @type {Function|Boolean}\n\t */\n\t\t\t\t\t\tsecureJSON: false,\n\t\n\t\t\t\t\t\tconstructor: function constructor() {\n\t\t\t\t\t\t\tif (_.result(this, 'secureJSON')) {\n\t\t\t\t\t\t\t\tthis.sync = _.wrap(this.sync, function (sync, method, collection, options) {\n\t\t\t\t\t\t\t\t\treturn sync.call(this, method, collection, _.extend({ dataType: 'secureJSON' }, options));\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tCollection.apply(this, arguments);\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t});\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 20 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (root, factory) {\n\t\t\t\t\tif (true) {\n\t\t\t\t\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(6)], __WEBPACK_AMD_DEFINE_FACTORY__ = factory, __WEBPACK_AMD_DEFINE_RESULT__ = typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? __WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__) : __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\t\t\t\t}\n\t\t\t\t\t/* global module, exports */\n\t\t\t\t\telse if (typeof require == 'function' && (typeof exports === 'undefined' ? 'undefined' : (0, _typeof3.default)(exports)) == 'object') {\n\t\t\t\t\t\t\tmodule.exports = factory(require('okta/underscore'), require('backbone'));\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\troot.Archer || (root.Archer = {});\n\t\t\t\t\t\t\troot.Archer.Collection = factory(root._, root.Backbone);\n\t\t\t\t\t\t}\n\t\t\t\t})(this, function (_, Backbone) {\n\t\t\t\t\tvar STATE = '__STATE__',\n\t\t\t\t\t FETCH_DATA = 'FETCH_DATA',\n\t\t\t\t\t PAGINATION_DATA = 'PAGINATION_DATA',\n\t\t\t\t\t DEFAULT_PARAMS = 'DEFAULT_PARAMS',\n\t\t\t\t\t LINK_BY_HEADER = 'LINK_BY_HEADER',\n\t\t\t\t\t XHR = 'XHR';\n\t\n\t\t\t\t\t/*\n\t * Sets the next page URL on the collection from link headers\n\t * See: http://www.rfc-editor.org/rfc/rfc5988.txt\n\t *\n\t * This method is looking for a link header with `rel=\"next\"`\n\t * An set's it as the next page's URL.\n\t *\n\t * If it doesn't find a next page, and current page is set by a link header\n\t * it assumes we are at the last page and deletes the current `next`\n\t */\n\t\t\t\t\tfunction setLinkHeadersPagination(collection, xhr) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tvar links = parseLinkHeader(xhr.getResponseHeader('link'));\n\t\t\t\t\t\t\tcollection[STATE].set(LINK_BY_HEADER, true);\n\t\t\t\t\t\t\tcollection.setPagination(links['next'].href);\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\tif (collection[STATE].get(LINK_BY_HEADER)) {\n\t\t\t\t\t\t\t\tcollection.setPagination(null);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction parseQuery(url) {\n\t\t\t\t\t\tvar params = {},\n\t\t\t\t\t\t rawQueryStr = url && url.split('?')[1],\n\t\t\t\t\t\t queryString = rawQueryStr && decodeURIComponent(rawQueryStr.split('#')[0]).replace(/\\+/g, ' '),\n\t\t\t\t\t\t props = queryString ? queryString.split('&') : [];\n\t\t\t\t\t\tfor (var i = 0; i < props.length; i++) {\n\t\t\t\t\t\t\tvar parts = props[i].split('=');\n\t\t\t\t\t\t\tparams[parts.shift()] = parts.join('=');\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn params;\n\t\t\t\t\t}\n\t\n\t\t\t\t\t// ################################################\n\t\t\t\t\t// # Source: https://gist.github.com/deiu/9335803\n\t\t\t\t\t// ################################################\n\t\n\t\t\t\t\t// unquote string (utility)\n\t\t\t\t\tfunction unquote(value) {\n\t\t\t\t\t\tif (value.charAt(0) == '\"' && value.charAt(value.length - 1) == '\"') {\n\t\t\t\t\t\t\treturn value.substring(1, value.length - 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn value;\n\t\t\t\t\t}\n\t\t\t\t\t/*\n\t parse a Link header\n\t Link:; rel=meta\n\t var r = parseLinkHeader(xhr.getResponseHeader('Link');\n\t r['meta']['href'] outputs https://example.org/.meta\n\t */\n\t\t\t\t\tfunction parseLinkHeader(header) {\n\t\t\t\t\t\t/* eslint max-statements: 0 */\n\t\t\t\t\t\tvar linkexp = /<[^>]*>\\s*(\\s*;\\s*[^()<>@,;:\"/[\\]?={} \\t]+=(([^()<>@,;:\"/[\\]?={} \\t]+)|(\"[^\"]*\")))*(,|$)/g,\n\t\t\t\t\t\t paramexp = /[^()<>@,;:\"/[\\]?={} \\t]+=(([^()<>@,;:\"/[\\]?={} \\t]+)|(\"[^\"]*\"))/g;\n\t\n\t\t\t\t\t\tvar matches = header.match(linkexp);\n\t\t\t\t\t\tvar rels = {};\n\t\t\t\t\t\tfor (var i = 0; i < matches.length; i++) {\n\t\t\t\t\t\t\tvar split = matches[i].split('>');\n\t\t\t\t\t\t\tvar href = split[0].substring(1);\n\t\t\t\t\t\t\tvar link = {};\n\t\t\t\t\t\t\tlink.href = href;\n\t\t\t\t\t\t\tvar s = split[1].match(paramexp);\n\t\t\t\t\t\t\tfor (var j = 0; j < s.length; j++) {\n\t\t\t\t\t\t\t\tvar paramsplit = s[j].split('=');\n\t\t\t\t\t\t\t\tvar name = paramsplit[0];\n\t\t\t\t\t\t\t\tlink[name] = unquote(paramsplit[1]);\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tif (link.rel !== undefined) {\n\t\t\t\t\t\t\t\trels[link.rel] = link;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\treturn rels;\n\t\t\t\t\t}\n\t\n\t\t\t\t\t// ################################################\n\t\t\t\t\t// # /Source\n\t\t\t\t\t// ################################################\n\t\t\t\t\t//\n\t\n\t\t\t\t\t/**\n\t *\n\t * Archer.Collection is a standard [Backbone.Collection](http://backbonejs.org/#Collection) with pre-set `data`\n\t * parameters and built in pagination - works with [http link headers](https://tools.ietf.org/html/rfc5988)\n\t * out of the box:\n\t *\n\t * @class src/framework/Collection\n\t * @extends external:Backbone.Collection\n\t * @example\n\t * var Users = Archer.Collection.extend({\n\t * url: '/api/v1/users'\n\t * params: {expand: true}\n\t * });\n\t * var users = new Users(null, {params: {type: 'new'}}),\n\t * $button = this.$('a.fetch-more');\n\t *\n\t * $button.click(function () {\n\t * users.fetchMore();\n\t * });\n\t *\n\t * this.listenTo(users, 'sync', function () {\n\t * $button.toggle(users.hasMore());\n\t * });\n\t *\n\t * collection.fetch(); //=> '/api/v1/users?expand=true&type=new'\n\t */\n\t\t\t\t\treturn Backbone.Collection.extend( /** @lends src/framework/Collection.prototype */{\n\t\n\t\t\t\t\t\t/**\n\t * Default fetch parameters\n\t * @type {Object}\n\t */\n\t\t\t\t\t\tparams: {},\n\t\n\t\t\t\t\t\tconstructor: function constructor(models, options) {\n\t\t\t\t\t\t\tvar state = this[STATE] = new Backbone.Model();\n\t\t\t\t\t\t\tstate.set(DEFAULT_PARAMS, _.defaults(options && options.params || {}, this.params || {}));\n\t\t\t\t\t\t\tBackbone.Collection.apply(this, arguments);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * See [Backbone Collection.sync](http://backbonejs.org/#Collection-sync).\n\t */\n\t\t\t\t\t\tsync: function sync(method, collection, options) {\n\t\t\t\t\t\t\tvar self = this,\n\t\t\t\t\t\t\t success = options.success;\n\t\t\t\t\t\t\toptions.success = function (resp, status, xhr) {\n\t\t\t\t\t\t\t\t// its important to set the pagination data *before* we call the success callback\n\t\t\t\t\t\t\t\t// because we want the pagination data to be ready when the collection triggers the `sync` event\n\t\t\t\t\t\t\t\tsetLinkHeadersPagination(self, xhr);\n\t\t\t\t\t\t\t\tsuccess.apply(null, arguments);\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\treturn Backbone.Collection.prototype.sync.call(this, method, collection, options);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * See [Backbone Collection.fetch](http://backbonejs.org/#Collection-fetch).\n\t */\n\t\t\t\t\t\tfetch: function fetch(options) {\n\t\t\t\t\t\t\toptions || (options = {});\n\t\t\t\t\t\t\tvar state = this[STATE],\n\t\t\t\t\t\t\t xhr = state.get(XHR);\n\t\n\t\t\t\t\t\t\toptions.data = _.extend({}, state.get(DEFAULT_PARAMS), options.data || {});\n\t\t\t\t\t\t\toptions.fromFetch = true;\n\t\n\t\t\t\t\t\t\tstate.set(FETCH_DATA, options.data);\n\t\t\t\t\t\t\tif (xhr && xhr.abort && options.abort !== false) {\n\t\t\t\t\t\t\t\txhr.abort();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\txhr = Backbone.Collection.prototype.fetch.call(this, options);\n\t\t\t\t\t\t\tstate.set(XHR, xhr);\n\t\t\t\t\t\t\treturn xhr;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Set pagination data to get to the next page\n\t * @param {Mixed} params\n\t * @param {Object} [options]\n\t * @param {Boolean} [options.fromFetch] should we include data from the previous fetch call in this object\n\t * @example\n\t * collection.setPagination({q: 'foo', page: '2'}); //=> {q: 'foo', page: '2'}\n\t *\n\t * collection.setPagination('/path/to/resource?q=baz&page=4'); //=> {q: 'baz', page: '4'}\n\t *\n\t * collection.setPagination('/path/to/resource'); //=> {}\n\t *\n\t * collection.fetch({data: {q: 'foo'}});\n\t * collection.setPagination({page: 2}, {fromFetch: true}); //=> {q: 'foo', page: 2}\n\t *\n\t * any \"falsy\" value resets pagination\n\t * collection.setPagination(); //=> {}\n\t * collection.setPagination(null); //=> {}\n\t * collection.setPagination(false); //=> {}\n\t * collection.setPagination(''); //=> {}\n\t * collection.setPagination(0); //=> {}\n\t * @protected\n\t */\n\t\t\t\t\t\tsetPagination: function setPagination(params, options) {\n\t\t\t\t\t\t\t/* eslint complexity: [2, 8] */\n\t\t\t\t\t\t\tif (_.isString(params) && params) {\n\t\t\t\t\t\t\t\tparams = parseQuery(params);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (!_.isObject(params) || _.isArray(params) || !_.size(params)) {\n\t\t\t\t\t\t\t\tparams = null;\n\t\t\t\t\t\t\t} else if (options && options.fromFetch) {\n\t\t\t\t\t\t\t\tparams = _.extend({}, this.getFetchData(), params);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tthis[STATE].set(PAGINATION_DATA, params);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Returns the `data` parameters applied in th most recent `fetch` call\n\t * It will include parameters set by {@link #params} and optios.params passed to the constructor\n\t * @return {Object}\n\t * @protected\n\t */\n\t\t\t\t\t\tgetFetchData: function getFetchData() {\n\t\t\t\t\t\t\treturn this[STATE].get(FETCH_DATA) || {};\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Data object for constructing a request to fetch the next page\n\t * @return {Object}\n\t * @protected\n\t */\n\t\t\t\t\t\tgetPaginationData: function getPaginationData() {\n\t\t\t\t\t\t\treturn this[STATE].get(PAGINATION_DATA) || {};\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Does this collection have more data on the server (e.g is there a next \"page\")\n\t * @return {Boolean}\n\t */\n\t\t\t\t\t\thasMore: function hasMore() {\n\t\t\t\t\t\t\treturn _.size(this.getPaginationData()) > 0;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Get the next page from the server\n\t * @return {Object} xhr returned by {@link #fetch}\n\t */\n\t\t\t\t\t\tfetchMore: function fetchMore() {\n\t\t\t\t\t\t\tif (!this.hasMore()) {\n\t\t\t\t\t\t\t\tthrow new Error('Invalid Request');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn this.fetch({ data: this.getPaginationData(), add: true, remove: false, update: true });\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * See [Backbone Collection.reset](http://backbonejs.org/#Collection-reset).\n\t */\n\t\t\t\t\t\treset: function reset(models, options) {\n\t\t\t\t\t\t\toptions || (options = {});\n\t\t\t\t\t\t\t// only reset the pagination when reset is being called explicitly.\n\t\t\t\t\t\t\t// this is to avoid link headers pagination being overriden and reset when\n\t\t\t\t\t\t\t// fetching the collection using `collection.fetch({reset: true})`\n\t\t\t\t\t\t\tif (!options.fromFetch) {\n\t\t\t\t\t\t\t\tthis.setPagination(null);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn Backbone.Collection.prototype.reset.apply(this, arguments);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t// we want \"where\" to be able to search through derived properties as well\n\t\t\t\t\t\twhere: function where(attrs, first) {\n\t\t\t\t\t\t\tif (_.isEmpty(attrs)) {\n\t\t\t\t\t\t\t\treturn first ? void 0 : [];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn this[first ? 'find' : 'filter'](function (model) {\n\t\t\t\t\t\t\t\tfor (var key in attrs) {\n\t\t\t\t\t\t\t\t\tif (attrs[key] !== model.get(key)) {\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\treturn true;\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * See [Backbone Collection.create](http://backbonejs.org/#Collection-create).\n\t */\n\t\t\t\t\t\tcreate: function create(model, options) {\n\t\t\t\t\t\t\toptions || (options = {});\n\t\t\t\t\t\t\tif (!_.result(model, 'urlRoot')) {\n\t\t\t\t\t\t\t\toptions.url = _.result(this, 'url');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn Backbone.Collection.prototype.create.call(this, model, options);\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t});\n\t\t\t\t});\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 21 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; /* eslint max-statements: [2, 15], complexity: [2, 8], max-params: [2, 8] */\n\t\t\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(8), __webpack_require__(19), __webpack_require__(18), __webpack_require__(17), __webpack_require__(22), __webpack_require__(10), __webpack_require__(23)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, $, BaseCollection, BaseModel, Logger, SchemaUtil, StringUtil, EnumTypeHelper) {\n\t\n\t\t\t\t\tvar loc = StringUtil.localize;\n\t\n\t\t\t\t\tvar STRING = SchemaUtil.STRING,\n\t\t\t\t\t NUMBER = SchemaUtil.NUMBER,\n\t\t\t\t\t INTEGER = SchemaUtil.INTEGER,\n\t\t\t\t\t OBJECT = SchemaUtil.OBJECT;\n\t\n\t\t\t\t\tvar getArrayTypeName = function getArrayTypeName(type, elementType) {\n\t\t\t\t\t\treturn type + 'of' + elementType;\n\t\t\t\t\t};\n\t\n\t\t\t\t\tvar SubSchema = BaseModel.extend({\n\t\t\t\t\t\tdefaults: {\n\t\t\t\t\t\t\tdescription: undefined,\n\t\t\t\t\t\t\tminLength: undefined,\n\t\t\t\t\t\t\tmaxLength: undefined,\n\t\t\t\t\t\t\tformat: undefined\n\t\t\t\t\t\t},\n\t\t\t\t\t\tparse: function parse(resp) {\n\t\t\t\t\t\t\tif (_.isString(resp.format)) {\n\t\t\t\t\t\t\t\tvar matcher = /^\\/(.+)\\/$/.exec(resp.format);\n\t\t\t\t\t\t\t\tif (matcher) {\n\t\t\t\t\t\t\t\t\tresp.format = matcher[1];\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn resp;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\n\t\t\t\t\tvar SubSchemaCollection = BaseCollection.extend({\n\t\t\t\t\t\tmodel: SubSchema\n\t\t\t\t\t});\n\t\n\t\t\t\t\tvar SubSchemaAllOfCollection = SubSchemaCollection.extend({\n\t\t\t\t\t\t_type: 'allOf'\n\t\t\t\t\t});\n\t\n\t\t\t\t\tvar SubSchemaOneOfCollection = SubSchemaCollection.extend({\n\t\t\t\t\t\t_type: 'oneOf'\n\t\t\t\t\t});\n\t\n\t\t\t\t\tvar SubSchemaNoneOfCollection = SubSchemaCollection.extend({\n\t\t\t\t\t\t_type: 'noneOf'\n\t\t\t\t\t});\n\t\n\t\t\t\t\tvar constraintTypeErrorMessages = {\n\t\t\t\t\t\tstring: loc('schema.validation.field.value.must.string', 'courage'),\n\t\t\t\t\t\tnumber: loc('schema.validation.field.value.must.number', 'courage'),\n\t\t\t\t\t\tinteger: loc('schema.validation.field.value.must.integer', 'courage'),\n\t\t\t\t\t\tobject: loc('schema.validation.field.value.must.object', 'courage')\n\t\t\t\t\t};\n\t\n\t\t\t\t\tvar loginFormatNonePattern = '.+';\n\t\n\t\t\t\t\tvar escapedLoginCharsRe = /[^a-zA-Z0-9-]/;\n\t\n\t\t\t\t\tvar SchemaProperty = BaseModel.extend({\n\t\n\t\t\t\t\t\tconstraintHandlers: {\n\t\t\t\t\t\t\tbetween: '_checkBetweenConstraints',\n\t\t\t\t\t\t\tgreaterThan: '_checkGreaterThanConstraint',\n\t\t\t\t\t\t\tlessThan: '_checkLessThanConstraint',\n\t\t\t\t\t\t\tequals: '_checkEqualsConstraint'\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tidAttribute: 'name',\n\t\n\t\t\t\t\t\tlocal: {\n\t\t\t\t\t\t\t'__oneOf__': {\n\t\t\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\t\t\tminItems: 1\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tdefaults: {\n\t\t\t\t\t\t\t// OKTA-28445, set empty string by default as the key for each property when sycn with server\n\t\t\t\t\t\t\t// so that server can respond with error when a name is not provided\n\t\t\t\t\t\t\tname: '',\n\t\t\t\t\t\t\ttitle: undefined,\n\t\t\t\t\t\t\ttype: undefined,\n\t\t\t\t\t\t\tdescription: undefined,\n\t\t\t\t\t\t\trequired: false,\n\t\t\t\t\t\t\tformat: undefined,\n\t\t\t\t\t\t\t// choose disable option be default.\n\t\t\t\t\t\t\tunion: undefined,\n\t\t\t\t\t\t\tsubSchemas: undefined,\n\t\t\t\t\t\t\tsettings: { permissions: { SELF: SchemaUtil.PERMISSION.READ_ONLY } },\n\t\t\t\t\t\t\t'__isSensitive__': BaseModel.ComputedProperty(['settings'], function (settings) {\n\t\t\t\t\t\t\t\treturn !!(settings && settings.sensitive);\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t'__userPermission__': SchemaUtil.PERMISSION.READ_ONLY,\n\t\t\t\t\t\t\t'__displayType__': undefined,\n\t\t\t\t\t\t\t'__displayTypeLabel__': BaseModel.ComputedProperty(['__displayType__'], function (displayType) {\n\t\t\t\t\t\t\t\treturn SchemaUtil.DATATYPE[displayType] || displayType;\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t'__supportsMinMax__': false,\n\t\t\t\t\t\t\t// use the private naming convention for these computed properties,\n\t\t\t\t\t\t\t// to deal with the complexity in cloning schema with properties (toJSON({verbose: true})),\n\t\t\t\t\t\t\t// to make sure these attributes are being excluded from api request\n\t\t\t\t\t\t\t'__isReadOnly__': BaseModel.ComputedProperty(['mutability'], function (mutability) {\n\t\t\t\t\t\t\t\treturn mutability === SchemaUtil.MUTABILITY.READONLY;\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t'__isWriteOnly__': BaseModel.ComputedProperty(['mutability'], function (mutability) {\n\t\t\t\t\t\t\t\treturn mutability === SchemaUtil.MUTABILITY.WRITEONLY;\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t'__displayScope__': undefined,\n\t\t\t\t\t\t\t'__isScopeSelf__': BaseModel.ComputedProperty(['scope'], function (scope) {\n\t\t\t\t\t\t\t\treturn scope === SchemaUtil.SCOPE.SELF;\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t'__isNoneScopeArrayType__': BaseModel.ComputedProperty(['__isScopeSelf__', '__displayType__'], function (isScopeSelf, displayType) {\n\t\t\t\t\t\t\t\treturn !isScopeSelf && SchemaUtil.isArrayDataType(displayType);\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t'__isImported__': BaseModel.ComputedProperty(['externalName'], function (externalName) {\n\t\t\t\t\t\t\t\treturn !!externalName;\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t'__isFromBaseSchema__': BaseModel.ComputedProperty(['__schemaMeta__'], function (schemaMeta) {\n\t\t\t\t\t\t\t\treturn schemaMeta && schemaMeta.name === 'base';\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t// Only UI can turn on __enumDefined__ and reprocess the enum/oneOf value; otherwise,\n\t\t\t\t\t\t\t// it should leave existing value untouch\n\t\t\t\t\t\t\t'__enumDefined__': false,\n\t\t\t\t\t\t\t'__supportEnum__': BaseModel.ComputedProperty(['__displayType__'], function (displayType) {\n\t\t\t\t\t\t\t\treturn _.contains(SchemaUtil.SUPPORTENUM, displayType);\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t'__isNumberTypeEnum__': BaseModel.ComputedProperty(['__displayType__'], function (displayType) {\n\t\t\t\t\t\t\t\treturn _.contains([SchemaUtil.NUMBER, SchemaUtil.ARRAYDISPLAYTYPE.arrayofnumber], displayType);\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t'__isIntegerTypeEnum__': BaseModel.ComputedProperty(['__displayType__'], function (displayType) {\n\t\t\t\t\t\t\t\treturn _.contains([SchemaUtil.INTEGER, SchemaUtil.ARRAYDISPLAYTYPE.arrayofinteger], displayType);\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t'__isObjectTypeEnum__': BaseModel.ComputedProperty(['__displayType__'], function (displayType) {\n\t\t\t\t\t\t\t\treturn _.contains([SchemaUtil.OBJECT, SchemaUtil.ARRAYDISPLAYTYPE.arrayofobject], displayType);\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t'__isStringTypeEnum__': BaseModel.ComputedProperty(['__displayType__'], function (displayType) {\n\t\t\t\t\t\t\t\treturn _.contains([SchemaUtil.STRING, SchemaUtil.ARRAYDISPLAYTYPE.arrayofstring], displayType);\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t'__enumConstraintType__': BaseModel.ComputedProperty(['__isStringTypeEnum__', '__isNumberTypeEnum__', '__isIntegerTypeEnum__', '__isObjectTypeEnum__'], function (isStringType, isNumberType, isIntegerType, isObjectType) {\n\t\t\t\t\t\t\t\tif (isStringType) {\n\t\t\t\t\t\t\t\t\treturn STRING;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (isNumberType) {\n\t\t\t\t\t\t\t\t\treturn NUMBER;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (isIntegerType) {\n\t\t\t\t\t\t\t\t\treturn INTEGER;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (isObjectType) {\n\t\t\t\t\t\t\t\t\treturn OBJECT;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t'__isEnumDefinedAndSupported__': BaseModel.ComputedProperty(['__enumDefined__', '__supportEnum__'], function (enumDefined, supportEnum) {\n\t\t\t\t\t\t\t\treturn enumDefined && supportEnum;\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t'__isLoginOfBaseSchema__': BaseModel.ComputedProperty(['__isFromBaseSchema__', 'name'], function (isFromBaseSchema, name) {\n\t\t\t\t\t\t\t\treturn isFromBaseSchema && name === 'login';\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tinitialize: function initialize() {\n\t\t\t\t\t\t\tBaseModel.prototype.initialize.apply(this, arguments);\n\t\t\t\t\t\t\tthis.listenTo(this, 'change:__displayType__', this._updateTypeFormatConstraints);\n\t\t\t\t\t\t\tthis.listenTo(this, 'change:type change:format change:items', this._updateDisplayType);\n\t\t\t\t\t\t\tthis.listenTo(this, 'change:__minVal__ change:__maxVal__', this._updateMinMax);\n\t\t\t\t\t\t\tthis.listenTo(this, 'change:__equals__', this._convertEqualsToMinMax);\n\t\t\t\t\t\t\tthis.listenTo(this, 'change:__constraint__', this._setConstraintText);\n\t\t\t\t\t\t\tthis._setConstraintText();\n\t\t\t\t\t\t\tthis._setLoginPattern();\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tparse: function parse(resp) {\n\t\t\t\t\t\t\t/* eslint complexity: [2, 9] */\n\t\t\t\t\t\t\tresp = _.clone(resp);\n\t\n\t\t\t\t\t\t\tif (resp.type === 'object' && resp.extendedType === 'image') {\n\t\t\t\t\t\t\t\tresp.type = 'image';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tresp['__displayType__'] = SchemaUtil.getDisplayType(resp.type, resp.format, resp.items ? resp.items.format ? resp.items.format : resp.items.type : undefined);\n\t\t\t\t\t\t\tthis._setRangeConstraints(resp);\n\t\t\t\t\t\t\tresp['__supportsMinMax__'] = SchemaUtil.SUPPORTSMINMAX.indexOf(resp['__displayType__']) != -1;\n\t\t\t\t\t\t\tresp['__displayScope__'] = SchemaUtil.DISPLAYSCOPE[resp.scope] || SchemaUtil.DISPLAYSCOPE.NA;\n\t\t\t\t\t\t\tif (resp.settings && resp.settings.permissions && resp.settings.permissions.SELF) {\n\t\t\t\t\t\t\t\tresp['__userPermission__'] = resp.settings.permissions.SELF;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tthis._setMasterOverride(resp);\n\t\t\t\t\t\t\tthis._setSubSchemas(resp);\n\t\t\t\t\t\t\treturn resp;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tvalidate: function validate() {\n\t\t\t\t\t\t\tvar enumValidationError = this._validateEnumOneOf();\n\t\n\t\t\t\t\t\t\tif (enumValidationError) {\n\t\t\t\t\t\t\t\treturn enumValidationError;\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tif (!this.get('__supportsMinMax__') || !this.get('__constraint__')) {\n\t\t\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tvar constraitType = this.get('__constraint__'),\n\t\t\t\t\t\t\t constraitHandler = this[this.constraintHandlers[constraitType]];\n\t\n\t\t\t\t\t\t\tif (_.isFunction(constraitHandler)) {\n\t\t\t\t\t\t\t\treturn constraitHandler.call(this);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tLogger.warn('No constraint handler found for: ' + constraitType);\n\t\t\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t_checkBetweenConstraints: function _checkBetweenConstraints() {\n\t\t\t\t\t\t\tvar minVal = this.get('__minVal__'),\n\t\t\t\t\t\t\t maxVal = this.get('__maxVal__');\n\t\n\t\t\t\t\t\t\tif (!minVal && !maxVal) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (!minVal) {\n\t\t\t\t\t\t\t\treturn { '__minVal__': 'Min value is required' };\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (!maxVal) {\n\t\t\t\t\t\t\t\treturn { '__maxVal__': 'Max value is required' };\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvar val = this._checkIntegerConstraints('__minVal__', 'Min value');\n\t\t\t\t\t\t\tif (val) {\n\t\t\t\t\t\t\t\treturn val;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tval = this._checkIntegerConstraints('__maxVal__', 'Max value');\n\t\t\t\t\t\t\tif (val) {\n\t\t\t\t\t\t\t\treturn val;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (+minVal >= +maxVal) {\n\t\t\t\t\t\t\t\treturn { '__maxVal__': 'Max val must be greater than min val' };\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t_checkGreaterThanConstraint: function _checkGreaterThanConstraint() {\n\t\t\t\t\t\t\tvar minVal = this.get('__minVal__');\n\t\t\t\t\t\t\tif (!minVal) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvar val = this._checkIntegerConstraints('__minVal__', 'Min value');\n\t\t\t\t\t\t\tif (val) {\n\t\t\t\t\t\t\t\treturn val;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t_checkLessThanConstraint: function _checkLessThanConstraint() {\n\t\t\t\t\t\t\tvar maxVal = this.get('__maxVal__');\n\t\t\t\t\t\t\tif (!maxVal) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvar val = this._checkIntegerConstraints('__maxVal__', 'Max value');\n\t\t\t\t\t\t\tif (val) {\n\t\t\t\t\t\t\t\treturn val;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t_checkEqualsConstraint: function _checkEqualsConstraint() {\n\t\t\t\t\t\t\tvar equals = this.get('__equals__');\n\t\t\t\t\t\t\tif (!equals) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvar val = this._checkIntegerConstraints('__equals__', 'Constraint');\n\t\t\t\t\t\t\tif (val) {\n\t\t\t\t\t\t\t\treturn val;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t_checkIntegerConstraints: function _checkIntegerConstraints(field, name) {\n\t\t\t\t\t\t\tvar val = this.get(field);\n\t\n\t\t\t\t\t\t\tvar error = {};\n\t\t\t\t\t\t\tif (isNaN(val)) {\n\t\t\t\t\t\t\t\terror[field] = name + ' must be a number';\n\t\t\t\t\t\t\t\treturn error;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (+val < 0) {\n\t\t\t\t\t\t\t\terror[field] = name + ' must be greater than 0';\n\t\t\t\t\t\t\t\treturn error;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t_setMasterOverride: function _setMasterOverride(resp) {\n\t\t\t\t\t\t\tif (resp.settings && resp.settings.masterOverride && resp.settings.masterOverride) {\n\t\t\t\t\t\t\t\tvar masterOverrideValue = resp.settings.masterOverride.value;\n\t\t\t\t\t\t\t\tif (_.isArray(masterOverrideValue) && !_.isEmpty(masterOverrideValue)) {\n\t\t\t\t\t\t\t\t\tresp['__masterOverrideType__'] = 'OVERRIDE';\n\t\t\t\t\t\t\t\t\tresp['__masterOverrideValue__'] = masterOverrideValue || [];\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tresp['__masterOverrideType__'] = resp.settings.masterOverride.type;\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\tresp['__masterOverrideType__'] = 'INHERIT';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t_setRangeConstraints: function _setRangeConstraints(resp) {\n\t\t\t\t\t\t\t/* eslint complexity: [2, 11] */\n\t\t\t\t\t\t\tif (resp['__displayType__'] == STRING) {\n\t\t\t\t\t\t\t\tresp['__minVal__'] = resp.minLength;\n\t\t\t\t\t\t\t\tresp['__maxVal__'] = resp.maxLength;\n\t\t\t\t\t\t\t} else if (resp['__displayType__'] == INTEGER || resp['__displayType__'] == NUMBER) {\n\t\t\t\t\t\t\t\tresp['__minVal__'] = resp.minimum;\n\t\t\t\t\t\t\t\tresp['__maxVal__'] = resp.maximum;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (resp['__minVal__'] && resp['__maxVal__']) {\n\t\t\t\t\t\t\t\tif (resp['__minVal__'] === resp['__maxVal__']) {\n\t\t\t\t\t\t\t\t\tresp['__constraint__'] = 'equals';\n\t\t\t\t\t\t\t\t\tresp['__equals__'] = resp['__minVal__'];\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tresp['__constraint__'] = 'between';\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if (!resp['__minVal__'] && resp['__maxVal__']) {\n\t\t\t\t\t\t\t\tresp['__constraint__'] = 'lessThan';\n\t\t\t\t\t\t\t} else if (!resp['__maxVal__'] && resp['__minVal__']) {\n\t\t\t\t\t\t\t\tresp['__constraint__'] = 'greaterThan';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t_setSubSchemas: function _setSubSchemas(resp) {\n\t\t\t\t\t\t\tif (resp.allOf) {\n\t\t\t\t\t\t\t\tresp['subSchemas'] = new SubSchemaAllOfCollection(resp.allOf, { parse: true });\n\t\t\t\t\t\t\t} else if (resp.oneOf) {\n\t\t\t\t\t\t\t\tresp['subSchemas'] = new SubSchemaOneOfCollection(resp.oneOf, { parse: true });\n\t\t\t\t\t\t\t} else if (resp.noneOf) {\n\t\t\t\t\t\t\t\tresp['subSchemas'] = new SubSchemaNoneOfCollection(resp.noneOf, { parse: true });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t_setLoginPattern: function _setLoginPattern() {\n\t\t\t\t\t\t\tif (!this.get('__isLoginOfBaseSchema__')) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tvar pattern = this.get('pattern');\n\t\t\t\t\t\t\tif (pattern === loginFormatNonePattern) {\n\t\t\t\t\t\t\t\tthis.set('__loginFormatRestriction__', SchemaUtil.LOGINPATTERNFORMAT.NONE);\n\t\t\t\t\t\t\t} else if (pattern) {\n\t\t\t\t\t\t\t\tthis.set('__loginFormatRestriction__', SchemaUtil.LOGINPATTERNFORMAT.CUSTOM);\n\t\t\t\t\t\t\t\tthis.set('__loginFormatRestrictionCustom__', this._extractLoginPattern(pattern));\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.set('__loginFormatRestriction__', SchemaUtil.LOGINPATTERNFORMAT.EMAIL);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t_updateDisplayType: function _updateDisplayType() {\n\t\t\t\t\t\t\tvar type = this.get('type');\n\t\t\t\t\t\t\tif (type === STRING && this.get('format')) {\n\t\t\t\t\t\t\t\tthis.set('__displayType__', SchemaUtil.FORMATDISPLAYTYPE[this.get('format')]);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tvar items = this.get('items');\n\t\t\t\t\t\t\t\tvar arraytype = items && (items.format ? items.format : items.type);\n\t\t\t\t\t\t\t\tif (type && arraytype) {\n\t\t\t\t\t\t\t\t\tthis.set('__displayType__', SchemaUtil.ARRAYDISPLAYTYPE[getArrayTypeName(type, arraytype)]);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tthis.set('__displayType__', type);\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\n\t\t\t\t\t\t_validateEnumOneOf: function _validateEnumOneOf() {\n\t\t\t\t\t\t\tif (!this.get('__isEnumDefinedAndSupported__')) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tvar enumOneOf = this.get('__oneOf__') || [];\n\t\n\t\t\t\t\t\t\tif (_.isEmpty(enumOneOf)) {\n\t\t\t\t\t\t\t\treturn { '__oneOf__': loc('model.validation.field.blank', 'courage') };\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tif (!this._isValidateOneOfConstraint(enumOneOf)) {\n\t\t\t\t\t\t\t\tvar constraintType = this.get('__enumConstraintType__'),\n\t\t\t\t\t\t\t\t errorTypeMsg = constraintTypeErrorMessages[constraintType];\n\t\n\t\t\t\t\t\t\t\treturn { '__oneOf__': errorTypeMsg };\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t_isValidateOneOfConstraint: function _isValidateOneOfConstraint(values) {\n\t\t\t\t\t\t\tvar constraintType = this.get('__enumConstraintType__');\n\t\n\t\t\t\t\t\t\treturn _.all(values, function (value) {\n\t\t\t\t\t\t\t\treturn EnumTypeHelper.isConstraintValueMatchType(value.const, constraintType);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\ttoJSON: function toJSON() {\n\t\t\t\t\t\t\tvar json = BaseModel.prototype.toJSON.apply(this, arguments);\n\t\n\t\t\t\t\t\t\tjson.settings = { permissions: {} };\n\t\t\t\t\t\t\tjson.settings.permissions['SELF'] = this.get('__userPermission__');\n\t\n\t\t\t\t\t\t\t// omit \"sensitive\" filed will have default it value to false.\n\t\t\t\t\t\t\tif (this.get('__isSensitive__')) {\n\t\t\t\t\t\t\t\tjson.settings.sensitive = this.get('__isSensitive__');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (this.get('type') === 'image') {\n\t\t\t\t\t\t\t\tjson.type = 'object';\n\t\t\t\t\t\t\t\tjson.extendedType = 'image';\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tjson = this._enumAssignment(json);\n\t\t\t\t\t\t\tjson = this._attributeOverrideToJson(json);\n\t\t\t\t\t\t\tjson = this._normalizeUnionValue(json);\n\t\t\t\t\t\t\tjson = this._patternAssignment(json);\n\t\t\t\t\t\t\treturn json;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t_attributeOverrideToJson: function _attributeOverrideToJson(json) {\n\t\t\t\t\t\t\tvar masterOverrideType = this.get('__masterOverrideType__'),\n\t\t\t\t\t\t\t masterOverrideValue = this.get('__masterOverrideValue__');\n\t\t\t\t\t\t\tif (masterOverrideType === 'OKTA_MASTERED') {\n\t\t\t\t\t\t\t\tjson.settings.masterOverride = { type: 'OKTA_MASTERED' };\n\t\t\t\t\t\t\t} else if (masterOverrideType === 'OVERRIDE') {\n\t\t\t\t\t\t\t\tjson.settings.masterOverride = { type: 'ORDERED_LIST', value: [] };\n\t\t\t\t\t\t\t\tif (masterOverrideValue instanceof BaseCollection) {\n\t\t\t\t\t\t\t\t\t_.each(masterOverrideValue.toJSON(), function (overrideProfile) {\n\t\t\t\t\t\t\t\t\t\tjson.settings.masterOverride.value.push(overrideProfile.id);\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t} else if (masterOverrideValue instanceof Array) {\n\t\t\t\t\t\t\t\t\tjson.settings.masterOverride.value = masterOverrideValue;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (_.isEmpty(json.settings.masterOverride.value)) {\n\t\t\t\t\t\t\t\t\tdelete json.settings.masterOverride;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tif (masterOverrideType === 'INHERIT') {\n\t\t\t\t\t\t\t\tdelete json.settings.masterOverride;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn json;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Only allow set \"union\" value when isScopeSelf is NONE and displayType is\n\t * array of (string/number/integer), otherwise reset to default.\n\t *\n\t * @see /universal-directory/shared/views/components/UnionGroupValuesRadio.js\n\t */\n\t\t\t\t\t\t_normalizeUnionValue: function _normalizeUnionValue(json) {\n\t\n\t\t\t\t\t\t\tif (!this.get('__isNoneScopeArrayType__')) {\n\t\t\t\t\t\t\t\tjson['union'] = undefined;\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\treturn json;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t_enumAssignment: function _enumAssignment(json) {\n\t\t\t\t\t\t\tif (!this.get('__isEnumDefinedAndSupported__')) {\n\t\t\t\t\t\t\t\treturn json;\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t// backfill empty title by constraint\n\t\t\t\t\t\t\tvar enumOneOf = this._getEnumOneOfWithTitleCheck();\n\t\n\t\t\t\t\t\t\tif (this.get('type') === 'array') {\n\t\t\t\t\t\t\t\tdelete json.items.enum;\n\t\t\t\t\t\t\t\tjson.items.oneOf = enumOneOf;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tdelete json.enum;\n\t\t\t\t\t\t\t\tjson.oneOf = enumOneOf;\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\treturn json;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t_patternAssignment: function _patternAssignment(json) {\n\t\t\t\t\t\t\tif (!this.get('__isLoginOfBaseSchema__') || !this.get('__loginFormatRestriction__')) {\n\t\t\t\t\t\t\t\treturn json;\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tswitch (this.get('__loginFormatRestriction__')) {\n\t\t\t\t\t\t\t\tcase SchemaUtil.LOGINPATTERNFORMAT.EMAIL:\n\t\t\t\t\t\t\t\t\tdelete json.pattern;\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase SchemaUtil.LOGINPATTERNFORMAT.CUSTOM:\n\t\t\t\t\t\t\t\t\tjson.pattern = this._buildLoginPattern(this.get('__loginFormatRestrictionCustom__'));\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase SchemaUtil.LOGINPATTERNFORMAT.NONE:\n\t\t\t\t\t\t\t\t\tjson.pattern = loginFormatNonePattern;\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\treturn json;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Character should be escaped except letters, digits and hyphen\n\t */\n\t\t\t\t\t\t_escapedRegexChar: function _escapedRegexChar(pattern, index) {\n\t\t\t\t\t\t\tvar char = pattern.charAt(index);\n\t\n\t\t\t\t\t\t\tif (escapedLoginCharsRe.test(char)) {\n\t\t\t\t\t\t\t\treturn '\\\\' + char;\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\treturn char;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t_buildLoginPattern: function _buildLoginPattern(pattern) {\n\t\t\t\t\t\t\tvar result = '';\n\t\n\t\t\t\t\t\t\tfor (var i = 0; i < pattern.length; i++) {\n\t\t\t\t\t\t\t\tresult = result + this._escapedRegexChar(pattern, i);\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\treturn '[' + result + ']+';\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t_extractLoginPattern: function _extractLoginPattern(pattern) {\n\t\t\t\t\t\t\tvar re = /^\\[(.*)\\]\\+/,\n\t\t\t\t\t\t\t matches = pattern.match(re);\n\t\t\t\t\t\t\treturn matches ? matches[1].replace(/\\\\(.)/g, '$1') : pattern;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t_getEnumOneOfWithTitleCheck: function _getEnumOneOfWithTitleCheck() {\n\t\t\t\t\t\t\tvar enumOneOf = this.get('__oneOf__');\n\t\n\t\t\t\t\t\t\treturn _.map(enumOneOf, function (value) {\n\t\t\t\t\t\t\t\tif ($.trim(value.title) !== '') {\n\t\t\t\t\t\t\t\t\treturn value;\n\t\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t\tvalue.title = !_.isString(value.const) ? (0, _stringify2.default)(value.const) : value.const;\n\t\n\t\t\t\t\t\t\t\treturn value;\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t_updateTypeFormatConstraints: function _updateTypeFormatConstraints() {\n\t\t\t\t\t\t\tvar displayType = this.get('__displayType__');\n\t\t\t\t\t\t\t// OKTA-31952 reset format according to its displayType\n\t\t\t\t\t\t\tthis.unset('format', { silent: true });\n\t\t\t\t\t\t\tthis.unset('items', { silent: true });\n\t\t\t\t\t\t\tthis.set(SchemaUtil.DISPLAYTYPES[displayType]);\n\t\t\t\t\t\t\tif (displayType != NUMBER && displayType != INTEGER) {\n\t\t\t\t\t\t\t\tthis.unset('minimum');\n\t\t\t\t\t\t\t\tthis.unset('maximum');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (displayType != STRING) {\n\t\t\t\t\t\t\t\tthis.unset('minLength');\n\t\t\t\t\t\t\t\tthis.unset('maxLength');\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tthis.unset('__minVal__');\n\t\t\t\t\t\t\tthis.unset('__maxVal__');\n\t\t\t\t\t\t\tthis.unset('__equals__');\n\t\t\t\t\t\t\tthis.set('__supportsMinMax__', SchemaUtil.SUPPORTSMINMAX.indexOf(this.get('__displayType__')) != -1);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t_updateMinMax: function _updateMinMax() {\n\t\t\t\t\t\t\tvar min,\n\t\t\t\t\t\t\t max,\n\t\t\t\t\t\t\t displayType = this.get('__displayType__');\n\t\n\t\t\t\t\t\t\tif (displayType === STRING) {\n\t\t\t\t\t\t\t\tmin = 'minLength';\n\t\t\t\t\t\t\t\tmax = 'maxLength';\n\t\t\t\t\t\t\t} else if (displayType == INTEGER || displayType == NUMBER) {\n\t\t\t\t\t\t\t\tmin = 'minimum';\n\t\t\t\t\t\t\t\tmax = 'maximum';\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tif (this.get('__minVal__')) {\n\t\t\t\t\t\t\t\tthis.set(min, parseInt(this.get('__minVal__'), 10));\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.unset(min);\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tif (this.get('__maxVal__')) {\n\t\t\t\t\t\t\t\tthis.set(max, parseInt(this.get('__maxVal__'), 10));\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.unset(max);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t_convertEqualsToMinMax: function _convertEqualsToMinMax() {\n\t\t\t\t\t\t\tvar equals = this.get('__equals__');\n\t\t\t\t\t\t\tif (equals) {\n\t\t\t\t\t\t\t\tthis.set('__minVal__', equals);\n\t\t\t\t\t\t\t\tthis.set('__maxVal__', equals);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/*\n\t Normally we would use a derived property here but derived properties do not work with the model Clone function\n\t so we use this workaround instead.\n\t */\n\t\t\t\t\t\t_setConstraintText: function _setConstraintText() {\n\t\t\t\t\t\t\tvar constraint = this.get('__constraint__'),\n\t\t\t\t\t\t\t min = this.get('__minVal__'),\n\t\t\t\t\t\t\t max = this.get('__maxVal__'),\n\t\t\t\t\t\t\t equals = this.get('__equals__');\n\t\n\t\t\t\t\t\t\tswitch (constraint) {\n\t\t\t\t\t\t\t\tcase 'between':\n\t\t\t\t\t\t\t\t\tthis.set('__constraintText__', 'Between ' + min + ' and ' + max);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase 'greaterThan':\n\t\t\t\t\t\t\t\t\tthis.set('__constraintText__', 'Greater than ' + min);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase 'lessThan':\n\t\t\t\t\t\t\t\t\tthis.set('__constraintText__', 'Less than ' + max);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase 'equals':\n\t\t\t\t\t\t\t\t\tthis.set('__constraintText__', 'Equals ' + equals);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\tthis.set('__constraintText__', '');\n\t\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\n\t\t\t\t\t\tcleanup: function cleanup() {\n\t\t\t\t\t\t\tif (this.get('__constraint__') === 'lessThan') {\n\t\t\t\t\t\t\t\tthis.unset('__minVal__');\n\t\t\t\t\t\t\t} else if (this.get('__constraint__') === 'greaterThan') {\n\t\t\t\t\t\t\t\tthis.unset('__maxVal__');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (this.get('scope') !== SchemaUtil.SCOPE.SYSTEM) {\n\t\t\t\t\t\t\t\tif (this.get('__isScopeSelf__') === true) {\n\t\t\t\t\t\t\t\t\tthis.set({ 'scope': SchemaUtil.SCOPE.SELF }, { silent: true });\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tthis.unset('scope');\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\n\t\t\t\t\t\t/**\n\t * Since there is not an dedicated attribute to flag enum type,\n\t * use enum values to determine whether the property is enum type or not.\n\t */\n\t\t\t\t\t\tisEnumType: function isEnumType() {\n\t\t\t\t\t\t\treturn !!this.getEnumValues();\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tgetEnumValues: function getEnumValues() {\n\t\t\t\t\t\t\treturn this.get('oneOf') || this.get('enum') || this.get('items') && this.get('items')['oneOf'] || this.get('items') && this.get('items')['enum'];\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tdetectHasEnumDefined: function detectHasEnumDefined() {\n\t\t\t\t\t\t\tvar enumValues = this.getEnumValues();\n\t\n\t\t\t\t\t\t\tif (!enumValues) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tthis.set('__oneOf__', EnumTypeHelper.convertToOneOf(enumValues));\n\t\t\t\t\t\t\tthis.set('__enumDefined__', true);\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t});\n\t\n\t\t\t\t\tvar SchemaProperties = BaseCollection.extend({\n\t\t\t\t\t\tmodel: SchemaProperty,\n\t\t\t\t\t\tclone: function clone() {\n\t\t\t\t\t\t\treturn new this.constructor(this.toJSON({ verbose: true }), { parse: true });\n\t\t\t\t\t\t},\n\t\t\t\t\t\tareAllReadOnly: function areAllReadOnly() {\n\t\t\t\t\t\t\treturn _.all(this.pluck('__isReadOnly__'));\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcreateModelProperties: function createModelProperties() {\n\t\t\t\t\t\t\treturn this.reduce(function (p, schemaProperty) {\n\t\t\t\t\t\t\t\tvar type = schemaProperty.get('type');\n\t\t\t\t\t\t\t\tp[schemaProperty.id] = _.clone(SchemaUtil.DISPLAYTYPES[type]);\n\t\t\t\t\t\t\t\tif (SchemaUtil.SUPPORTSMINMAX.indexOf(type) != -1) {\n\t\t\t\t\t\t\t\t\tp[schemaProperty.id].minLength = schemaProperty.get('minLength');\n\t\t\t\t\t\t\t\t\tp[schemaProperty.id].maxLength = schemaProperty.get('maxLength');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (type === 'string') {\n\t\t\t\t\t\t\t\t\tp[schemaProperty.id].format = schemaProperty.get('format');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn p;\n\t\t\t\t\t\t\t}, {});\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\n\t\t\t\t\treturn {\n\t\t\t\t\t\tModel: SchemaProperty,\n\t\t\t\t\t\tCollection: SchemaProperties\n\t\t\t\t\t};\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 22 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(10)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, StringUtil) {\n\t\n\t\t\t\t\tvar loc = StringUtil.localize;\n\t\n\t\t\t\t\tvar SchemaUtils = {\n\t\t\t\t\t\tSTRING: 'string',\n\t\t\t\t\t\tNUMBER: 'number',\n\t\t\t\t\t\tINTEGER: 'integer',\n\t\t\t\t\t\tBOOLEAN: 'boolean',\n\t\t\t\t\t\tOBJECT: 'object',\n\t\t\t\t\t\tFORMATDISPLAYTYPE: {\n\t\t\t\t\t\t\t'date-time': 'date',\n\t\t\t\t\t\t\t'uri': 'uri',\n\t\t\t\t\t\t\t'email': 'email',\n\t\t\t\t\t\t\t'country-code': 'country-code',\n\t\t\t\t\t\t\t'language-code': 'language-code',\n\t\t\t\t\t\t\t'locale': 'locale',\n\t\t\t\t\t\t\t'timezone': 'timezone',\n\t\t\t\t\t\t\t'ref-id': 'reference'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tARRAYDISPLAYTYPE: {\n\t\t\t\t\t\t\t'arrayofobject': 'arrayofobject',\n\t\t\t\t\t\t\t'arrayofstring': 'arrayofstring',\n\t\t\t\t\t\t\t'arrayofnumber': 'arrayofnumber',\n\t\t\t\t\t\t\t'arrayofinteger': 'arrayofinteger',\n\t\t\t\t\t\t\t'arrayofref-id': 'arrayofref-id'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tDISPLAYTYPES: {\n\t\t\t\t\t\t\t'date': { 'type': 'string', 'format': 'date-time' },\n\t\t\t\t\t\t\t'uri': { 'type': 'string', 'format': 'uri' },\n\t\t\t\t\t\t\t'email': { 'type': 'string', 'format': 'email' },\n\t\t\t\t\t\t\t'country-code': { 'type': 'string', 'format': 'country-code' },\n\t\t\t\t\t\t\t'language-code': { 'type': 'string', 'format': 'language-code' },\n\t\t\t\t\t\t\t'locale': { 'type': 'string', 'format': 'locale' },\n\t\t\t\t\t\t\t'timezone': { 'type': 'string', 'format': 'timezone' },\n\t\t\t\t\t\t\t'string': { 'type': 'string' },\n\t\t\t\t\t\t\t'number': { 'type': 'number' },\n\t\t\t\t\t\t\t'boolean': { 'type': 'boolean' },\n\t\t\t\t\t\t\t'integer': { 'type': 'integer' },\n\t\t\t\t\t\t\t'reference': { 'type': 'string', 'format': 'ref-id' },\n\t\t\t\t\t\t\t'arrayofobject': { 'type': 'array', 'items': { 'type': 'object' } },\n\t\t\t\t\t\t\t'arrayofstring': { 'type': 'array', 'items': { 'type': 'string' } },\n\t\t\t\t\t\t\t'arrayofnumber': { 'type': 'array', 'items': { 'type': 'number' } },\n\t\t\t\t\t\t\t'arrayofinteger': { 'type': 'array', 'items': { 'type': 'integer' } },\n\t\t\t\t\t\t\t'arrayofref-id': { 'type': 'array', 'items': { 'type': 'string', 'format': 'ref-id' } },\n\t\t\t\t\t\t\t'image': { 'type': 'image' },\n\t\t\t\t\t\t\t'password': { 'type': 'string' }\n\t\t\t\t\t\t},\n\t\t\t\t\t\tSUPPORTSMINMAX: ['string', 'number', 'integer', 'password'],\n\t\t\t\t\t\tSUPPORTENUM: ['string', 'number', 'integer', 'object', 'arrayofstring', 'arrayofnumber', 'arrayofinteger', 'arrayofobject'],\n\t\t\t\t\t\tDATATYPE: {\n\t\t\t\t\t\t\t'string': 'string',\n\t\t\t\t\t\t\t'number': 'number',\n\t\t\t\t\t\t\t'boolean': 'boolean',\n\t\t\t\t\t\t\t'integer': 'integer',\n\t\t\t\t\t\t\t'date': 'datetime',\n\t\t\t\t\t\t\t'object': 'object',\n\t\t\t\t\t\t\t'arrayofobject': 'object array',\n\t\t\t\t\t\t\t'arrayofstring': 'string array',\n\t\t\t\t\t\t\t'arrayofnumber': 'number array',\n\t\t\t\t\t\t\t'arrayofinteger': 'integer array',\n\t\t\t\t\t\t\t'arrayofref-id': 'reference array',\n\t\t\t\t\t\t\t'country-code': 'country code',\n\t\t\t\t\t\t\t'language-code': 'language code',\n\t\t\t\t\t\t\t'reference': 'reference',\n\t\t\t\t\t\t\t'timezone': 'timezone',\n\t\t\t\t\t\t\t'image': 'image'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tMUTABILITY: {\n\t\t\t\t\t\t\tREADONLY: 'READ_ONLY',\n\t\t\t\t\t\t\tWRITEONLY: 'WRITE_ONLY',\n\t\t\t\t\t\t\tREADWRITE: 'READ_WRITE',\n\t\t\t\t\t\t\tIMMUTABLE: 'IMMUTABLE'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tSCOPE: {\n\t\t\t\t\t\t\tNONE: 'NONE',\n\t\t\t\t\t\t\tSELF: 'SELF',\n\t\t\t\t\t\t\tSYSTEM: 'SYSTEM'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tDISPLAYSCOPE: {\n\t\t\t\t\t\t\tSELF: 'User personal',\n\t\t\t\t\t\t\tSYSTEM: 'System',\n\t\t\t\t\t\t\tNA: 'None'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tUNION: {\n\t\t\t\t\t\t\tDISABLE: 'DISABLE',\n\t\t\t\t\t\t\tENABLE: 'ENABLE'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tUNION_OPTIONS: {\n\t\t\t\t\t\t\t'DISABLE': loc('universal-directory.profiles.attribute.form.union.enable.display', 'courage'),\n\t\t\t\t\t\t\t'ENABLE': loc('universal-directory.profiles.attribute.form.union.disable.display', 'courage')\n\t\t\t\t\t\t},\n\t\t\t\t\t\tPERMISSION: {\n\t\t\t\t\t\t\tHIDE: 'HIDE',\n\t\t\t\t\t\t\tREAD_ONLY: 'READ_ONLY',\n\t\t\t\t\t\t\tWRITE_ONLY: 'WRITE_ONLY',\n\t\t\t\t\t\t\tREAD_WRITE: 'READ_WRITE'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tENDUSER_ATTRIBUTE_PERMISSION_OPTIONS: {\n\t\t\t\t\t\t\tHIDE: loc('universal-directory.profiles.attribute.enduser.permission.hide', 'courage'),\n\t\t\t\t\t\t\tREAD_ONLY: loc('universal-directory.profiles.attribute.enduser.permission.readonly', 'courage'),\n\t\t\t\t\t\t\tREAD_WRITE: loc('universal-directory.profiles.attribute.enduser.permission.readwrite', 'courage')\n\t\t\t\t\t\t},\n\t\t\t\t\t\tATTRIBUTE_LEVEL_MASTERING_OPTIONS: {\n\t\t\t\t\t\t\tINHERIT: loc('universal-directory.profiles.attribute.master.inherit', 'courage'),\n\t\t\t\t\t\t\tOKTA_MASTERED: loc('universal-directory.profiles.attribute.master.oktamastered', 'courage'),\n\t\t\t\t\t\t\tOVERRIDE: loc('universal-directory.profiles.attribute.master.override', 'courage')\n\t\t\t\t\t\t},\n\t\t\t\t\t\tUSERNAMETYPE: {\n\t\t\t\t\t\t\tNONE: 'non-username',\n\t\t\t\t\t\t\tOKTA_TO_APP: 'okta-to-app-username',\n\t\t\t\t\t\t\tOKTA_TO_AD: 'okta-to-ad-username',\n\t\t\t\t\t\t\tAPP_TO_OKTA: 'app-to-okta-username',\n\t\t\t\t\t\t\tIDP_TO_OKTA: 'idp-to-okta-username'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tLOGINPATTERNFORMAT: {\n\t\t\t\t\t\t\tEMAIL: 'EMAIL',\n\t\t\t\t\t\t\tCUSTOM: 'CUSTOM',\n\t\t\t\t\t\t\tNONE: 'NONE'\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/*\n\t * Get a display string for a schema attribute type.\n\t * @param {String} type Type of an attribute\n\t * @param {String} format Format of an attribute\n\t * @param {String} itemType Item type of an attribute if an array\n\t * @param {String} defaultValue The default value if an attribute type is undefined\n\t * @return {String} the display value\n\t */\n\t\t\t\t\t\tgetDisplayType: function getDisplayType(type, format, itemType, defaultValue) {\n\t\t\t\t\t\t\tvar displayType;\n\t\t\t\t\t\t\t// type is undefined for\n\t\t\t\t\t\t\t// - an un-mapped source attribute from mapping\n\t\t\t\t\t\t\t// - an source attribute which is mapped to username target attribute\n\t\t\t\t\t\t\tif (type) {\n\t\t\t\t\t\t\t\t// format is only defined for complicated types (ex. reference, date time, array)\n\t\t\t\t\t\t\t\t// not for simple types (ex. string, integer, boolean)\n\t\t\t\t\t\t\t\tif (format) {\n\t\t\t\t\t\t\t\t\tdisplayType = this.FORMATDISPLAYTYPE[format];\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t// itemType is only defined for array type\n\t\t\t\t\t\t\t\t\t// to specify an array element type (ex. string, integer, number)\n\t\t\t\t\t\t\t\t\tdisplayType = itemType ? this.ARRAYDISPLAYTYPE[type + 'of' + itemType] : type;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (!displayType) {\n\t\t\t\t\t\t\t\tdisplayType = typeof defaultValue == 'undefined' ? '' : defaultValue;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn displayType;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/*\n\t * Get attribute mapping source attribute username type\n\t * @param {String} mappingDirection\n\t * @param {String} targetName The mapping target attribute name\n\t * @param {String} appName The app name that's mapped to/from Okta\n\t * @return {String} the source attribute username type value\n\t */\n\t\t\t\t\t\tgetSourceUsernameType: function getSourceUsernameType(mappingDirection, targetName, appName) {\n\t\t\t\t\t\t\t/* eslint complexity: [2, 7] */\n\t\t\t\t\t\t\tvar sourceUsernameType = this.USERNAMETYPE.NONE;\n\t\t\t\t\t\t\tif (mappingDirection === 'oktaToApp') {\n\t\t\t\t\t\t\t\tif (targetName === 'userName') {\n\t\t\t\t\t\t\t\t\tsourceUsernameType = this.USERNAMETYPE.OKTA_TO_APP;\n\t\t\t\t\t\t\t\t} else if (targetName === 'cn') {\n\t\t\t\t\t\t\t\t\tsourceUsernameType = this.USERNAMETYPE.OKTA_TO_AD;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if (mappingDirection === 'appToOkta' && targetName === 'login') {\n\t\t\t\t\t\t\t\tif (appName === 'saml_idp') {\n\t\t\t\t\t\t\t\t\tsourceUsernameType = this.USERNAMETYPE.IDP_TO_OKTA;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tsourceUsernameType = this.USERNAMETYPE.APP_TO_OKTA;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn sourceUsernameType;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tisArrayDataType: function isArrayDataType(type) {\n\t\t\t\t\t\t\treturn _.contains(_.values(this.ARRAYDISPLAYTYPE), type);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tisObjectDataType: function isObjectDataType(type) {\n\t\t\t\t\t\t\treturn this.DATATYPE.object === type;\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\n\t\t\t\t\treturn SchemaUtils;\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 23 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; /* eslint max-statements: 0 */\n\t\t\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(8), __webpack_require__(22), __webpack_require__(10)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, $, SchemaUtil, StringUtil) {\n\t\t\t\t\tvar NAME = 'name',\n\t\t\t\t\t ENUM_KEY_PREFIX = '_enum_';\n\t\n\t\t\t\t\t/**\n\t * Generate Input Options in order to create an input in an Form for Enum type attribute.\n\t * @param {Object} config informations for creating input options\n\t * config.name schema property name\n\t * config.title schema property title\n\t * config.readOnly create an read only input?\n\t * config.explain sub-title to the input\n\t * config.enumValues list of enum values for creating input options (Dropdown/SimpleCheckBoxSet)\n\t * config.displayType display type of schema property\n\t *\n\t * @return {Object} inputOptions options for create an Input view. (Dropdown/SimpleCheckBoxSet)\n\t *\n\t */\n\t\t\t\t\tfunction getEnumInputOptions(config) {\n\t\t\t\t\t\tvar enumOneOf = convertToOneOf(config.enumValues),\n\t\t\t\t\t\t inputOptions = {\n\t\t\t\t\t\t\tname: config.name,\n\t\t\t\t\t\t\tlabel: config.title,\n\t\t\t\t\t\t\treadOnly: config.readOnly,\n\t\t\t\t\t\t\tcustomExplain: config.explain,\n\t\t\t\t\t\t\tparams: { enumOneOf: enumOneOf },\n\t\t\t\t\t\t\toptions: getDropdownOptionsFromOneOf(enumOneOf)\n\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t// input type\n\t\t\t\t\t\tif (SchemaUtil.isArrayDataType(config.displayType)) {\n\t\t\t\t\t\t\tinputOptions.type = 'checkboxset';\n\t\t\t\t\t\t\tinputOptions.to = valuesToEnumObjects;\n\t\t\t\t\t\t\tinputOptions.from = enumObjectsToValues;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tinputOptions.type = 'select';\n\t\t\t\t\t\t\tinputOptions.to = valueToEnumObject;\n\t\t\t\t\t\t\tinputOptions.from = enumObjectToValue;\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\tinputOptions.input = null;\n\t\t\t\t\t\treturn inputOptions;\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction getDropdownOptions(values) {\n\t\t\t\t\t\treturn _.isArray(values) ? getDropdownOptionsFromOneOf(convertToOneOf(values)) : {};\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction getDropdownOptionsFromOneOf(values) {\n\t\t\t\t\t\tif (!isOneOfEnumObject(values)) {\n\t\t\t\t\t\t\treturn {};\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\treturn _.reduce(values, function (options, value, index) {\n\t\t\t\t\t\t\toptions[convertIndexToEnumIndex(index)] = value.title;\n\t\t\t\t\t\t\treturn options;\n\t\t\t\t\t\t}, {});\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction convertToOneOf(values) {\n\t\t\t\t\t\t// assume this is a legacy enum array and convert to oneOf object\n\t\t\t\t\t\tif (!_.all(values, $.isPlainObject)) {\n\t\t\t\t\t\t\treturn convertEnumToOneOf(values);\n\t\n\t\t\t\t\t\t\t// we assume object without const and title is an enum object which need special conversion\n\t\t\t\t\t\t} else if (!isOneOfEnumObject(values)) {\n\t\t\t\t\t\t\treturn convertEnumObjectToOneOf(values);\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\treturn values;\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction isOneOfEnumObject(values) {\n\t\t\t\t\t\treturn _.isArray(values) && _.all(values, function (value) {\n\t\t\t\t\t\t\treturn _.has(value, 'const') && _.has(value, 'title');\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction convertEnumToOneOf(values) {\n\t\t\t\t\t\treturn _.map(values, function (value) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tconst: value,\n\t\t\t\t\t\t\t\ttitle: valueToTitle(value)\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction valueToTitle(value) {\n\t\t\t\t\t\tif (_.isObject(value)) {\n\t\t\t\t\t\t\treturn (0, _stringify2.default)(value);\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\tif (_.isNumber(value)) {\n\t\t\t\t\t\t\treturn value + '';\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\treturn value;\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction convertEnumObjectToOneOf(values) {\n\t\t\t\t\t\t// If all object found the key NAME, use the NAME's value as display name\n\t\t\t\t\t\tvar findKey = _.partial(_.has, _, NAME);\n\t\t\t\t\t\tif (_.all(values, findKey)) {\n\t\t\t\t\t\t\treturn _.chain(values).filter(function (value) {\n\t\t\t\t\t\t\t\treturn $.isPlainObject(value) && _.has(value, NAME);\n\t\t\t\t\t\t\t}).map(function (value) {\n\t\t\t\t\t\t\t\treturn { const: value, title: value[NAME] };\n\t\t\t\t\t\t\t}).value();\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t// Assume a legacy object array does not need special handling and just convert to const/title enum\n\t\t\t\t\t\treturn convertEnumToOneOf(values);\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction convertIndexToEnumIndex(index) {\n\t\t\t\t\t\treturn '' + ENUM_KEY_PREFIX + index;\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction enumObjectToValue(obj) {\n\t\t\t\t\t\t// Cannot rely on comparator in findIndex when compare objects so need special handling\n\t\t\t\t\t\tvar index = _.findIndex(this.options.params.enumOneOf, function (oneOfObj) {\n\t\t\t\t\t\t\treturn _.isObject(obj) ? _.isEqual(oneOfObj.const, obj) : oneOfObj.const === obj;\n\t\t\t\t\t\t});\n\t\n\t\t\t\t\t\treturn index > -1 ? convertIndexToEnumIndex(index) : obj;\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction valueToEnumObject(val) {\n\t\t\t\t\t\tif (!_.isString(val) || val.indexOf(ENUM_KEY_PREFIX) !== 0) {\n\t\t\t\t\t\t\treturn val;\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\tvar index = val.replace(ENUM_KEY_PREFIX, '');\n\t\n\t\t\t\t\t\t// @see `getEnumInputOptions` how enumValues has been set.\n\t\t\t\t\t\tvar enumValue = this.options.params && _.isArray(this.options.params.enumOneOf) ? this.options.params.enumOneOf[index] : null;\n\t\n\t\t\t\t\t\treturn _.has(enumValue, 'const') ? enumValue.const : enumValue;\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction valuesToEnumObjects(values) {\n\t\t\t\t\t\treturn _.map(values, valueToEnumObject.bind(this));\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction enumObjectsToValues(values) {\n\t\t\t\t\t\treturn _.map(values, enumObjectToValue.bind(this));\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction isStringConstraint(value) {\n\t\t\t\t\t\treturn _.isString(value) && $.trim(value) !== '';\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction isNumberConstraint(value) {\n\t\t\t\t\t\treturn _.isNumber(value) || _.isNumber(StringUtil.parseFloat($.trim(value)));\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction isIntegerConstraint(value) {\n\t\t\t\t\t\tvar integer = _.isNumber(value) ? value : StringUtil.parseInt($.trim(value));\n\t\n\t\t\t\t\t\treturn typeof integer === 'number' && isFinite(integer) && Math.floor(integer) === integer;\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction isObjectConstraint(value) {\n\t\t\t\t\t\tif (_.isObject(value) && !_.isArray(value)) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\tvar object = StringUtil.parseObject($.trim(value));\n\t\t\t\t\t\treturn _.isObject(object) && !_.isArray(object);\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction isConstraintValueMatchType(value, type) {\n\t\t\t\t\t\tswitch (type) {\n\t\t\t\t\t\t\tcase SchemaUtil.STRING:\n\t\t\t\t\t\t\t\treturn isStringConstraint(value);\n\t\t\t\t\t\t\tcase SchemaUtil.NUMBER:\n\t\t\t\t\t\t\t\treturn isNumberConstraint(value);\n\t\t\t\t\t\t\tcase SchemaUtil.INTEGER:\n\t\t\t\t\t\t\t\treturn isIntegerConstraint(value);\n\t\t\t\t\t\t\tcase SchemaUtil.OBJECT:\n\t\t\t\t\t\t\t\treturn isObjectConstraint(value);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\n\t\t\t\t\treturn {\n\t\t\t\t\t\tgetEnumInputOptions: getEnumInputOptions,\n\t\t\t\t\t\tgetDropdownOptions: getDropdownOptions,\n\t\t\t\t\t\tconvertToOneOf: convertToOneOf,\n\t\t\t\t\t\tisConstraintValueMatchType: isConstraintValueMatchType\n\t\t\t\t\t};\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 24 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(18), __webpack_require__(19), __webpack_require__(21)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, BaseModel, BaseCollection, SchemaProperty) {\n\t\n\t\t\t\t\tvar parseProperties = function parseProperties(resp) {\n\t\t\t\t\t\tvar schemaMeta = _.pick(resp, 'id', 'name', 'displayName');\n\t\t\t\t\t\tvar properties = _.map(resp.schema.properties, function (property, name) {\n\t\t\t\t\t\t\treturn _({ name: name }).chain().extend(property).omit('__metadata').value();\n\t\t\t\t\t\t});\n\t\t\t\t\t\t_.each(properties, function (property) {\n\t\t\t\t\t\t\tproperty['__schemaMeta__'] = schemaMeta;\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn properties;\n\t\t\t\t\t};\n\t\n\t\t\t\t\tvar Schema = BaseModel.extend({\n\t\n\t\t\t\t\t\tdefaults: {\n\t\t\t\t\t\t\tid: undefined,\n\t\t\t\t\t\t\tdisplayName: undefined,\n\t\t\t\t\t\t\tname: undefined\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tconstructor: function constructor() {\n\t\t\t\t\t\t\tthis.properties = new SchemaProperty.Collection();\n\t\t\t\t\t\t\tBaseModel.apply(this, arguments);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tgetProperties: function getProperties() {\n\t\t\t\t\t\t\treturn this.properties;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tclone: function clone() {\n\t\t\t\t\t\t\tvar model = BaseModel.prototype.clone.apply(this, arguments);\n\t\t\t\t\t\t\tmodel.getProperties().set(this.getProperties().toJSON({ verbose: true }));\n\t\t\t\t\t\t\treturn model;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tparse: function parse(resp) {\n\t\t\t\t\t\t\tvar properties = parseProperties(resp);\n\t\t\t\t\t\t\tthis.properties.set(properties, { parse: true });\n\t\t\t\t\t\t\treturn _.omit(resp, 'schema');\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\ttrimProperty: function trimProperty(property) {\n\t\t\t\t\t\t\treturn _.omit(property, 'name');\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\ttoJSON: function toJSON() {\n\t\t\t\t\t\t\tvar json = BaseModel.prototype.toJSON.apply(this, arguments);\n\t\t\t\t\t\t\tjson.schema = { properties: {} };\n\t\t\t\t\t\t\tthis.getProperties().each(function (model) {\n\t\t\t\t\t\t\t\tvar property = model.toJSON();\n\t\t\t\t\t\t\t\tjson.schema.properties[property.name] = this.trimProperty(property);\n\t\t\t\t\t\t\t}, this);\n\t\t\t\t\t\t\treturn json;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tsave: function save() {\n\t\t\t\t\t\t\tthis.getProperties().each(function (model) {\n\t\t\t\t\t\t\t\tmodel.cleanup();\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\treturn BaseModel.prototype.save.apply(this, arguments);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\n\t\t\t\t\tvar Schemas = BaseCollection.extend({\n\t\t\t\t\t\tmodel: Schema\n\t\t\t\t\t});\n\t\n\t\t\t\t\treturn {\n\t\t\t\t\t\tparseProperties: parseProperties,\n\t\t\t\t\t\tModel: Schema,\n\t\t\t\t\t\tCollection: Schemas\n\t\t\t\t\t};\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 25 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; /* eslint @okta/okta/enforce-requirejs-names: 0, @okta/okta/no-specific-methods: 0 */\n\t\t\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(7)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, Handlebars) {\n\t\n\t\t\t\t\t/**\n\t * @class module:Okta.internal.util.TemplateUtil\n\t * @hideconstructor\n\t */\n\t\t\t\t\treturn (/** @lends module:Okta.internal.util.TemplateUtil */{\n\t\n\t\t\t\t\t\t\t/**\n\t * Compiles a Handlebars template\n\t * @static\n\t * @method\n\t */\n\t\t\t\t\t\t\ttpl: _.memoize(function (tpl) {\n\t\t\t\t\t\t\t\t/* eslint okta/no-specific-methods: 0 */\n\t\t\t\t\t\t\t\treturn Handlebars.compile(tpl);\n\t\t\t\t\t\t\t})\n\t\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 26 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(27)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, BaseButtonLink) {\n\t\n\t\t\t\t\t/**\n\t * A factory method wrapper for {@link BaseButtonLink} creation\n\t * @class module:Okta.internal.util.ButtonFactory\n\t */\n\t\n\t\t\t\t\tfunction normalizeEvents(options) {\n\t\t\t\t\t\tvar events = _.extend(options.click ? { click: options.click } : {}, options.events || {}),\n\t\t\t\t\t\t target = {};\n\t\t\t\t\t\t_.each(events, function (fn, eventName) {\n\t\t\t\t\t\t\ttarget[eventName] = function (e) {\n\t\t\t\t\t\t\t\tif (!options.href) {\n\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tfn.apply(this, arguments);\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn target;\n\t\t\t\t\t}\n\t\n\t\t\t\t\treturn (/** @lends module:Okta.internal.util.ButtonFactory */{\n\t\t\t\t\t\t\t/**\n\t * Creates a {@link module:Okta.internal.views.components.BaseButtonLink|BaseButtonLink}.\n\t * @param {Object} options Options hash\n\t * @param {String} [options.title] The button text\n\t * @param {String} [options.icon]\n\t * CSS class for the icon to display. See [Style guide](http://rain.okta1.com:1802/su/dev/style-guide#icons)\n\t * @param {String} [options.href] The button link\n\t * @param {Function} [options.click] On click callback\n\t * @param {Object} [options.events] a [Backbone events](http://backbonejs.org/#View-delegateEvents) hash\n\t * @returns {module:Okta.internal.views.components.BaseButtonLink} BaseButtonLink prototype (\"class\")\n\t */\n\t\t\t\t\t\t\tcreate: function create(options) {\n\t\t\t\t\t\t\t\toptions = _.clone(options);\n\t\t\t\t\t\t\t\toptions.attrs = options.attributes;\n\t\t\t\t\t\t\t\tdelete options.attributes;\n\t\n\t\t\t\t\t\t\t\treturn BaseButtonLink.extend(_.extend(options, {\n\t\t\t\t\t\t\t\t\tevents: normalizeEvents(options)\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);\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 27 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(28), __webpack_require__(30)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, BaseView, ViewUtil) {\n\t\n\t\t\t\t\tvar disabledEvents = {\n\t\t\t\t\t\tclick: function click(e) {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\n\t\t\t\t\t/**\n\t * A configurable button.\n\t * @class module:Okta.internal.views.components.BaseButtonLink\n\t * @extends module:Okta.View\n\t * @example\n\t * var View = BaseButtonLink.extend({\n\t * title: 'Click Me',\n\t * icon: 'help-text'\n\t * })\n\t */\n\t\t\t\t\treturn BaseView.extend( /** @lends module:Okta.internal.views.components.BaseButtonLink.prototype */{\n\t\t\t\t\t\tattributes: function attributes() {\n\t\t\t\t\t\t\tvar defaultAttrs = {\n\t\t\t\t\t\t\t\t'data-se': 'button'\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tvar additionalAttr = this.__getAttribute('attrs');\n\t\t\t\t\t\t\treturn _.extend(defaultAttrs, additionalAttr);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * The main text for the button\n\t * @name title\n\t * @memberof module:Okta.internal.views.components.BaseButtonLink\n\t * @type {(String|Function)}\n\t * @instance\n\t */\n\t\n\t\t\t\t\t\t/**\n\t * The link for the button\n\t * @name href\n\t * @memberof module:Okta.internal.views.components.BaseButtonLink\n\t * @type {(String|Function)}\n\t * @instance\n\t */\n\t\n\t\t\t\t\t\t/**\n\t * CSS class for the icon to display. See [Style guide](http://rain.okta1.com:1802/su/dev/style-guide#icons)\n\t * @name icon\n\t * @memberof module:Okta.internal.views.components.BaseButtonLink\n\t * @type {(String|Function)}\n\t * @instance\n\t */\n\t\n\t\t\t\t\t\t/**\n\t * A [Backbone events](http://backbonejs.org/#View-delegateEvents) hash\n\t * @name events\n\t * @memberof module:Okta.internal.views.components.BaseButtonLink\n\t * @type {Object}\n\t * @instance\n\t */\n\t\n\t\t\t\t\t\ttagName: 'a',\n\t\n\t\t\t\t\t\ttemplate: '{{#if icon}}{{/if}}{{#if title}}{{title}}{{/if}}',\n\t\n\t\t\t\t\t\t/**\n\t * Make this button visible, default to true.\n\t * @type {(Boolean|Function)}\n\t * @default true\n\t */\n\t\t\t\t\t\tvisible: true,\n\t\n\t\t\t\t\t\t/**\n\t * Make this button enabled, default to true.\n\t * @type {(Boolean|Function)}\n\t * @default true\n\t */\n\t\t\t\t\t\tenabled: true,\n\t\n\t\t\t\t\t\t/**\n\t * The setting to determine when the button is enabled, default to {} and\n\t * enabled takes a higher priority.\n\t * @type {(Object|Function)}\n\t * @default {}\n\t */\n\t\t\t\t\t\tenableWhen: {},\n\t\n\t\t\t\t\t\t/**\n\t * The setting to determine when the button is visible, default to {} and\n\t * visible takes a higher priority.\n\t * @type {(Object|Function)}\n\t * @default {}\n\t */\n\t\t\t\t\t\tshowWhen: {},\n\t\n\t\t\t\t\t\tconstructor: function constructor(options) {\n\t\t\t\t\t\t\tthis.options = options || {};\n\t\t\t\t\t\t\tvar data = this.getTemplateData();\n\t\n\t\t\t\t\t\t\tthis.disabled = false;\n\t\n\t\t\t\t\t\t\tBaseView.apply(this, arguments);\n\t\n\t\t\t\t\t\t\tthis.$el.addClass('link-button');\n\t\t\t\t\t\t\tif (data.icon) {\n\t\t\t\t\t\t\t\tthis.$el.addClass('link-button-icon');\n\t\t\t\t\t\t\t\tif (!data.title) {\n\t\t\t\t\t\t\t\t\tthis.$el.addClass('icon-only');\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\n\t\t\t\t\t\tgetTemplateData: function getTemplateData() {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\thref: this.__getAttribute('href'),\n\t\t\t\t\t\t\t\ttitle: this.__getAttribute('title'),\n\t\t\t\t\t\t\t\ticon: this.__getAttribute('icon')\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tinitialize: function initialize() {\n\t\t\t\t\t\t\tViewUtil.applyDoWhen(this, _.resultCtx(this, 'enableWhen', this), this.toggle);\n\t\t\t\t\t\t\tViewUtil.applyDoWhen(this, _.resultCtx(this, 'showWhen', this), this.toggleVisible);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\trender: function render() {\n\t\n\t\t\t\t\t\t\tBaseView.prototype.render.apply(this, arguments);\n\t\n\t\t\t\t\t\t\tif (!_.result(this, 'enabled')) {\n\t\t\t\t\t\t\t\tthis.toggle(false);\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tif (!_.result(this, 'visible')) {\n\t\t\t\t\t\t\t\tthis.toggleVisible(false);\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tvar data = this.getTemplateData();\n\t\t\t\t\t\t\tthis.$el.attr('href', data.href || '#');\n\t\n\t\t\t\t\t\t\treturn this;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t__getAttribute: function __getAttribute(name, defaultValue) {\n\t\t\t\t\t\t\tvar value = _.resultCtx(this.options, name, this);\n\t\t\t\t\t\t\tif (_.isUndefined(value)) {\n\t\t\t\t\t\t\t\tvalue = _.result(this, name);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn !_.isUndefined(value) ? value : defaultValue;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tenable: function enable() {\n\t\t\t\t\t\t\tthis.toggle(true);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tdisable: function disable() {\n\t\t\t\t\t\t\tthis.toggle(false);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tshow: function show() {\n\t\t\t\t\t\t\tthis.toggleVisible(true);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\thide: function hide() {\n\t\t\t\t\t\t\tthis.toggleVisible(false);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\ttoggle: function toggle(enable) {\n\t\t\t\t\t\t\t//this is to toggle the enability\n\t\t\t\t\t\t\tvar bool = !!enable && _.result(this, 'enabled');\n\t\t\t\t\t\t\tthis.disabled = !bool;\n\t\t\t\t\t\t\tthis.$el.toggleClass('link-button-disabled btn-disabled disabled', this.disabled);\n\t\n\t\t\t\t\t\t\t// delegateEvents asynchronously in case the button is not yet added to the DOM\n\t\t\t\t\t\t\t// in these cases the alternate events won't work\n\t\t\t\t\t\t\t_.defer(_.bind(function () {\n\t\t\t\t\t\t\t\tthis.delegateEvents(this.disabled ? disabledEvents : null);\n\t\t\t\t\t\t\t}, this));\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\ttoggleVisible: function toggleVisible(visible) {\n\t\t\t\t\t\t\tvar hidden = !visible || !_.result(this, 'visible');\n\t\t\t\t\t\t\tthis.$el.toggleClass('hide', hidden);\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t});\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 28 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(6), __webpack_require__(25), __webpack_require__(29)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, Backbone, TemplateUtil, View) {\n\t\n\t\t\t\t\t// add `broadcast` and `listen` functionality to all views\n\t\t\t\t\t// We use one event emitter per all views\n\t\t\t\t\t// This means we need to be very careful with event names\n\t\n\t\t\t\t\tvar eventBus = _.clone(Backbone.Events);\n\t\n\t\t\t\t\t/**\n\t * See {@link src/framework/View} for more detail and examples from the base class.\n\t * @class module:Okta.View\n\t * @extends src/framework/View\n\t */\n\t\n\t\t\t\t\t/** @lends module:Okta.View.prototype */\n\t\t\t\t\tvar proto = {\n\t\n\t\t\t\t\t\tconstructor: function constructor() {\n\t\t\t\t\t\t\tView.apply(this, arguments);\n\t\t\t\t\t\t\tthis.module && this.$el.attr('data-view', this.module.id);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * @deprecated Use {@link #removeChildren}\n\t */\n\t\t\t\t\t\tempty: function empty() {\n\t\t\t\t\t\t\treturn this.removeChildren();\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tcompileTemplate: TemplateUtil.tpl,\n\t\n\t\t\t\t\t\t/**\n\t *\n\t * Broadcasts a global event that all views and controllers can subscribe to\n\t * for framework use only - prefer using a shared model\n\t *\n\t * @param {String} eventName A unique identifier for the event\n\t * @param {...String} param Parameter to pass with the event (can pass more than one parameter)\n\t * @deprecated For internal use only\n\t * @private\n\t */\n\t\t\t\t\t\tbroadcast: function broadcast() {\n\t\t\t\t\t\t\teventBus.trigger.apply(eventBus, arguments);\n\t\t\t\t\t\t\treturn this;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Subscribe to broadcast events\n\t * for framework use only - prefer using a shared model\n\t *\n\t * @param {String} eventName The event identifier to subscribe\n\t * @param {Function} fn The callback function to invoke\n\t * @deprecated For internal use only\n\t * @private\n\t */\n\t\t\t\t\t\tlisten: function listen(name, fn) {\n\t\t\t\t\t\t\teventBus.off(name, fn);\n\t\t\t\t\t\t\tthis.listenTo(eventBus, name, fn);\n\t\t\t\t\t\t\treturn this;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Shows a notification box\n\t * @param {String} level success / warning / error\n\t * @param {String} message The message to display\n\t * @param {Object} [options]\n\t * @param {Number} [options.width] Set a custom width\n\t * @param {String} [options.title] Set a custom title\n\t * @param {Boolean} [options.hide=true] Do we want to auto-hide this notification?\n\t * @param {Boolean} [options.dismissable] Show a dismiss button\n\t * @example\n\t * view.notify('success', 'Group created successfully');\n\t */\n\t\t\t\t\t\tnotify: function notify(level, message, options) {\n\t\t\t\t\t\t\tthis.broadcast('notification', _.defaults({ message: message, level: level }, options));\n\t\t\t\t\t\t\treturn this;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Shows a confirmation dialog\n\t *\n\t * The main difference between this and the native javascript `confirm` method\n\t * Is this method is non blocking (note the callback pattern).\n\t *\n\t * The callback function will run in the context (`this`) of the invoking view.\n\t *\n\t * @param {String} [title] The title of the confirmation dialog\n\t * @param {String} [message] The message of the confirmation dialog\n\t * @param {Function} [okfn] The callback to run when the user hits \"OK\" (runs in the context of the invoking view)\n\t * @param {Function} [cancelfn] The callback to run when the user hits \"Cancel\"\n\t * (runs in the context of the invoking view)\n\t * @example\n\t * view.confirm('Delete Group', 'Are you sure you want to delete the selected group?', function () {\n\t * model.destroy();\n\t * });\n\t *\n\t * // title will be auto-set to \"Okta\"\n\t * view.confirm('Are you sure you want to delete the selected group?', function () {\n\t * model.destroy();\n\t * });\n\t *\n\t * view.confirm({\n\t * title: 'Delete Group', //=> Modal title\n\t * subtitle: 'Are you sure you want to delete the selected group?', //=> Modal subtitle\n\t * content: '

THIS WILL DELETE THE GROUP!

', //=> A template or a view to add to the modal\n\t * save: 'Delete Group', //=> Button label\n\t * ok: _.bind(model.save, model) // Callback function on hitting \"ok\" button\n\t * cancel: 'Cancel', //=> Button label\n\t * cancelFn: _.bind(model.destroy, model) // Callback function on hitting \"cancel\" button\n\t * });\n\t */\n\t\t\t\t\t\tconfirm: function confirm(title, message, okfn, cancelfn) {\n\t\t\t\t\t\t\t/* eslint max-statements: [2, 12] */\n\t\n\t\t\t\t\t\t\tvar options;\n\t\t\t\t\t\t\tif ((typeof title === 'undefined' ? 'undefined' : (0, _typeof3.default)(title)) == 'object') {\n\t\t\t\t\t\t\t\toptions = title;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tif (arguments.length == 2 && _.isFunction(message)) {\n\t\t\t\t\t\t\t\t\toptions = {\n\t\t\t\t\t\t\t\t\t\ttitle: 'Okta',\n\t\t\t\t\t\t\t\t\t\tsubtitle: title,\n\t\t\t\t\t\t\t\t\t\tok: message\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\toptions = {\n\t\t\t\t\t\t\t\t\t\ttitle: title,\n\t\t\t\t\t\t\t\t\t\tsubtitle: message,\n\t\t\t\t\t\t\t\t\t\tok: okfn,\n\t\t\t\t\t\t\t\t\t\tcancelFn: cancelfn\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\tif (_.isFunction(options.ok)) {\n\t\t\t\t\t\t\t\toptions.ok = _.bind(options.ok, this);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (_.isFunction(options.cancelFn)) {\n\t\t\t\t\t\t\t\toptions.cancelFn = _.bind(options.cancelFn, this);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tthis.broadcast('confirmation', options);\n\t\t\t\t\t\t\treturn this;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Shows an alert box\n\t *\n\t * The main difference between this and the native javascript `alert` method\n\t * Is this method is non blocking.\n\t *\n\t * @param {String} message The message\n\t * @example\n\t * view.alert('Mission complete');\n\t */\n\t\t\t\t\t\talert: function alert(params) {\n\t\t\t\t\t\t\tif (_.isString(params)) {\n\t\t\t\t\t\t\t\tparams = {\n\t\t\t\t\t\t\t\t\tsubtitle: params\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tthis.confirm(_.extend({}, params, {\n\t\t\t\t\t\t\t\tnoCancelButton: true\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\treturn this;\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\n\t\t\t\t\treturn View.extend(proto, /** @lends View.prototype */{\n\t\t\t\t\t\t/** @method */\n\t\t\t\t\t\tdecorate: function decorate(TargetView) {\n\t\t\t\t\t\t\tvar View = TargetView.extend({});\n\t\t\t\t\t\t\t_.defaults(View.prototype, proto);\n\t\t\t\t\t\t\treturn View;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 29 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (root, factory) {\n\t\t\t\t\tif (true) {\n\t\t\t\t\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(6)], __WEBPACK_AMD_DEFINE_FACTORY__ = factory, __WEBPACK_AMD_DEFINE_RESULT__ = typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? __WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__) : __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\t\t\t\t}\n\t\t\t\t\t/* global module, exports */\n\t\t\t\t\telse if (typeof require === 'function' && (typeof exports === 'undefined' ? 'undefined' : (0, _typeof3.default)(exports)) === 'object') {\n\t\t\t\t\t\t\tmodule.exports = factory(require('okta/underscore'), require('backbone'));\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\troot.Archer || (root.Archer = {});\n\t\t\t\t\t\t\troot.Archer.View = factory(root._, root.Backbone);\n\t\t\t\t\t\t}\n\t\t\t\t})(this, function (_, Backbone) {\n\t\n\t\t\t\t\tvar CHILDREN = '__children__',\n\t\t\t\t\t RENDERED = '__rendered__',\n\t\t\t\t\t PARENT = '__parent__',\n\t\t\t\t\t CHILD_DEFINITIONS = '__children_definitions__',\n\t\t\t\t\t ADD_TO_CONTAINER = '__add_to_container__';\n\t\n\t\t\t\t\tfunction getIndex(container, view) {\n\t\t\t\t\t\tfor (var i = 0; i < container[CHILDREN].length; i++) {\n\t\t\t\t\t\t\tif (view.cid === container[CHILDREN][i].cid) {\n\t\t\t\t\t\t\t\treturn i;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction noop() {}\n\t\n\t\t\t\t\tfunction doRender(view) {\n\t\t\t\t\t\tview[RENDERED] = true;\n\t\n\t\t\t\t\t\tvar html = view.renderTemplate(view.template);\n\t\t\t\t\t\tif (html) {\n\t\t\t\t\t\t\tview.$el.html(html);\n\t\t\t\t\t\t} else if (view.length) {\n\t\t\t\t\t\t\tview.$el.empty();\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\tview.each(function (view) {\n\t\t\t\t\t\t\tview[ADD_TO_CONTAINER]();\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction subscribeEvents(view) {\n\t\t\t\t\t\tvar isEventPropertyRe = /^(?!(?:delegate|undelegate|_))([a-zA-Z0-9]+)(?:Events)$/;\n\t\t\t\t\t\t_.each(_.allKeys(view), function (key) {\n\t\t\t\t\t\t\tvar matchKeys = key.match(isEventPropertyRe);\n\t\t\t\t\t\t\tif (!matchKeys) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvar bindings = _.result(view, key),\n\t\t\t\t\t\t\t entity = view.options[matchKeys[1]] || view[matchKeys[1]];\n\t\t\t\t\t\t\tif (!entity || !_.isObject(bindings) || !_.isFunction(entity.trigger)) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t_.each(bindings, function (callback, event) {\n\t\t\t\t\t\t\t\tvar callbacks = _.isFunction(callback) ? [callback] : _.reduce(callback.split(/\\s+/), function (arr, name) {\n\t\t\t\t\t\t\t\t\tif (_.isFunction(view[name])) {\n\t\t\t\t\t\t\t\t\t\tarr.push(view[name]);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn arr;\n\t\t\t\t\t\t\t\t}, []);\n\t\t\t\t\t\t\t\t_.each(callbacks, function (cb) {\n\t\t\t\t\t\t\t\t\tview.listenTo(entity, event, cb);\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}\n\t\n\t\t\t\t\t/**\n\t * A View operates on a string template, an token based template, or a model based template, with a few added hooks.\n\t * It provides a collection of child views, when a child view could be a View or another View.\n\t * Conceptually, if we were in a file system, the View is a folder, when the concrete child views are files,\n\t * and the child Views are sub folders.\n\t *\n\t * *Technically, when using a View as a container, it could have its own concrete logic,\n\t * but conceptually we like to keep it separated so a view is either a concrete view or a collection of child views.*\n\t *\n\t * In addition to the standard backbone options, we added `settings` and `state` as first class options.\n\t * it will automatically assign `options` to `this.options` as an instance member.\n\t *\n\t * See [Backbone.View](http://backbonejs.org/#View).\n\t *\n\t * @class src/framework/View\n\t * @extends external:Backbone.View\n\t * @param {Object} [options] options hash\n\t * @example\n\t * var DocumentView = Archer.View.extend({\n\t * template: [\n\t * '
',\n\t * '
',\n\t * ''\n\t * ].join(''),\n\t * children: [[HeaderView, 'header'], [ContentView, 'article'], [FooterView, 'footer']]\n\t * });\n\t */\n\t\t\t\t\tvar View = Backbone.View.extend( /** @lends src/framework/View.prototype */{\n\t\n\t\t\t\t\t\t/**\n\t * An object listing events and callback bind to this.{entity}\n\t * @name *Events\n\t * @memberof src/framework/View\n\t * @type {(Object|Function)}\n\t * @instance\n\t * @example\n\t * var FooView = View.extend({\n\t * modelEvents: {\n\t * 'change:name': 'render'\n\t * }\n\t * })\n\t * //equivalent to ==>\n\t * var FooView = View.extend({\n\t * initialize: function() {\n\t * this.listenTo(this.model, 'change:name', this.render);\n\t * }\n\t * });\n\t *\n\t *\n\t * //Multiple callbacks:\n\t * var FooView = View.extend({\n\t * modelEvents: {\n\t * 'change:name': 'render foo'\n\t * },\n\t * foo: function() {}\n\t * });\n\t *\n\t * //Callbacks As Function:\n\t * var FooView = View.extend({\n\t * stateEvents: {\n\t * 'change': function() {\n\t * }\n\t * });\n\t *\n\t * //Event Configuration As Function\n\t * var FooView = View.extend({\n\t * collectionEvents: function() {\n\t * var events = { 'change:name deleteItem': 'render' };\n\t * events['changeItem'] = 'spin';\n\t * events['addItem'] = function() {};\n\t * return events;\n\t * }\n\t * });\n\t */\n\t\n\t\t\t\t\t\tconstructor: function constructor(options) {\n\t\t\t\t\t\t\t/* eslint max-statements: [2, 17] */\n\t\t\t\t\t\t\tthis.options = options || {};\n\t\t\t\t\t\t\t_.extend(this, _.pick(this.options, 'state', 'settings'));\n\t\n\t\t\t\t\t\t\t// init per-instance children collection\n\t\t\t\t\t\t\tthis[CHILDREN] = [];\n\t\t\t\t\t\t\tthis[RENDERED] = false;\n\t\t\t\t\t\t\tthis[PARENT] = null;\n\t\t\t\t\t\t\tthis[CHILD_DEFINITIONS] = this.children;\n\t\n\t\t\t\t\t\t\t// we want to make sure initialize is triggered *after* we append the views from the `this.views` array\n\t\t\t\t\t\t\tvar initialize = this.initialize;\n\t\t\t\t\t\t\tthis.initialize = noop;\n\t\n\t\t\t\t\t\t\tBackbone.View.apply(this, arguments);\n\t\n\t\t\t\t\t\t\t_.each(_.result(this, CHILD_DEFINITIONS), function (childDefinition) {\n\t\t\t\t\t\t\t\tthis.add.apply(this, _.isArray(childDefinition) ? childDefinition : [childDefinition]);\n\t\t\t\t\t\t\t}, this);\n\t\t\t\t\t\t\tdelete this[CHILD_DEFINITIONS];\n\t\n\t\t\t\t\t\t\tif (this.autoRender && this.model) {\n\t\t\t\t\t\t\t\tvar event = _.isArray(this.autoRender) ? _.map(this.autoRender, function (field) {\n\t\t\t\t\t\t\t\t\treturn 'change:' + field;\n\t\t\t\t\t\t\t\t}).join(' ') : 'change';\n\t\t\t\t\t\t\t\tthis.listenTo(this.model, event, function () {\n\t\t\t\t\t\t\t\t\tthis.render();\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tthis.initialize = initialize;\n\t\t\t\t\t\t\tthis.initialize.apply(this, arguments);\n\t\t\t\t\t\t\tsubscribeEvents(this);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Unregister view from container\n\t * Note: this will not remove the view from the dom\n\t * and will not call the `remove` method on the view\n\t *\n\t * @param {src/framework/View} view the view to unregister\n\t * @private\n\t */\n\t\t\t\t\t\tunregister: function unregister(view) {\n\t\n\t\t\t\t\t\t\tthis.stopListening(view);\n\t\t\t\t\t\t\tvar viewIndex = getIndex(this, view);\n\t\t\t\t\t\t\t// viewIndex is undefined when the view is not found (may have been removed)\n\t\t\t\t\t\t\t// check if it is undefined to prevent unexpected thing to happen\n\t\t\t\t\t\t\t// array.splice(undefined, x) removes the first x element(s) from the array\n\t\t\t\t\t\t\t// this protects us against issues when calling `remove` on a child view multiple times\n\t\t\t\t\t\t\tif (_.isNumber(viewIndex)) {\n\t\t\t\t\t\t\t\tthis[CHILDREN].splice(viewIndex, 1);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Should we auto render the view upon model change. Boolean or array of field names to listen to.\n\t * @type {Boolean|Array}\n\t * @deprecated Instead, please use modelEvents\n\t * @example\n\t * modelEvents: {\n\t * change:name: 'render'\n\t * }\n\t */\n\t\t\t\t\t\tautoRender: false,\n\t\n\t\t\t\t\t\t/**\n\t *\n\t * When the template is an underscore template, the render method will pass the options has to the template\n\t * And the associated model, if exists, when it will prefer the model over the options in case of a conflict.\n\t * {@link #render View.render}\n\t * @type {(String|Function)}\n\t * @example\n\t * var View = View.extend({\n\t * template: '

{{name}}

'\n\t * };\n\t */\n\t\t\t\t\t\ttemplate: null,\n\t\n\t\t\t\t\t\t/**\n\t * A list of child view definitions to be passed to {@link #add this.add()}.\n\t * Note: these definitions will be added **before** the {@link #constructor initiliaze} method invokes.\n\t * @type {(Array|Function)}\n\t * @example\n\t * var Container = View.extend({\n\t * template: '

',\n\t * children: [\n\t * [ContentView, '.content'],\n\t * [OtherContentView, '.content'],\n\t * OtherView\n\t * ]\n\t * })\n\t *\n\t * var Container = View.extend({\n\t * template: '',\n\t * children: function () {\n\t * return [\n\t * [FormView, '.form-wrap', {options: {model: this.optiosn.otherModel}}]\n\t * ]\n\t * }\n\t * })\n\t */\n\t\t\t\t\t\tchildren: [],\n\t\n\t\t\t\t\t\t/**\n\t * Add a child view to the container.\n\t * If the container is already rendered, will also render the view and append it to the DOM.\n\t * Otherwise will render and append once the container is rendered.\n\t *\n\t * *We believe that for the sake of encapsulation, a view should control its own chilren, so we treat this method as\n\t * protected and even though technically you can call `view.add` externally we strongly discourage it.*\n\t *\n\t * @param {(src/framework/View|String)} view A class (or an instance which is discouraged) of a View - or an HTML\n\t * string/template\n\t * @param {String} [selector] selector in the view's template on which the view will be added to\n\t * @param {Object} [options]\n\t * @param {Boolean} [options.bubble=false] Bubble (proxy) events from this view up the chain\n\t * @param {Boolean} [options.prepend=false] Prepend the view instend of appending\n\t * @param {String} [options.selector] Selector in the view's template on which the view will be added to\n\t * @param {Object} [options.options] Extra options to pass to the child constructor\n\t * @protected\n\t * @returns {src/framework/View} - The instance of itself for the sake of chaining\n\t * @example\n\t * var Container = View.extend({\n\t *\n\t * template: [\n\t * '

',\n\t * '
',\n\t * ].join(''),\n\t *\n\t * initalize: function () {\n\t *\n\t * this.add(TitleView, 'h1'); // will be added to

\n\t *\n\t * this.add(ContentView1, 'section'); // will be added to
\n\t *\n\t * this.add(ContentView2, 'section', {prepend: true}); // will be add into
**before** ContentView1\n\t *\n\t * this.add(OtherView, {\n\t * options: {\n\t * model: new Model()\n\t * }\n\t * }); // will be added **after** the
element\n\t *\n\t * this.add('

some html

'); //=> \"

some html

\"\n\t * this.add('

{{name}}

'); //=> \"

John Doe

\"\n\t * this.add('{{name}}') //=> \"
John Doe
\"\n\t * this.add('{{name}} w00t') //=> \"
John Doe w00t
\"\n\t * }\n\t *\n\t * });\n\t *\n\t * var container - new View({name: 'John Doe'});\n\t */\n\t\t\t\t\t\tadd: function add(view, selector, bubble, prepend, extraOptions) {\n\t\t\t\t\t\t\t/* eslint max-statements: [2, 28], complexity: [2, 9] */\n\t\n\t\t\t\t\t\t\tvar options = {},\n\t\t\t\t\t\t\t args = _.toArray(arguments);\n\t\n\t\t\t\t\t\t\tif (_.isObject(selector)) {\n\t\t\t\t\t\t\t\toptions = selector;\n\t\t\t\t\t\t\t\tselector = options.selector;\n\t\t\t\t\t\t\t\tbubble = options.bubble;\n\t\t\t\t\t\t\t\tprepend = options.prepend;\n\t\t\t\t\t\t\t\textraOptions = options.options;\n\t\t\t\t\t\t\t} else if (_.isObject(bubble)) {\n\t\t\t\t\t\t\t\toptions = bubble;\n\t\t\t\t\t\t\t\tbubble = options.bubble;\n\t\t\t\t\t\t\t\tprepend = options.prepend;\n\t\t\t\t\t\t\t\textraOptions = options.options;\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tif (_.isString(view)) {\n\t\t\t\t\t\t\t\tview = function (template) {\n\t\t\t\t\t\t\t\t\treturn View.extend({\n\t\t\t\t\t\t\t\t\t\tconstructor: function constructor() {\n\t\t\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\t\t\tvar $el = Backbone.$(template);\n\t\n\t\t\t\t\t\t\t\t\t\t\t\tif ($el.length != 1) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tthrow 'invalid Element';\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t\t\t\t\t\tvar unescapingRexExp = /&(\\w+|#x\\d+);/g;\n\t\t\t\t\t\t\t\t\t\t\t\tvar elementUnescapedOuterHTMLLength = $el.prop('outerHTML').replace(unescapingRexExp, ' ').length;\n\t\t\t\t\t\t\t\t\t\t\t\tvar templateUnescapedLength = template.replace(unescapingRexExp, ' ').length;\n\t\n\t\t\t\t\t\t\t\t\t\t\t\tif (elementUnescapedOuterHTMLLength !== templateUnescapedLength) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tthrow 'invalid Element';\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t\t\t\t\t\tthis.template = $el.html();\n\t\t\t\t\t\t\t\t\t\t\t\tthis.el = $el.empty()[0];\n\t\t\t\t\t\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t\t\t\t\t\t// not a valid html tag.\n\t\t\t\t\t\t\t\t\t\t\t\tthis.template = template;\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tView.apply(this, arguments);\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}(view);\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tif (view.prototype && view.prototype instanceof View) {\n\t\t\t\t\t\t\t\t/* eslint new-cap: 0 */\n\t\t\t\t\t\t\t\tvar viewOptions = _.omit(_.extend({}, this.options, extraOptions), 'el');\n\t\t\t\t\t\t\t\targs[0] = new view(viewOptions);\n\t\t\t\t\t\t\t\treturn this.add.apply(this, args);\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t// prevent dups\n\t\t\t\t\t\t\tif (_.isNumber(getIndex(this, view))) {\n\t\t\t\t\t\t\t\tthrow new Error('Duplicate child');\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tview[PARENT] = this;\n\t\n\t\t\t\t\t\t\t// make the view responsible for adding itself to the parent:\n\t\t\t\t\t\t\t// * register the selector in the closure\n\t\t\t\t\t\t\t// * register a reference the parent in the closure\n\t\t\t\t\t\t\tview[ADD_TO_CONTAINER] = function (selector) {\n\t\t\t\t\t\t\t\treturn function () {\n\t\t\t\t\t\t\t\t\tif (selector && view[PARENT].$(selector).length != 1) {\n\t\t\t\t\t\t\t\t\t\tthrow new Error('Invalid selector: ' + selector);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tvar $el = selector ? this[PARENT].$(selector) : this[PARENT].$el;\n\t\t\t\t\t\t\t\t\tthis.render();\n\t\t\t\t\t\t\t\t\t// we need to delegate events in case\n\t\t\t\t\t\t\t\t\t// the view was added and removed before\n\t\t\t\t\t\t\t\t\tthis.delegateEvents();\n\t\n\t\t\t\t\t\t\t\t\t// this[PARENT].at(index).$el.before(this.el);\n\t\t\t\t\t\t\t\t\tprepend ? $el.prepend(this.el) : $el.append(this.el);\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t}.call(view, selector);\n\t\n\t\t\t\t\t\t\t// if flag to bubble events is set\n\t\t\t\t\t\t\t// proxy all child view events\n\t\t\t\t\t\t\tif (bubble) {\n\t\t\t\t\t\t\t\tthis.listenTo(view, 'all', function () {\n\t\t\t\t\t\t\t\t\tthis.trigger.apply(this, arguments);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t// add to the dom if `render` has been called\n\t\t\t\t\t\t\tif (this.rendered()) {\n\t\t\t\t\t\t\t\tview[ADD_TO_CONTAINER]();\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t// add view to child views collection\n\t\t\t\t\t\t\tthis[CHILDREN].push(view);\n\t\n\t\t\t\t\t\t\treturn this;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Remove all children from container\n\t */\n\t\t\t\t\t\tremoveChildren: function removeChildren() {\n\t\t\t\t\t\t\tthis.each(function (view) {\n\t\t\t\t\t\t\t\tview.remove();\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\treturn this;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Removes a view from the DOM, and calls stopListening to remove any bound events that the view has listenTo'd.\n\t * Also removes all childern of the view if any, and removes itself from its parent view(s)\n\t */\n\t\t\t\t\t\tremove: function remove() {\n\t\t\t\t\t\t\tthis.removeChildren();\n\t\t\t\t\t\t\tif (this[PARENT]) {\n\t\t\t\t\t\t\t\tthis[PARENT].unregister(this);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn Backbone.View.prototype.remove.apply(this, arguments);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Compile the template to function you can apply tokens on on render time.\n\t * Uses the underscore tempalting engine by default\n\t * @protected\n\t * @param {String} template\n\t * @return {Function} a compiled template\n\t */\n\t\t\t\t\t\tcompileTemplate: function compileTemplate(template) {\n\t\t\t\t\t\t\t/* eslint @okta/okta/no-specific-methods: 0*/\n\t\t\t\t\t\t\treturn _.template(template);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Render a template with `this.model` and `this.options` as parameters\n\t * preferring the model over the options.\n\t *\n\t * @param {(String|Function)} template The template to build\n\t * @return {String} An HTML string\n\t * @protected\n\t */\n\t\t\t\t\t\trenderTemplate: function renderTemplate(template) {\n\t\t\t\t\t\t\tif (_.isString(template)) {\n\t\t\t\t\t\t\t\ttemplate = this.compileTemplate(template);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (_.isFunction(template)) {\n\t\t\t\t\t\t\t\treturn template(this.getTemplateData());\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * The data hash passed to the compiled template\n\t * @return {Object}\n\t * @protected\n\t */\n\t\t\t\t\t\tgetTemplateData: function getTemplateData() {\n\t\t\t\t\t\t\tvar modelData = this.model && this.model.toJSON({ verbose: true }) || {};\n\t\t\t\t\t\t\tvar options = _.omit(this.options, ['state', 'settings', 'model', 'collection']);\n\t\t\t\t\t\t\treturn _.defaults({}, modelData, options);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Renders the template to `$el` and append all children in order\n\t * {@link #template View.template}\n\t */\n\t\t\t\t\t\trender: function render() {\n\t\t\t\t\t\t\tthis.preRender();\n\t\t\t\t\t\t\tdoRender(this);\n\t\t\t\t\t\t\tthis.postRender();\n\t\t\t\t\t\t\treturn this;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Pre render routine. Will be called right *before* the logic in {@link #render} is executed\n\t * @method\n\t */\n\t\t\t\t\t\tpreRender: noop,\n\t\n\t\t\t\t\t\t/**\n\t * Post render routine. Will be called right *after* the logic in {@link #render} is executed\n\t * @method\n\t */\n\t\t\t\t\t\tpostRender: noop,\n\t\n\t\t\t\t\t\t/**\n\t * Was this instance rendered\n\t */\n\t\t\t\t\t\trendered: function rendered() {\n\t\t\t\t\t\t\treturn this[RENDERED];\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Get all direct child views.\n\t * @returns {src/framework/View[]}\n\t * @example\n\t * var container = View.extend({\n\t * children: [View1, View2]\n\t * }).render();\n\t * container.getChildren() //=> [view1, view2];\n\t */\n\t\t\t\t\t\tgetChildren: function getChildren() {\n\t\t\t\t\t\t\treturn this.toArray();\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Get a child by index\n\t * @param {number} index\n\t * @returns {src/framework/View} The child view\n\t */\n\t\t\t\t\t\tat: function at(index) {\n\t\t\t\t\t\t\treturn this.getChildren()[index];\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Invokes a method on all children down the tree\n\t *\n\t * @param {String} method The method to invoke\n\t */\n\t\t\t\t\t\tinvoke: function invoke(methodName) {\n\t\t\t\t\t\t\tvar args = _.toArray(arguments);\n\t\t\t\t\t\t\tthis.each(function (child) {\n\t\t\t\t\t\t\t\t// if child has children, bubble down the tree\n\t\t\t\t\t\t\t\tif (child.size()) {\n\t\t\t\t\t\t\t\t\tchild.invoke.apply(child, args);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// run the function on the child\n\t\t\t\t\t\t\t\tif (_.isFunction(child[methodName])) {\n\t\t\t\t\t\t\t\t\tchild[methodName].apply(child, args.slice(1));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\treturn this;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\n\t\t\t\t\t// Code borrowed from Backbone.js source\n\t\t\t\t\t// Underscore methods that we want to implement on the Container.\n\t\t\t\t\tvar 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\t\n\t\t\t\t\t_.each(methods, function (method) {\n\t\t\t\t\t\tView.prototype[method] = function () {\n\t\t\t\t\t\t\tvar args = _.toArray(arguments);\n\t\t\t\t\t\t\targs.unshift(_.toArray(this[CHILDREN]));\n\t\t\t\t\t\t\treturn _[method].apply(_, args);\n\t\t\t\t\t\t};\n\t\t\t\t\t}, this);\n\t\n\t\t\t\t\t/**\n\t * See [_.each](http://underscorejs.org/#each)\n\t * @name each\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t * @param {Function} iterator\n\t * @param {Object} [context]\n\t */\n\t\t\t\t\t/**\n\t * See [_.map](http://underscorejs.org/#map)\n\t * @name map\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t * @param {Function} iterator\n\t * @param {Object} [context]\n\t */\n\t\t\t\t\t/**\n\t * See [_.reduce](http://underscorejs.org/#reduce)\n\t * @name reduce\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t * @param {Function} iterator\n\t * @param {Mixed} memo\n\t * @param {Object} [context]\n\t */\n\t\n\t\t\t\t\t/**\n\t * See [_.reduceRight](http://underscorejs.org/#reduceRight)\n\t * @name reduceRight\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t * @param {Function} iterator\n\t * @param {Mixed} memo\n\t * @param {Object} [context]\n\t */\n\t\t\t\t\t/**\n\t * See [_.find](http://underscorejs.org/#find)\n\t * @name find\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t * @param {Function} predicate\n\t * @param {Object} [context]\n\t */\n\t\t\t\t\t/**\n\t * See [_.filter](http://underscorejs.org/#filter)\n\t * @name filter\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t * @param {Function} predicate\n\t * @param {Object} [context]\n\t */\n\t\t\t\t\t/**\n\t * See [_.reject](http://underscorejs.org/#reject)\n\t * @name reject\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t * @param {Function} predicate\n\t * @param {Object} [context]\n\t */\n\t\t\t\t\t/**\n\t * See [_.every](http://underscorejs.org/#every)\n\t * @name every\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t * @param {Function} [predicate]\n\t * @param {Object} [context]\n\t */\n\t\t\t\t\t/**\n\t * See [_.some](http://underscorejs.org/#some)\n\t * @name some\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t * @param {Function} [predicate]\n\t * @param {Object} [context]\n\t */\n\t\t\t\t\t/**\n\t * See [_.contains](http://underscorejs.org/#contains)\n\t * @name contains\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t * @param {Mixed} value\n\t */\n\t\t\t\t\t/**\n\t * See [_.toArray](http://underscorejs.org/#toArray)\n\t * @name toArray\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t */\n\t\t\t\t\t/**\n\t * See [_.size](http://underscorejs.org/#size)\n\t * @name size\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t */\n\t\t\t\t\t/**\n\t * See [_.first](http://underscorejs.org/#first)\n\t * @name first\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t * @param {Number} [n]\n\t */\n\t\t\t\t\t/**\n\t * See [_.initial](http://underscorejs.org/#initial)\n\t * @name initial\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t * @param {Number} [n]\n\t */\n\t\t\t\t\t/**\n\t * See [_.last](http://underscorejs.org/#last)\n\t * @name last\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t * @param {Number} [n]\n\t */\n\t\t\t\t\t/**\n\t * See [_.rest](http://underscorejs.org/#rest)\n\t * @name rest\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t * @param {Number} [index]\n\t */\n\t\t\t\t\t/**\n\t * See [_.without](http://underscorejs.org/#without)\n\t * @name without\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t */\n\t\t\t\t\t/**\n\t * See [_.indexOf](http://underscorejs.org/#indexOf)\n\t * @name indexOf\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t * @param {Mixed} value\n\t * @param {Boolean} [isSorted]\n\t */\n\t\t\t\t\t/**\n\t * See [_.shuffle](http://underscorejs.org/#shuffle)\n\t * @name shuffle\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t */\n\t\t\t\t\t/**\n\t * See [_.shuffle](http://underscorejs.org/#lastIndexOf)\n\t * @name lastIndexOf\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t * @param {Mixed} value\n\t * @param {Number} [fromIndex]\n\t */\n\t\t\t\t\t/**\n\t * See [_.isEmpty](http://underscorejs.org/#isEmpty)\n\t * @name isEmpty\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t */\n\t\t\t\t\t/**\n\t * See [_.chain](http://underscorejs.org/#chain)\n\t * @name chain\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t */\n\t\t\t\t\t/**\n\t * See [_.where](http://underscorejs.org/#where)\n\t * @name where\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t * @param {Object} properties\n\t */\n\t\t\t\t\t/**\n\t * See [_.findWhere](http://underscorejs.org/#findWhere)\n\t * @name findWhere\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t * @param {Object} properties\n\t */\n\t\n\t\t\t\t\treturn View;\n\t\t\t\t});\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 30 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_) {\n\t\n\t\t\t\t\tfunction changeEventString(doWhen) {\n\t\t\t\t\t\treturn 'change:' + _.keys(doWhen).join(' change:');\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction calcDoWhen(value, key) {\n\t\t\t\t\t\tvar modelValue = this.model.get(key);\n\t\t\t\t\t\tif (_.isFunction(value)) {\n\t\t\t\t\t\t\treturn value.call(this, modelValue);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn value == modelValue;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction _doWhen(view, doWhen, fn) {\n\t\t\t\t\t\tvar toggle = _.bind(fn, view, view, doWhen);\n\t\n\t\t\t\t\t\tview.render = _.wrap(view.render, function (render) {\n\t\t\t\t\t\t\tvar val = render.call(view);\n\t\t\t\t\t\t\ttoggle({ animate: false });\n\t\t\t\t\t\t\treturn val;\n\t\t\t\t\t\t});\n\t\n\t\t\t\t\t\tview.listenTo(view.model, changeEventString(doWhen), function () {\n\t\t\t\t\t\t\ttoggle({ animate: true });\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\n\t\t\t\t\treturn {\n\t\t\t\t\t\tapplyDoWhen: function applyDoWhen(view, doWhen, fn) {\n\t\t\t\t\t\t\tif (!(view.model && _.isObject(doWhen) && _.size(doWhen) && _.isFunction(fn))) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t_doWhen(view, doWhen, function (view, doWhen, options) {\n\t\t\t\t\t\t\t\tvar result = _.every(_.map(doWhen, calcDoWhen, view));\n\t\t\t\t\t\t\t\tfn.call(view, result, options);\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}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 31 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; /* eslint max-len: [2, 150], max-params: [2, 7] */\n\t\t\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(8), __webpack_require__(3), __webpack_require__(6), __webpack_require__(32), __webpack_require__(17), __webpack_require__(33), __webpack_require__(34)], __WEBPACK_AMD_DEFINE_RESULT__ = function ($, _, Backbone, SettingsModel, Logger, Notification, ConfirmationDialog) {\n\t\n\t\t\t\t\tfunction getRoute(router, route) {\n\t\t\t\t\t\tvar root = _.result(router, 'root') || '';\n\t\t\t\t\t\tif (root && _.isString(route)) {\n\t\t\t\t\t\t\treturn [root, route].join('/').replace(/\\/{2,}/g, '/');\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn route;\n\t\t\t\t\t}\n\t\n\t\t\t\t\t/**\n\t * BaseRouter is a standard [Backbone.Router](http://backbonejs.org/#Router)\n\t * with a few additions:\n\t * - Explicit mapping between routes and controllers\n\t * - Support for rendering notification and confirmation dialogs\n\t *\n\t * Checkout the [Hello World Tutorial](https://github.com/okta/courage/wiki/Hello-World)\n\t * for a step-by-step guide to using this.\n\t *\n\t * @class module:Okta.Router\n\t * @extends external:Backbone.Router\n\t * @param {Object} options options hash\n\t * @param {String} options.el a jQuery selector string stating where to attach the controller in the DOM\n\t */\n\t\t\t\t\treturn Backbone.Router.extend( /** @lends module:Okta.Router.prototype */{\n\t\n\t\t\t\t\t\t/**\n\t * The root URL for the router. When setting {@link http://backbonejs.org/#Router-routes|routes},\n\t * it will be prepended to each route.\n\t * @type {String|Function}\n\t */\n\t\t\t\t\t\troot: '',\n\t\n\t\t\t\t\t\tlisten: Notification.prototype.listen,\n\t\n\t\t\t\t\t\tconstructor: function constructor(options) {\n\t\t\t\t\t\t\toptions || (options = {});\n\t\t\t\t\t\t\tthis.el = options.el;\n\t\t\t\t\t\t\tthis.settings = new SettingsModel(_.omit(options, 'el'));\n\t\t\t\t\t\t\tif (options.root) {\n\t\t\t\t\t\t\t\tthis.root = options.root;\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tBackbone.Router.apply(this, arguments);\n\t\n\t\t\t\t\t\t\tthis.listen('notification', this._notify);\n\t\t\t\t\t\t\tthis.listen('confirmation', this._confirm);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Fires up a confirmation dialog\n\t *\n\t * @param {Object} options Options Hash\n\t * @param {String} options.title The title\n\t * @param {String} options.subtitle The explain text\n\t * @param {String} options.save The text for the save button\n\t * @param {Function} options.ok The callback function to run when hitting \"OK\"\n\t * @param {String} options.cancel The text for the cancel button\n\t * @param {Function} options.cancelFn The callback function to run when hitting \"Cancel\"\n\t * @param {Boolean} options.noCancelButton Don't render the cancel button (useful for alert dialogs)\n\t *\n\t * @private\n\t *\n\t * @return {Okta.View} the dialog view\n\t */\n\t\t\t\t\t\t_confirm: function _confirm(options) {\n\t\t\t\t\t\t\toptions || (options = {});\n\t\t\t\t\t\t\tvar Dialog = ConfirmationDialog.extend(_.pick(options, 'title', 'subtitle', 'save', 'ok', 'cancel', 'cancelFn', 'noCancelButton', 'content', 'danger'));\n\t\t\t\t\t\t\t// The model is here because itsa part of the BaseForm paradigm.\n\t\t\t\t\t\t\t// It will be ignored in the context of a confirmation dialog.\n\t\t\t\t\t\t\tvar dialog = new Dialog({ model: this.settings });\n\t\t\t\t\t\t\tdialog.render();\n\t\t\t\t\t\t\treturn dialog; // test hook\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Fires up a notification banner\n\t *\n\t * @param {Object} options Options Hash\n\t * @return {Okta.View} the notification view\n\t * @private\n\t */\n\t\t\t\t\t\t_notify: function _notify(options) {\n\t\t\t\t\t\t\tvar notification = new Notification(options);\n\t\t\t\t\t\t\t$('#content').prepend(notification.render().el);\n\t\t\t\t\t\t\treturn notification; // test hook\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Renders a Controller\n\t * This will initialize new instance of a controller and call render on it\n\t *\n\t * @param {Okta.Controller} Controller The controller Class we which to render\n\t * @param {Object} [options] Extra options to the controller constructor\n\t */\n\t\t\t\t\t\trender: function render(Controller, options) {\n\t\t\t\t\t\t\tthis.unload();\n\t\t\t\t\t\t\toptions = _.extend(_.pick(this, 'settings', 'el'), options || {});\n\t\t\t\t\t\t\tthis.controller = new Controller(options);\n\t\t\t\t\t\t\tthis.controller.render();\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Starts the backbone history object\n\t *\n\t * Waits for the dom to be ready before calling `Backbone.history.start()` (IE issue).\n\t *\n\t * See [Backbone History](http://backbonejs.org/#History) for more information.\n\t */\n\t\t\t\t\t\tstart: function start() {\n\t\t\t\t\t\t\tvar args = arguments;\n\t\t\t\t\t\t\t$(function () {\n\t\t\t\t\t\t\t\tif (Backbone.History.started) {\n\t\t\t\t\t\t\t\t\tLogger.error('History has already been started');\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tBackbone.history.start.apply(Backbone.history, args);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Removes active controller and frees up event listeners\n\t */\n\t\t\t\t\t\tunload: function unload() {\n\t\t\t\t\t\t\tif (this.controller) {\n\t\t\t\t\t\t\t\tthis.stopListening(this.controller);\n\t\t\t\t\t\t\t\tthis.stopListening(this.controller.state);\n\t\t\t\t\t\t\t\tthis.controller.remove();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\troute: function route(_route, name, callback) {\n\t\t\t\t\t\t\treturn Backbone.Router.prototype.route.call(this, getRoute(this, _route), name, callback);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tnavigate: function navigate(fragment, options) {\n\t\t\t\t\t\t\treturn Backbone.Router.prototype.navigate.call(this, getRoute(this, fragment), options);\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t});\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 32 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(15)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, Model) {\n\t\n\t\t\t\t\t/**\n\t * @class SettingsModel\n\t * @extends {Okta.Model}\n\t * @private\n\t */\n\t\n\t\t\t\t\treturn Model.extend({\n\t\t\t\t\t\tlocal: function local() {\n\t\t\t\t\t\t\tvar settings = window.okta && window.okta.settings || {};\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\torgId: ['string', false, settings.orgId],\n\t\t\t\t\t\t\t\torgName: ['string', false, settings.orgName],\n\t\t\t\t\t\t\t\tserverStatus: ['string', false, settings.serverStatus],\n\t\t\t\t\t\t\t\tpersona: ['string', false, settings.persona],\n\t\t\t\t\t\t\t\tisDeveloperConsole: ['boolean', false, settings.isDeveloperConsole],\n\t\t\t\t\t\t\t\tisPreview: ['boolean', false, settings.isPreview],\n\t\t\t\t\t\t\t\tpermissions: ['array', true, settings.permissions || []]\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\textraProperties: true,\n\t\n\t\t\t\t\t\tconstructor: function constructor() {\n\t\t\t\t\t\t\tthis.features = window._features || [];\n\t\t\t\t\t\t\tModel.apply(this, arguments);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Checks if the user have a feature flag enabled (Based of the org level feature flag)\n\t * @param {String} feature Feature name\n\t * @return {Boolean}\n\t */\n\t\t\t\t\t\thasFeature: function hasFeature(feature) {\n\t\t\t\t\t\t\tif (this.features.length === 0 && window.okta && window.okta.logHasFeatureError) {\n\t\t\t\t\t\t\t\twindow.okta.logHasFeatureError(feature);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn _.contains(this.features, feature);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Checks if any of the given feature flags are enabled (Based of the org level feature flags)\n\t * @param {Array} featureArray Features names\n\t * @return {Boolean} true if any of the give features are enabled. False otherwise\n\t */\n\t\t\t\t\t\thasAnyFeature: function hasAnyFeature(featureArray) {\n\t\t\t\t\t\t\treturn _.some(featureArray, this.hasFeature, this);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Checks if the user have a specific permission (based on data passed from JSP)\n\t * @param {String} permission Permission name\n\t * @return {Boolean}\n\t */\n\t\t\t\t\t\thasPermission: function hasPermission(permission) {\n\t\t\t\t\t\t\treturn _.contains(this.get('permissions'), permission);\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t});\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 33 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(8), __webpack_require__(3), __webpack_require__(28)], __WEBPACK_AMD_DEFINE_RESULT__ = function ($, _, BaseView) {\n\t\n\t\t\t\t\tvar defaults = {\n\t\t\t\t\t\tlevel: 'success',\n\t\t\t\t\t\tmessage: 'Great Success!',\n\t\t\t\t\t\thide: true,\n\t\t\t\t\t\tfade: 400,\n\t\t\t\t\t\tdelay: 3000,\n\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\tdismissable: false\n\t\t\t\t\t};\n\t\n\t\t\t\t\treturn BaseView.extend({\n\t\n\t\t\t\t\t\tclassName: 'infobox infobox-confirm infobox-confirm-fixed',\n\t\n\t\t\t\t\t\tevents: {\n\t\t\t\t\t\t\t'click .infobox-dismiss-link': function clickInfoboxDismissLink(e) {\n\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\tthis.fadeOut();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\ttemplate: '\\\n\t\t {{#if dismissable}}\\\n\t\t \\\n\t\t \\\n\t\t \\\n\t\t {{/if}}\\\n\t\t \\\n\t\t {{#if title}}

{{title}}

{{/if}}\\\n\t\t

{{message}}

\\\n\t\t ',\n\t\n\t\t\t\t\t\tinitialize: function initialize() {\n\t\t\t\t\t\t\tthis.options = _.defaults({}, this.options, defaults);\n\t\t\t\t\t\t\tthis.$el.addClass('infobox-' + this.options.level);\n\t\t\t\t\t\t\tif (this.options.width) {\n\t\t\t\t\t\t\t\tthis.$el.width(this.options.width).css({\n\t\t\t\t\t\t\t\t\t'margin-left': '0px',\n\t\t\t\t\t\t\t\t\t'left': Math.round(($(window).width() - this.options.width) / 2)\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\n\t\t\t\t\t\tgetTemplateData: function getTemplateData() {\n\t\t\t\t\t\t\treturn _.extend(_.pick(this.options, 'level', 'message', 'title'), {\n\t\t\t\t\t\t\t\tdismissable: this.options.hide === false || this.options.dismissable === true\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tpostRender: function postRender() {\n\t\t\t\t\t\t\tif (this.options.hide) {\n\t\t\t\t\t\t\t\t_.delay(_.bind(this.fadeOut, this), this.options.delay);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tfadeOut: function fadeOut() {\n\t\t\t\t\t\t\tthis.$el.fadeOut(this.options.fade, _.bind(this.remove, this));\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t});\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 34 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(35)], __WEBPACK_AMD_DEFINE_RESULT__ = function (BaseFormDialog) {\n\t\n\t\t\t\t\treturn BaseFormDialog.extend({\n\t\n\t\t\t\t\t\t'save': 'OK',\n\t\n\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\tminWidth: 500,\n\t\t\t\t\t\t\tmaxWidth: 700,\n\t\t\t\t\t\t\tclose: true\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tconstructor: function constructor() {\n\t\t\t\t\t\t\tBaseFormDialog.apply(this, arguments);\n\t\n\t\t\t\t\t\t\tif (this.content) {\n\t\t\t\t\t\t\t\tthis.add(this.content);\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tthis.listenTo(this, 'save', function () {\n\t\t\t\t\t\t\t\tvar callback = this.ok || this.options.ok;\n\t\t\t\t\t\t\t\tcallback && callback();\n\t\t\t\t\t\t\t\tthis.remove();\n\t\t\t\t\t\t\t});\n\t\n\t\t\t\t\t\t\tthis.listenTo(this, 'cancel', function () {\n\t\t\t\t\t\t\t\tvar callback = this.cancelFn || this.options.cancelFn;\n\t\t\t\t\t\t\t\tcallback && callback();\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t});\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 35 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(8), __webpack_require__(3), __webpack_require__(28), __webpack_require__(36), __webpack_require__(37)], __WEBPACK_AMD_DEFINE_RESULT__ = function ($, _, BaseView, BaseModalDialog, BaseForm) {\n\t\n\t\t\t\t\tvar FORM_FIELDS = ['save', 'noCancelButton', 'inputs', 'subtitle', 'autoSave', 'focus', 'cancel', 'danger', 'hasSavingState', 'customSavingState', 'parseErrorMessage'];\n\t\t\t\t\tvar FORM_DEFAULTS = {\n\t\t\t\t\t\tlayout: 'o-form-wrap',\n\t\t\t\t\t\tscrollOnError: false\n\t\t\t\t\t};\n\t\n\t\t\t\t\t// jquery.simplemodoal options\n\t\t\t\t\tvar SIMPLE_MODAL_PARAMS = {\n\t\t\t\t\t\tminWidth: 600,\n\t\t\t\t\t\tmaxWidth: 950,\n\t\t\t\t\t\tfocus: false,\n\t\t\t\t\t\tclose: false,\n\t\t\t\t\t\tautoResize: false, // (use the resizeModal method, so that the scrolling goes to content, not the whole modal)\n\t\t\t\t\t\tautoPosition: true\n\t\t\t\t\t};\n\t\n\t\t\t\t\t/**\n\t * Okta.FormDialog is a facade layer for a form that lives in a modal dialog.\n\t *\n\t * The API is proxying the {@link module:Okta.Form|Form} API for the most part.\n\t * It also triggers all the form events\n\t * It takes care of repositioning, resizing, closing the dialog on cancel, and so on.\n\t *\n\t * @class module:Okta.FormDialog\n\t * @extends module:Okta.View\n\t * @borrows module:Okta.Form#event:save as save\n\t * @borrows module:Okta.Form#event:saved as saved\n\t * @borrows module:Okta.Form#event:resize as resize\n\t * @borrows module:Okta.Form#event:cancel as cancel\n\t * @borrows module:Okta.Form#title as #title\n\t * @borrows module:Okta.Form#subtitle as #subtitle\n\t * @borrows module:Okta.Form#save as #save\n\t * @borrows module:Okta.Form#inputs as #inputs\n\t * @borrows module:Okta.Form#noCancelButton as #noCancelButton\n\t * @borrows module:Okta.Form#autoSave as #autoSave\n\t * @borrows module:Okta.ModalDialog#params as #params\n\t * @borrows module:Okta.Form#addInput as #addInput\n\t * @borrows module:Okta.Form#addButton as #addButton\n\t * @borrows module:Okta.Form#addDivider as #addDivider\n\t * @borrows module:Okta.Form#addSectionTitle as #addSectionTitle\n\t * @borrows module:Okta.Form#clearErrors as #clearErrors\n\t * @example\n\t * var AddUserDialog = Okta.FormDialog({\n\t * autoSave: true,\n\t * title: 'Add a User',\n\t * inputs: [\n\t * {\n\t * type: 'text',\n\t * name: 'fname',\n\t * label: 'First Name'\n\t * },\n\t * {\n\t * type: 'text',\n\t * name: 'lname',\n\t * label: 'Last Name'\n\t * }\n\t * ]\n\t * });\n\t *\n\t * // renders the modal dialog on the page\n\t * var dialog = new AddUserDialog({model: new MyModel()}).render();\n\t * this.listenTo(dialog, 'saved', function (model) {\n\t * // the model is now saved\n\t * });\n\t */\n\t\t\t\t\treturn BaseView.extend( /** @lends module:Okta.FormDialog.prototype */{\n\t\n\t\t\t\t\t\tconstructor: function constructor(options) {\n\t\t\t\t\t\t\t/* eslint max-statements: [2, 13] */\n\t\n\t\t\t\t\t\t\tvar Form = BaseForm.extend(_.extend({}, FORM_DEFAULTS, _.pick(this, FORM_FIELDS)));\n\t\t\t\t\t\t\tthis.form = new Form(_.omit(options, 'title', 'subtitle'));\n\t\n\t\t\t\t\t\t\tthis.listenTo(this.form, 'resize', _.debounce(_.bind(this.resizeModal, this), 100));\n\t\n\t\t\t\t\t\t\t// trigger all form events\n\t\t\t\t\t\t\tvar removeFn = _.bind(this.remove, this);\n\t\t\t\t\t\t\tthis.listenTo(this.form, 'all', function () {\n\t\t\t\t\t\t\t\tthis.trigger.apply(this, arguments);\n\t\t\t\t\t\t\t\tif (arguments[0] === 'cancel') {\n\t\t\t\t\t\t\t\t\tremoveFn();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\n\t\t\t\t\t\t\t$(window).resize(_.debounce(_.bind(this.resizeModal, this), 100));\n\t\n\t\t\t\t\t\t\tvar Dialog = BaseModalDialog.extend({\n\t\t\t\t\t\t\t\ttitle: this.title,\n\t\t\t\t\t\t\t\tclassName: this.className,\n\t\t\t\t\t\t\t\tparams: _.extend({}, SIMPLE_MODAL_PARAMS, this.params)\n\t\t\t\t\t\t\t});\n\t\n\t\t\t\t\t\t\tthis.dialog = new Dialog(options);\n\t\t\t\t\t\t\tthis.dialog.add(this.form);\n\t\t\t\t\t\t\tthis.el = this.dialog.el;\n\t\n\t\t\t\t\t\t\tBaseView.apply(this, arguments);\n\t\n\t\t\t\t\t\t\tif (this.form.getAttribute('autoSave')) {\n\t\t\t\t\t\t\t\tthis.listenTo(this, 'saved', this.remove);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * The form instance generated by the constructor.\n\t * Should **not** be referenced locally, exposed externally for test purposes.\n\t * @type {Okta.Form}\n\t * @private\n\t * @readonly\n\t */\n\t\t\t\t\t\tform: undefined,\n\t\n\t\t\t\t\t\t/**\n\t * The dialog instance generated by the constructor.\n\t * Should **not** be referenced locally, exposed externally for test purposes.\n\t * @type {Okta.ModalDialog}\n\t * @private\n\t * @readonly\n\t */\n\t\t\t\t\t\tdialog: undefined,\n\t\n\t\t\t\t\t\taddInput: function addInput() {\n\t\t\t\t\t\t\treturn this.form.addInput.apply(this.form, arguments);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\taddButton: function addButton() {\n\t\t\t\t\t\t\treturn this.form.addButton.apply(this.form, arguments);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\taddDivider: function addDivider() {\n\t\t\t\t\t\t\treturn this.form.addDivider.apply(this.form, arguments);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\taddSectionTitle: function addSectionTitle() {\n\t\t\t\t\t\t\treturn this.form.addSectionTitle.apply(this.form, arguments);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tadd: function add() {\n\t\t\t\t\t\t\treturn this.form.add.apply(this.form, arguments);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\trender: function render() {\n\t\t\t\t\t\t\tthis.preRender();\n\t\t\t\t\t\t\tthis.dialog.render.apply(this.dialog, arguments);\n\t\t\t\t\t\t\t_.defer(_.bind(this.resizeModal, this));\n\t\t\t\t\t\t\tthis.postRender();\n\t\t\t\t\t\t\treturn this;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tremove: function remove() {\n\t\t\t\t\t\t\tthis.dialog.remove.apply(this.dialog, arguments);\n\t\t\t\t\t\t\treturn BaseView.prototype.remove.apply(this, arguments);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Resize modal to fit window height\n\t * the whole modal will be within the viewport, only the form content is scrollable\n\t * there's no good solution to totally fix the width issue yet for tiny window,\n\t * leave it for jquery simplemodal autoResize to do its best\n\t */\n\t\t\t\t\t\tresizeModal: function resizeModal() {\n\t\t\t\t\t\t\tvar modal = $('.simplemodal-wrap'),\n\t\t\t\t\t\t\t form = this.form,\n\t\t\t\t\t\t\t modalHeight = modal.height(),\n\t\t\t\t\t\t\t modalMinHeight = _.isNumber(this.dialog.params.minHeight) ? this.dialog.params.minHeight : 0,\n\t\t\t\t\t\t\t windowHeight = $(window).height();\n\t\t\t\t\t\t\tif (modalMinHeight <= modalHeight) {\n\t\t\t\t\t\t\t\tif (modalHeight >= windowHeight) {\n\t\t\t\t\t\t\t\t\tform.contentHeight(windowHeight - this.dialog.$('h2').outerHeight() - form.$('.o-form-button-bar').outerHeight() - (modal.outerHeight(true) - form.$el.outerHeight(true)));\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tform.contentHeight(form.contentHeight() + (windowHeight - modal.outerHeight()));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tthis.dialog.resize.apply(this.dialog, arguments);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tclearErrors: function clearErrors() {\n\t\t\t\t\t\t\treturn this.form.clearErrors.apply(this.form, arguments);\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t});\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 36 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(8), __webpack_require__(3), __webpack_require__(25), __webpack_require__(28), __webpack_require__(12)], __WEBPACK_AMD_DEFINE_RESULT__ = function ($, _, TemplateUtil, BaseView) {\n\t\n\t\t\t\t\tvar tpl = TemplateUtil.tpl;\n\t\n\t\t\t\t\t/**\n\t * A view that renders as a modal dialog.\n\t * The template of the view will render inside a dialog.\n\t *\n\t * It uses [SimpleModal](http://www.ericmmartin.com/projects/simplemodal) as the base modal widget.\n\t *\n\t * In the context of a {@link module:Okta.View|View}, do not `add` this view to the container - simply call render\n\t * A modal dialog is a special view in terms of - it has an overlay and takes over the screen, so conceptually\n\t * it is not a part of any other view.\n\t *\n\t * @class module:Okta.ModalDialog\n\t * @extends module:Okta.View\n\t */\n\t\t\t\t\treturn BaseView.extend( /** @lends module:Okta.ModalDialog.prototype */{\n\t\n\t\t\t\t\t\t/**\n\t * Parameters to pass to the simplemodal plugin.\n\t * See [Available Options](http://www.ericmmartin.com/projects/simplemodal/#options).\n\t * @type {Object}\n\t * @property {Object} [params]\n\t */\n\t\t\t\t\t\tparams: {},\n\t\n\t\t\t\t\t\tconstructor: function constructor() {\n\t\t\t\t\t\t\tBaseView.apply(this, arguments);\n\t\t\t\t\t\t\tthis.$el.addClass('simplemodal-wrap');\n\t\n\t\t\t\t\t\t\t// garbage collection - remove the view when modal is closed\n\t\t\t\t\t\t\tthis.params = _.extend({\n\t\t\t\t\t\t\t\tonClose: _.bind(_.throttle(this.remove, 64), this)\n\t\t\t\t\t\t\t}, this.params || {});\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\trender: function render() {\n\t\t\t\t\t\t\t/* eslint max-statements: [2, 16] */\n\t\n\t\t\t\t\t\t\tthis.delegateEvents(); // modal may be rendered multiple times\n\t\t\t\t\t\t\tBaseView.prototype.render.apply(this, arguments);\n\t\n\t\t\t\t\t\t\tvar options = _.extend({}, _.pick(this, 'title', 'subtitle'), _.pick(this.options, 'title', 'subtitle'));\n\t\n\t\t\t\t\t\t\tif (options.subtitle) {\n\t\t\t\t\t\t\t\tvar subtitle = _.resultCtx(options, 'subtitle', this);\n\t\t\t\t\t\t\t\tthis.$el.prepend(tpl('

{{subtitle}}

')({ subtitle: subtitle }));\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tif (options.title) {\n\t\t\t\t\t\t\t\tvar title = _.resultCtx(options, 'title', this);\n\t\t\t\t\t\t\t\tthis.$el.prepend(tpl('

{{title}}

')({ title: title }));\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t// running deferred fixes a rendering issue with simplemodal\n\t\t\t\t\t\t\t_.defer(_.bind(function () {\n\t\t\t\t\t\t\t\tthis.$el.modal(this.params);\n\t\t\t\t\t\t\t\tthis.resize();\n\t\t\t\t\t\t\t}, this));\n\t\n\t\t\t\t\t\t\t// make sure scrolling on the body is disabled;\n\t\t\t\t\t\t\t$('body').css('overflow', 'hidden');\n\t\n\t\t\t\t\t\t\treturn this;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tremove: function remove() {\n\t\t\t\t\t\t\t$.modal.close();\n\t\t\t\t\t\t\t// re-enable document scroll; blank property value removes property altogether\n\t\t\t\t\t\t\t$('body').css('overflow', '');\n\t\t\t\t\t\t\t_.defer(function () {\n\t\t\t\t\t\t\t\t$.modal.close();\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\treturn BaseView.prototype.remove.apply(this, arguments);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Adjusts the modal content size based on the current content\n\t */\n\t\t\t\t\t\tresize: function resize() {\n\t\t\t\t\t\t\t$.modal.update(this.$el.outerHeight());\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t});\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 37 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; /* eslint max-params: [2, 14], max-statements: [2, 11] */\n\t\t\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(8), __webpack_require__(25), __webpack_require__(10), __webpack_require__(28), __webpack_require__(40), __webpack_require__(42), __webpack_require__(38), __webpack_require__(44), __webpack_require__(47), __webpack_require__(48), __webpack_require__(45), __webpack_require__(49), __webpack_require__(50)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, $, TemplateUtil, StringUtil, BaseView, InputFactory, InputLabel, InputContainer, InputWrapper, ErrorBanner, ErrorParser, FormUtil, ReadModeBar, Toolbar) {\n\t\n\t\t\t\t\tvar template = '\\\n\t\t {{#if hasReadMode}}\\\n\t\t

\\\n\t\t {{title}}\\\n\t\t

\\\n\t\t {{/if}}\\\n\t\t
\\\n\t\t {{#unless hasReadMode}}\\\n\t\t {{#if title}}\\\n\t\t

{{title}}

\\\n\t\t {{/if}}\\\n\t\t {{/unless}}\\\n\t\t {{#if subtitle}}\\\n\t\t

{{subtitle}}

\\\n\t\t {{/if}}\\\n\t\t
\\\n\t\t
\\\n\t\t
\\\n\t\t ';\n\t\n\t\t\t\t\t// polyfill for `pointer-events: none;` in IE < 11\n\t\t\t\t\t// Logic borrowed from https://github.com/kmewhort/pointer_events_polyfill (BSD)\n\t\t\t\t\tvar pointerEventsSupported = $('
').css({ 'pointer-events': 'auto' })[0].style.pointerEvents === 'auto';\n\t\t\t\t\tfunction pointerEventsPolyfill(e) {\n\t\t\t\t\t\tif (!pointerEventsSupported && this.$el.hasClass('o-form-saving')) {\n\t\t\t\t\t\t\tvar $el = $(e.currentTarget);\n\t\n\t\t\t\t\t\t\t$el.css('display', 'none');\n\t\t\t\t\t\t\tvar underneathElem = document.elementFromPoint(e.clientX, e.clientY);\n\t\t\t\t\t\t\t$el.css('display', 'block');\n\t\n\t\t\t\t\t\t\te.target = underneathElem;\n\t\t\t\t\t\t\t$(underneathElem).trigger(e);\n\t\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\n\t\t\t\t\tvar events = {\n\t\t\t\t\t\tsubmit: function submit(e) {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\tthis.__save();\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\n\t\t\t\t\t_.each(['click', 'dblclick', 'mousedown', 'mouseup'], function (event) {\n\t\t\t\t\t\tevents[event + ' .o-form-input'] = pointerEventsPolyfill;\n\t\t\t\t\t});\n\t\n\t\t\t\t\tvar attributes = function attributes(model) {\n\t\t\t\t\t\tmodel || (model = {});\n\t\t\t\t\t\tvar collection = model && model.collection || {};\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\t\t\taction: _.result(model, 'urlRoot') || _.result(collection, 'url') || window.location.pathname,\n\t\t\t\t\t\t\t'data-se': 'o-form'\n\t\t\t\t\t\t};\n\t\t\t\t\t};\n\t\n\t\t\t\t\tvar convertSavingState = function convertSavingState(rawSavingStateEvent, defaultEvent) {\n\t\t\t\t\t\trawSavingStateEvent || (rawSavingStateEvent = '');\n\t\t\t\t\t\tvar savingStateEvent = [];\n\t\t\t\t\t\tif (_.isString(rawSavingStateEvent)) {\n\t\t\t\t\t\t\tsavingStateEvent = rawSavingStateEvent.split(' ');\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsavingStateEvent = _.union(savingStateEvent, defaultEvent);\n\t\t\t\t\t\treturn savingStateEvent.join(' ');\n\t\t\t\t\t};\n\t\n\t\t\t\t\t/**\n\t * A Form utility framework\n\t *\n\t * Okta.Form is a form that operates on one flat model\n\t * It exposes one main factory method, {@link module:Okta.Form#addInput|addInput}, which add inputs to the form,\n\t * and each input operates on one field in the model, identified by the `name` field.\n\t *\n\t * See:\n\t * [Basic O-Form Tutorial](https://github.com/okta/courage/wiki/Basic-O-Form)\n\t *\n\t * @class module:Okta.Form\n\t * @extends module:Okta.View\n\t * @param {Object} options options hash (See {@link module:Okta.View|View})\n\t * @param {Object} options.model the model this form operates on\n\t * @param {Boolean} [options.label-top=false] position label on top of inputs\n\t * @param {Boolean} [options.wide=false] Use a wide input layout for all input\n\t */\n\t\n\t\t\t\t\t/**\n\t * Fired when the \"Save\" button is clicked\n\t * @event module:Okta.Form#save\n\t * @param {module:Okta.Model} model Model used in the form\n\t */\n\t\n\t\t\t\t\t/**\n\t * Fired after the model is successfully saved - applies when {@link module:Okta.Form#autoSave|autoSave}\n\t * is set to true\n\t * @event module:Okta.Form#saved\n\t * @param {module:Okta.Model} model Model used in the form\n\t */\n\t\n\t\t\t\t\t/**\n\t * Fired when the model fires an invalid event or an error event;\n\t * @event module:Okta.Form#error\n\t * @param {module:Okta.Model} model Model used in the form\n\t */\n\t\n\t\t\t\t\t/**\n\t * Fired when the form layout is likely to be resized\n\t * @event module:Okta.Form#resize\n\t * @param {module:Okta.Model} model Model used in the form\n\t */\n\t\n\t\t\t\t\t/**\n\t * Fired when the \"Cancel\" button is clicked\n\t * @event module:Okta.Form#cancel\n\t */\n\t\n\t\t\t\t\treturn BaseView.extend( /** @lends module:Okta.Form.prototype */{\n\t\n\t\t\t\t\t\t/**\n\t * Specifies how to validate form:\n\t * - In case \"local\" string provided as a value of the property,\n\t * the form will validate only fields added as inputs to the form;\n\t * - In case array is provided, the validation will be performed only for fields specified in array;\n\t * - In case function is provided, provided function will be used as a validation function,\n\t * it must return an error object with the format {fieldName: 'error text'} with as many fields as you need.\n\t * @name validate\n\t * @memberof module:Okta.Form\n\t * @type {String|Array|Function}\n\t * @instance\n\t */\n\t\n\t\t\t\t\t\tconstructor: function constructor(options) {\n\t\t\t\t\t\t\t/* eslint max-statements: 0, complexity: 0 */\n\t\t\t\t\t\t\toptions || (options = {});\n\t\t\t\t\t\t\tthis.options = options;\n\t\n\t\t\t\t\t\t\tthis.id = _.uniqueId('form');\n\t\t\t\t\t\t\tthis.tagName = 'form';\n\t\n\t\t\t\t\t\t\t_.defaults(this.events, events);\n\t\t\t\t\t\t\t_.defaults(this.attributes, attributes(options.model));\n\t\n\t\t\t\t\t\t\tthis.__buttons = [];\n\t\t\t\t\t\t\tthis.__errorFields = {};\n\t\n\t\t\t\t\t\t\tthis.__saveModelState(options.model);\n\t\n\t\t\t\t\t\t\tif (this.step) {\n\t\t\t\t\t\t\t\tif (!this.save) {\n\t\t\t\t\t\t\t\t\tthis.save = !this.totalSteps || this.step === this.totalSteps ? 'Finish' : 'Next';\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tthis.className += ' wizard';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tthis.className += ' o-form';\n\t\n\t\t\t\t\t\t\tthis.__toolbar = this.__createToolbar(options);\n\t\n\t\t\t\t\t\t\tBaseView.call(this, options);\n\t\n\t\t\t\t\t\t\t_.each(_.result(this, 'inputs') || [], function (input) {\n\t\t\t\t\t\t\t\t// to ingore extra argumests from `each` iteratee function\n\t\t\t\t\t\t\t\t// http://underscorejs.org/#each\n\t\t\t\t\t\t\t\tthis.__addLayoutItem(input);\n\t\t\t\t\t\t\t}, this);\n\t\n\t\t\t\t\t\t\tthis.add(this.__toolbar, '');\n\t\n\t\t\t\t\t\t\tthis.listenTo(this.model, 'change:__edit__', this.__applyMode);\n\t\n\t\t\t\t\t\t\tthis.listenTo(this.model, 'invalid error', _.throttle(function (model, resp, showBanner) {\n\t\t\t\t\t\t\t\tthis.__showErrors(model, resp, showBanner !== false);\n\t\t\t\t\t\t\t}, 100, { trailing: false }));\n\t\n\t\t\t\t\t\t\tthis.listenTo(this.model, 'form:resize', function () {\n\t\t\t\t\t\t\t\tthis.trigger('resize');\n\t\t\t\t\t\t\t});\n\t\n\t\t\t\t\t\t\tthis.listenTo(this.model, 'form:cancel', _.throttle(this.__cancel, 100, { trailing: false }));\n\t\t\t\t\t\t\tthis.listenTo(this.model, 'form:previous', _.throttle(this.__previous, 100, { trailing: false }));\n\t\n\t\t\t\t\t\t\tthis.__save = _.throttle(this.__save, 200, { trailing: false });\n\t\t\t\t\t\t\tthis.listenTo(this.model, 'form:save', function () {\n\t\t\t\t\t\t\t\tthis.$el.submit();\n\t\t\t\t\t\t\t});\n\t\n\t\t\t\t\t\t\tthis.listenTo(this.model, 'sync', function () {\n\t\t\t\t\t\t\t\tif (this.model.get('__edit__')) {\n\t\t\t\t\t\t\t\t\tthis.model.set('__edit__', false, { silent: true });\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tthis.__saveModelState(this.model);\n\t\t\t\t\t\t\t\tthis.render();\n\t\t\t\t\t\t\t});\n\t\n\t\t\t\t\t\t\tvar hasSavingState = this.getAttribute('hasSavingState');\n\t\n\t\t\t\t\t\t\tif (this.getAttribute('autoSave')) {\n\t\t\t\t\t\t\t\tthis.listenTo(this, 'save', function (model) {\n\t\t\t\t\t\t\t\t\tvar xhr = model.save();\n\t\t\t\t\t\t\t\t\tif (xhr && xhr.done) {\n\t\t\t\t\t\t\t\t\t\txhr.done(_.bind(function () {\n\t\t\t\t\t\t\t\t\t\t\tthis.trigger('saved', model);\n\t\t\t\t\t\t\t\t\t\t}, this));\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\tif (_.isUndefined(hasSavingState)) {\n\t\t\t\t\t\t\t\t\thasSavingState = true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t/*\n\t * Attach model event listeners\n\t * by default, model's request event starts the form saving state,\n\t * error and sync event stops it\n\t * you can define customized saving start and stop state, like\n\t * customSavingState: {start: 'requestingAdditionalInfo', stop: 'retrievedAdditionalInfo'}\n\t * doing this does not override the default events\n\t */\n\t\t\t\t\t\t\tif (hasSavingState) {\n\t\t\t\t\t\t\t\tvar customSavingState = this.getAttribute('customSavingState', {});\n\t\t\t\t\t\t\t\tthis.listenTo(this.model, convertSavingState(customSavingState.start || '', ['request']), this.__setSavingState);\n\t\t\t\t\t\t\t\tthis.listenTo(this.model, convertSavingState(customSavingState.stop || '', ['error', 'sync']), this.__clearSavingState);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Create the bottom button bar\n\t * @param {Object} options options h\n\t * @return {Okta.View} The toolbar\n\t * @private\n\t */\n\t\t\t\t\t\t__createToolbar: function __createToolbar(options) {\n\t\n\t\t\t\t\t\t\tvar danger = this.getAttribute('danger');\n\t\t\t\t\t\t\tvar saveBtnClassName = danger === true ? 'button-error' : 'button-primary';\n\t\n\t\t\t\t\t\t\tvar toolbar = new Toolbar(_.extend({\n\t\t\t\t\t\t\t\tsave: this.save || StringUtil.localize('oform.save', 'courage'),\n\t\t\t\t\t\t\t\tsaveId: this.saveId,\n\t\t\t\t\t\t\t\tsaveClassName: saveBtnClassName,\n\t\t\t\t\t\t\t\tcancel: this.cancel || StringUtil.localize('oform.cancel', 'courage'),\n\t\t\t\t\t\t\t\tnoCancelButton: this.noCancelButton || false,\n\t\t\t\t\t\t\t\thasPrevStep: this.step && this.step > 1\n\t\t\t\t\t\t\t}, options || this.options));\n\t\n\t\t\t\t\t\t\t_.each(this.__buttons, function (args) {\n\t\t\t\t\t\t\t\ttoolbar.addButton.apply(toolbar, args);\n\t\t\t\t\t\t\t});\n\t\n\t\t\t\t\t\t\treturn toolbar;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tclassName: '',\n\t\n\t\t\t\t\t\tattributes: {},\n\t\n\t\t\t\t\t\tevents: {},\n\t\n\t\t\t\t\t\t/**\n\t * An array of input configurations to render in the form\n\t * @type {Array}\n\t */\n\t\t\t\t\t\tinputs: [],\n\t\n\t\t\t\t\t\ttemplate: null,\n\t\n\t\t\t\t\t\t/**\n\t * Does the form support read/edit toggle.\n\t * @type {Boolean|Function}\n\t * @default false\n\t */\n\t\t\t\t\t\tread: false,\n\t\n\t\t\t\t\t\t/**\n\t * Is the form in readOnly mode.\n\t * @type {Boolean|Function}\n\t * @default false\n\t */\n\t\t\t\t\t\treadOnly: false,\n\t\n\t\t\t\t\t\t/**\n\t * Should we not render the button bar\n\t * @type {Boolean|Function}\n\t * @default false\n\t */\n\t\t\t\t\t\tnoButtonBar: false,\n\t\n\t\t\t\t\t\t/**\n\t * Should we not render a cancel button\n\t * @type {Boolean|Function}\n\t * @default false\n\t */\n\t\t\t\t\t\tnoCancelButton: false,\n\t\n\t\t\t\t\t\t/**\n\t * The text on the save button\n\t * @type {String}\n\t * @default \"Save\"\n\t */\n\t\t\t\t\t\tsave: null,\n\t\n\t\t\t\t\t\t/**\n\t * The text on the cancel button\n\t * @type {String}\n\t * @default \"Cancel\"\n\t */\n\t\t\t\t\t\tcancel: null,\n\t\n\t\t\t\t\t\t/**\n\t * To use button-error to style the submit button instead of button-primary.\n\t * @type {Boolean|Function}\n\t * @default false\n\t */\n\t\t\t\t\t\tdanger: false,\n\t\n\t\t\t\t\t\t/**\n\t * A layout CSS class to add to the form\n\t * @type {String|Function}\n\t * @default \"\"\n\t */\n\t\t\t\t\t\tlayout: '',\n\t\n\t\t\t\t\t\t/**\n\t * The step this form is in the context of a wizard\n\t * @type {Number}\n\t */\n\t\t\t\t\t\tstep: undefined,\n\t\n\t\t\t\t\t\t/**\n\t * The total numbers of steps the wizard this form is a part of has\n\t * @type {Number}\n\t */\n\t\t\t\t\t\ttotalSteps: undefined,\n\t\n\t\t\t\t\t\t/**\n\t * The form's title\n\t * @type {String|Function}\n\t */\n\t\t\t\t\t\ttitle: null,\n\t\n\t\t\t\t\t\t/**\n\t * The form's subtitle\n\t * @type {String|Function}\n\t */\n\t\t\t\t\t\tsubtitle: null,\n\t\n\t\t\t\t\t\t/**\n\t * Auto-save the model when hitting save. Triggers a `saved` event when done\n\t * @type {Boolean}\n\t * @default false\n\t */\n\t\t\t\t\t\tautoSave: false,\n\t\n\t\t\t\t\t\t/**\n\t * Scroll to the top of the form on error\n\t * @type {Boolean|Function}\n\t * @default true\n\t */\n\t\t\t\t\t\tscrollOnError: true,\n\t\n\t\t\t\t\t\t/**\n\t * Show the error banner upon error\n\t * @type {Boolean|Function}\n\t * @default true\n\t */\n\t\t\t\t\t\tshowErrors: true,\n\t\n\t\t\t\t\t\t/**\n\t * The form's scrollable area\n\t * @type {String}\n\t * @default \".o-form-content\"\n\t */\n\t\t\t\t\t\tresizeSelector: '.o-form-content',\n\t\n\t\t\t\t\t\t/**\n\t * Sets whether or not the form shows the saving state when\n\t * the model is saved. Has no effect on setSavingState and clearSavingState as those are manual calls\n\t * to trigger/clear the saving state.\n\t * @name hasSavingState\n\t * @memberof module:Okta.Form\n\t * @type {Boolean}\n\t * @default false\n\t * @instance\n\t */\n\t\n\t\t\t\t\t\t/**\n\t * Get an attribute value from options or instance.\n\t * Prefer options value over instance value\n\t * @param {String} name Name of the attribute\n\t * @param {Object} defaultValue the default value to return if the attribute is not found\n\t * @return {Object} The value\n\t */\n\t\t\t\t\t\tgetAttribute: function getAttribute(name, defaultValue) {\n\t\t\t\t\t\t\tvar value = _.resultCtx(this.options, name, this);\n\t\t\t\t\t\t\tif (_.isUndefined(value)) {\n\t\t\t\t\t\t\t\tvalue = _.result(this, name);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn !_.isUndefined(value) ? value : defaultValue;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Does this form have a \"read\" mode\n\t * @return {Boolean}\n\t */\n\t\t\t\t\t\thasReadMode: function hasReadMode() {\n\t\t\t\t\t\t\treturn !!this.getAttribute('read');\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Is this form in \"read only\" mode\n\t * @return {Boolean}\n\t */\n\t\t\t\t\t\tisReadOnly: function isReadOnly() {\n\t\t\t\t\t\t\treturn !!this.getAttribute('readOnly');\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Does this form have a button bar\n\t * @return {Boolean}\n\t */\n\t\t\t\t\t\thasButtonBar: function hasButtonBar() {\n\t\t\t\t\t\t\treturn !(this.getAttribute('noButtonBar') || this.isReadOnly());\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\trender: function render() {\n\t\n\t\t\t\t\t\t\tthis.__readModeBar && this.__readModeBar.remove();\n\t\t\t\t\t\t\tif (this.hasReadMode() && !this.isReadOnly()) {\n\t\t\t\t\t\t\t\tvar readModeBar = ReadModeBar.extend({\n\t\t\t\t\t\t\t\t\tformTitle: this.getAttribute('title', '')\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tthis.__readModeBar = this.add(readModeBar, '.o-form-title-bar').last();\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tvar html = TemplateUtil.tpl(template)({\n\t\t\t\t\t\t\t\tlayout: this.getAttribute('layout', ''),\n\t\t\t\t\t\t\t\ttitle: this.getAttribute('title', '', true),\n\t\t\t\t\t\t\t\tsubtitle: this.getAttribute('subtitle', '', true),\n\t\t\t\t\t\t\t\thasReadMode: this.hasReadMode()\n\t\t\t\t\t\t\t});\n\t\n\t\t\t\t\t\t\tthis.$el.html(html);\n\t\t\t\t\t\t\tdelete this.template;\n\t\n\t\t\t\t\t\t\tBaseView.prototype.render.apply(this, arguments);\n\t\n\t\t\t\t\t\t\tthis.__applyMode();\n\t\n\t\t\t\t\t\t\treturn this;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Changes form UI to indicate saving. Disables all inputs and buttons. Use this function if you have set\n\t * hasSavingState to false on the the form\n\t * @private\n\t */\n\t\t\t\t\t\t__setSavingState: function __setSavingState() {\n\t\t\t\t\t\t\tthis.model.trigger('form:set-saving-state');\n\t\t\t\t\t\t\tthis.$el.addClass('o-form-saving');\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Changes form UI back to normal from the saving state. Use this function if you are have set hasSavingState\n\t * to false on the form\n\t * @private\n\t */\n\t\t\t\t\t\t__clearSavingState: function __clearSavingState() {\n\t\t\t\t\t\t\tthis.model.trigger('form:clear-saving-state');\n\t\t\t\t\t\t\tthis.$el.removeClass('o-form-saving');\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Toggles the visibility of the bottom button bar\n\t * @private\n\t */\n\t\t\t\t\t\t__toggleToolbar: function __toggleToolbar() {\n\t\t\t\t\t\t\tthis.__toolbar && this.__toolbar.remove();\n\t\t\t\t\t\t\tif (this.hasButtonBar() && this._editMode()) {\n\t\t\t\t\t\t\t\tthis.__toolbar = this.__createToolbar();\n\t\t\t\t\t\t\t\tthis.add(this.__toolbar, '');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tthis.trigger('resize');\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Cancels this form\n\t * - Reset the model to the previous state\n\t * - Clears all errors\n\t * - Triggers a `cancel` event\n\t * - Sets the model to read mode (if applicable)\n\t * @private\n\t * @fires cancel\n\t */\n\t\t\t\t\t\t__cancel: function __cancel() {\n\t\t\t\t\t\t\t/* eslint max-statements: [2, 12] */\n\t\t\t\t\t\t\tvar edit = this.model.get('__edit__');\n\t\t\t\t\t\t\tthis.model.clear({ silent: true });\n\t\t\t\t\t\t\tvar data;\n\t\t\t\t\t\t\tif (this.model.sanitizeAttributes) {\n\t\t\t\t\t\t\t\tdata = this.model.sanitizeAttributes(this.__originalModel);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tdata = _.clone(this.__originalModel);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tthis.model.set(data, { silent: true });\n\t\t\t\t\t\t\tthis.trigger('cancel', this.model);\n\t\t\t\t\t\t\tthis.model.trigger('cache:clear');\n\t\t\t\t\t\t\tif (edit) {\n\t\t\t\t\t\t\t\tthis.model.set('__edit__', false, { silent: true });\n\t\t\t\t\t\t\t\tthis.model.trigger('change:__edit__', this.model, false);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tthis.clearErrors();\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Runs {@link module:Okta.Form#validate|validate} to check the model state.\n\t * Triggers an \"invalid\" event on the model if validation fails\n\t * @returns {Boolean}\n\t */\n\t\t\t\t\t\tisValid: function isValid() {\n\t\t\t\t\t\t\tvar res;\n\t\t\t\t\t\t\tvar self = this;\n\t\n\t\t\t\t\t\t\tfunction validateArray(arr) {\n\t\t\t\t\t\t\t\treturn _.reduce(arr, function (memo, fieldName) {\n\t\t\t\t\t\t\t\t\treturn _.extend(memo, self.model.validateField(fieldName));\n\t\t\t\t\t\t\t\t}, {});\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tif (_.isUndefined(this.validate)) {\n\t\t\t\t\t\t\t\treturn this.model.isValid();\n\t\t\t\t\t\t\t} else if (_.isFunction(this.validate)) {\n\t\t\t\t\t\t\t\tres = this.validate();\n\t\t\t\t\t\t\t} else if (_.isArray(this.validate)) {\n\t\t\t\t\t\t\t\tres = validateArray(this.validate);\n\t\t\t\t\t\t\t} else if (this.validate === 'local') {\n\t\t\t\t\t\t\t\tres = validateArray(this.getInputs().map(function (input) {\n\t\t\t\t\t\t\t\t\treturn input.options.name;\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tif (!_.isEmpty(res)) {\n\t\t\t\t\t\t\t\tthis.model.trigger('invalid', this.model, res);\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t} else {\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\n\t\t\t\t\t\t/**\n\t * A throttled function that saves the form not more than once every 100 ms\n\t * Basically all this method does is trigger a `save` event\n\t * @fires save\n\t * @private\n\t */\n\t\t\t\t\t\t__save: function __save() {\n\t\t\t\t\t\t\tthis.clearErrors();\n\t\t\t\t\t\t\tif (this.isValid()) {\n\t\t\t\t\t\t\t\tthis.trigger('save', this.model);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * In the context of a wizard, go to previous state\n\t * Technically all this method does is trigger a `previous` event\n\t * @param {Event} e\n\t * @private\n\t */\n\t\t\t\t\t\t__previous: function __previous() {\n\t\t\t\t\t\t\tthis.trigger('previous', this.model);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Renders the form in the correct mode based on the model.\n\t * @private\n\t */\n\t\t\t\t\t\t__applyMode: function __applyMode() {\n\t\t\t\t\t\t\tthis.clearErrors();\n\t\t\t\t\t\t\tthis.__toggleToolbar();\n\t\n\t\t\t\t\t\t\tif (this._editMode()) {\n\t\t\t\t\t\t\t\tthis.$el.addClass('o-form-edit-mode');\n\t\t\t\t\t\t\t\tthis.$el.removeClass('o-form-read-mode');\n\t\t\t\t\t\t\t\tthis.$('.o-form-content').removeClass('rounded-btm-4');\n\t\t\t\t\t\t\t\tthis.focus();\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.$el.removeClass('o-form-edit-mode');\n\t\t\t\t\t\t\t\tthis.$el.addClass('o-form-read-mode');\n\t\t\t\t\t\t\t\tthis.$('.o-form-content').addClass('rounded-btm-4');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Is the form in edit mode\n\t * @return {Boolean}\n\t * @private\n\t */\n\t\t\t\t\t\t_editMode: function _editMode() {\n\t\t\t\t\t\t\treturn this.model.get('__edit__') || !this.hasReadMode();\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Function can be overridden to alter error summary\n\t * @param {Object} responseJSON\n\t * @method\n\t * @default _.identity\n\t */\n\t\t\t\t\t\tparseErrorMessage: _.identity,\n\t\n\t\t\t\t\t\t/**\n\t * Show an error message based on an XHR error\n\t * @param {Okta.BaseModel} model the model\n\t * @param {jqXHR} xhr The jQuery XmlHttpRequest Object\n\t * @private\n\t */\n\t\t\t\t\t\t__showErrors: function __showErrors(model, resp, showBanner) {\n\t\t\t\t\t\t\tthis.trigger('error', model);\n\t\n\t\t\t\t\t\t\t/* eslint max-statements: 0 */\n\t\t\t\t\t\t\tif (this.getAttribute('showErrors')) {\n\t\n\t\t\t\t\t\t\t\tvar errorSummary;\n\t\t\t\t\t\t\t\tvar responseJSON = ErrorParser.getResponseJSON(resp);\n\t\n\t\t\t\t\t\t\t\t// trigger events for field validation errors\n\t\t\t\t\t\t\t\tvar validationErrors = ErrorParser.parseFieldErrors(resp);\n\t\t\t\t\t\t\t\tif (_.size(validationErrors)) {\n\t\t\t\t\t\t\t\t\t_.each(validationErrors, function (errors, field) {\n\t\t\t\t\t\t\t\t\t\tthis.model.trigger('form:field-error', this.__errorFields[field] || field, _.map(errors, function (error) {\n\t\t\t\t\t\t\t\t\t\t\treturn (/^model\\.validation/.test(error) ? StringUtil.localize(error, 'courage') : error\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t\t\t}, this);\n\t\t\t\t\t\t\t\t} else if (responseJSON && Array.isArray(responseJSON.errorCauses) && responseJSON.errorCauses.length > 0) {\n\t\t\t\t\t\t\t\t\t//set errorSummary from first errorCause which is not field specific error\n\t\t\t\t\t\t\t\t\terrorSummary = responseJSON.errorCauses[0].errorSummary;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t//set errorSummary from top level errorSummary\n\t\t\t\t\t\t\t\t\tresponseJSON = this.parseErrorMessage(responseJSON);\n\t\t\t\t\t\t\t\t\terrorSummary = responseJSON && responseJSON.errorSummary;\n\t\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t\t// show the error message\n\t\t\t\t\t\t\t\tif (showBanner) {\n\t\t\t\t\t\t\t\t\tthis.$('.o-form-error-container').addClass('o-form-has-errors');\n\t\t\t\t\t\t\t\t\tthis.add(ErrorBanner, '.o-form-error-container', { options: { errorSummary: errorSummary } });\n\t\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t\t// slide to and focus on the error message\n\t\t\t\t\t\t\t\tif (this.getAttribute('scrollOnError')) {\n\t\t\t\t\t\t\t\t\tvar $el = $('#' + this.id + ' .o-form-error-container');\n\t\t\t\t\t\t\t\t\t$el.length && $('html, body').animate({ scrollTop: $el.offset().top }, 400);\n\t\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t\tthis.model.trigger('form:resize');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Clears the error banner\n\t * @private\n\t */\n\t\t\t\t\t\tclearErrors: function clearErrors() {\n\t\t\t\t\t\t\tthis.$('.o-form-error-container').removeClass('o-form-has-errors');\n\t\t\t\t\t\t\tthis.model.trigger('form:clear-errors');\n\t\t\t\t\t\t\tthis.model.trigger('form:resize');\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Toggles between edit and read mode\n\t */\n\t\t\t\t\t\ttoggle: function toggle() {\n\t\t\t\t\t\t\tthis.model.set('__edit__', !this.hasReadMode() || !this.model.get('__edit__'));\n\t\t\t\t\t\t\treturn this;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t__addLayoutItem: function __addLayoutItem(input) {\n\t\t\t\t\t\t\tif (InputFactory.supports(input)) {\n\t\t\t\t\t\t\t\tthis.addInput(input);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.__addNonInputLayoutItem(input);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t__addNonInputLayoutItem: function __addNonInputLayoutItem(item) {\n\t\t\t\t\t\t\tvar itemOptions = _.omit(item, 'type');\n\t\t\t\t\t\t\tswitch (item.type) {\n\t\t\t\t\t\t\t\tcase 'sectionTitle':\n\t\t\t\t\t\t\t\t\tthis.addSectionTitle(item.title, _.omit(itemOptions, 'title'));\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase 'divider':\n\t\t\t\t\t\t\t\t\tthis.addDivider(itemOptions);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\tthrow new Error('unknown input: ' + item.type);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Adds a view to the buttons tool bar\n\t * @param {Object} params parameterized button options\n\t * @param {Object} options options to send to {@link module:Okta.View#add|View.add}\n\t */\n\t\t\t\t\t\taddButton: function addButton(params, options) {\n\t\t\t\t\t\t\tthis.__toolbar && this.__toolbar.addButton(params, options);\n\t\t\t\t\t\t\tthis.__buttons.push([params, options]);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Adds a divider\n\t */\n\t\t\t\t\t\taddDivider: function addDivider(options) {\n\t\t\t\t\t\t\tthis.add('
');\n\t\t\t\t\t\t\tFormUtil.applyShowWhen(this.last(), options && options.showWhen);\n\t\t\t\t\t\t\tFormUtil.applyToggleWhen(this.last(), options && options.toggleWhen);\n\t\t\t\t\t\t\treturn this;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Adds section header\n\t * @param {String} title\n\t */\n\t\t\t\t\t\taddSectionTitle: function addSectionTitle(title, options) {\n\t\t\t\t\t\t\tthis.add(TemplateUtil.tpl('

{{title}}

')({ title: title }));\n\t\t\t\t\t\t\tFormUtil.applyShowWhen(this.last(), options && options.showWhen);\n\t\t\t\t\t\t\tFormUtil.applyToggleWhen(this.last(), options && options.toggleWhen);\n\t\t\t\t\t\t\treturn this;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Add a form input\n\t * @param {Object} options Options to describe the input\n\t * @param {String} options.type The input type.\n\t * The options are: `text`, `textarea`, `select`, `checkbox`, `radio`,\n\t * `password`, `number`, `textselect`, `date`, `grouppicker`, `su-orgspicker`\n\t * `file/image`, `file/cert`, `checkboxset`, `list`, `group`, `zonepicker`\n\t * @param {String} options.name The name of the model field this input mutates\n\t * @param {String|Function} [options.label]\n\t * The input label text.\n\t * When passed as a function, will invoke the function (in the context of the {@link InputLabel})\n\t * on render time, and use the returned value.\n\t * @param {String} [options.sublabel] The input sub label text\n\t * @param {String} [options.tooltip] A popover tooltip to be displayed next to the label\n\t * @param {String} [options.placeholder] Placeholder text.\n\t * @param {String} [options.explain] Explanation text to render below the input\n\t * @param {Okta.View} [options.customExplain] A custom view to render below the input (deprecated)\n\t * @param {Boolean} [options.disabled=false] Make this input disabled\n\t * @param {Boolean} [options.wide=false] Use a wide input layout\n\t * @param {Boolean} [options.label-top=false] position label on top of an input\n\t * @param {Number} [options.multi] have multiple in-line inputs. useful when `input` is passed as an array of inputs\n\t * @param {String} [options.errorField] The API error field here that maps to this input\n\t * @param {Boolean} [options.inlineValidation=true] Validate input on focusout\n\t * @param {String} [options.ariaLabel] Used to add aria-label attribute to the input when label is not present.\n\t * @param {Object} [options.options]\n\t * In the context of `radio` and `select`, a key/value set of options\n\t *\n\t * @param {Object} [options.params]\n\t * Widget specific parameters. Varies per input.\n\t *\n\t * @param {BaseInput|Object[]} [options.input]\n\t * - A custom input \"class\" or instance - preferably a **class**, so we can automagically assign the right\n\t * parameters when initializing it\n\t * - An array of input definition object literals (such as this one)\n\t *\n\t * @param {Object} [options.showWhen]\n\t * Setting to define when to show (or hide) the input. The input is visible by default.\n\t *\n\t * @param {Object} [options.bindings]\n\t * Bind a certain model attribute to a callback function, so the function is being called on render,\n\t * and any time this model field changes.\n\t * This is similar to `showWhen` but is not limited to toggling.\n\t *\n\t * @param {Function} [options.render]\n\t * A post-render hook that will run upon render on InputWrapper\n\t *\n\t * @param {String|Function} className A className to apply on the {@link InputWrapper}\n\t *\n\t * @param {Function} [options.initialize]\n\t * An `initialize` function to run when initializing the {@link InputWrapper}\n\t * Useful for state mutation on start time, and complex state logic\n\t *\n\t * @example\n\t * // showhen: the field will be visible when `advanced` is set to `true`\n\t * // and `mode` is set to `\"ON\"`.\n\t * showWhen: {\n\t * 'advanced': true,\n\t * 'mode': function (value) {\n\t * return value == 'ON'; // this is identical to this.model.get('mode') == 'ON'\n\t * }\n\t * }\n\t *\n\t * @example\n\t * // bindings\n\t * bindings: {\n\t * 'status mode': function (status, mode) {\n\t * var labelView = this.getLabel();\n\t * if (status == 1) {\n\t * labelView.options.label = 'Something';\n\t * }\n\t * else {\n\t * labelView.options.label = mode;\n\t * }\n\t * labelView.render();\n\t * }\n\t * }\n\t */\n\t\t\t\t\t\taddInput: function addInput(_options) {\n\t\n\t\t\t\t\t\t\t_options = _.clone(_options);\n\t\n\t\t\t\t\t\t\tFormUtil.validateInput(_options, this.model);\n\t\n\t\t\t\t\t\t\tvar inputsOptions = FormUtil.generateInputOptions(_options, this, this.__createInput).reverse();\n\t\n\t\t\t\t\t\t\t// We need a local variable here to keep track\n\t\t\t\t\t\t\t// as addInput can be called either directy or through the inputs array.\n\t\t\t\t\t\t\tif (_.isEmpty(this.getInputs().toArray())) {\n\t\t\t\t\t\t\t\t_.extend(inputsOptions[0], { validateOnlyIfDirty: true });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvar inputs = _.map(inputsOptions, this.__createInput, this);\n\t\n\t\t\t\t\t\t\t_.each(inputsOptions, function (input) {\n\t\t\t\t\t\t\t\tif (input.errorField) {\n\t\t\t\t\t\t\t\t\tthis.__errorFields[input.errorField] = input.name;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}, this);\n\t\n\t\t\t\t\t\t\tvar options = {\n\t\t\t\t\t\t\t\tinputId: _.last(inputs).options.inputId,\n\t\t\t\t\t\t\t\tinput: inputs,\n\t\t\t\t\t\t\t\tmulti: inputsOptions.length > 1 ? inputsOptions.length : undefined\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t_.extend(options, _.omit(this.options, 'input'), _.omit(_options, 'input'));\n\t\n\t\t\t\t\t\t\tvar inputWrapper = this.__createWrapper(options);\n\t\t\t\t\t\t\tif (options.label !== false) {\n\t\t\t\t\t\t\t\tinputWrapper.add(this.__createLabel(options));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tinputWrapper.add(this._createContainer(options));\n\t\t\t\t\t\t\tinputWrapper.type = options.type || options.input.type || 'custom';\n\t\n\t\t\t\t\t\t\tvar args = [inputWrapper].concat(_.drop(arguments, 1));\n\t\t\t\t\t\t\treturn this.add.apply(this, args);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * @private\n\t */\n\t\t\t\t\t\t__createInput: function __createInput(options) {\n\t\t\t\t\t\t\toptions = _.pick(options, FormUtil.INPUT_OPTIONS);\n\t\t\t\t\t\t\treturn InputFactory.create(options);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * @private\n\t */\n\t\t\t\t\t\t__createWrapper: function __createWrapper(options) {\n\t\t\t\t\t\t\toptions = _.pick(options, FormUtil.WRAPPER_OPTIONS);\n\t\t\t\t\t\t\treturn new InputWrapper(options);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * @private\n\t */\n\t\t\t\t\t\t__createLabel: function __createLabel(options) {\n\t\t\t\t\t\t\toptions = _.pick(options, FormUtil.LABEL_OPTIONS);\n\t\t\t\t\t\t\treturn new InputLabel(options);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * @private\n\t */\n\t\t\t\t\t\t_createContainer: function _createContainer(options) {\n\t\t\t\t\t\t\toptions = _.pick(options, FormUtil.CONTAINER_OPTIONS);\n\t\t\t\t\t\t\treturn new InputContainer(options);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Stores the current attributes of the model to a private property\n\t * @param {Okta.BaseModel} model The model\n\t * @private\n\t */\n\t\t\t\t\t\t__saveModelState: function __saveModelState(model) {\n\t\t\t\t\t\t\tthis.__originalModel = model.clone().attributes;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * @override\n\t * @ignore\n\t */\n\t\t\t\t\t\tadd: function add() {\n\t\t\t\t\t\t\tvar args = _.toArray(arguments);\n\t\t\t\t\t\t\ttypeof args[1] === 'undefined' && (args[1] = '> div.o-form-content > .o-form-fieldset-container');\n\t\t\t\t\t\t\treturn BaseView.prototype.add.apply(this, args);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Set the focus on the first input in the form\n\t */\n\t\t\t\t\t\tfocus: function focus() {\n\t\t\t\t\t\t\tvar first = this.getInputs().first();\n\t\t\t\t\t\t\tif (first && first.focus) {\n\t\t\t\t\t\t\t\tfirst.focus();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn this;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Disable all inputs in the form\n\t * @deprecated not currently in use\n\t */\n\t\t\t\t\t\tdisable: function disable() {\n\t\t\t\t\t\t\tthis.invoke('disable');\n\t\t\t\t\t\t\treturn this;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Enable all inputs in the form\n\t * @deprecated not currently in use\n\t */\n\t\t\t\t\t\tenable: function enable() {\n\t\t\t\t\t\t\tthis.invoke('enable');\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Set the max-height for o-form-content class container within the form if a height is provided,\n\t * otherwise, get its computed inner height\n\t * @param {Number} the height in pixel to set for class o-form-content\n\t * @return {Number}\n\t */\n\t\t\t\t\t\tcontentHeight: function contentHeight(height) {\n\t\t\t\t\t\t\tvar content = this.$('.o-form-content');\n\t\t\t\t\t\t\tif (_.isNumber(height)) {\n\t\t\t\t\t\t\t\tcontent.css('max-height', height);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\treturn content.height();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Get only the input children\n\t * @return {InputWrapper[]} An underscore wrapped array of {@link InputWrapper} instances\n\t */\n\t\t\t\t\t\tgetInputs: function getInputs() {\n\t\t\t\t\t\t\treturn _(this.filter(function (view) {\n\t\t\t\t\t\t\t\treturn view instanceof InputWrapper;\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t});\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 38 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(25), __webpack_require__(17), __webpack_require__(28), __webpack_require__(39)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, TemplateUtil, Logger, BaseView, Util) {\n\t\t\t\t\t/**\n\t * @class InputContainer\n\t * @private\n\t *\n\t * TODO: OKTA-80796\n\t * Attention: Please change with caution since this is used in other places\n\t */\n\t\n\t\t\t\t\tvar isABaseView = Util.isABaseView;\n\t\n\t\t\t\t\treturn BaseView.extend({\n\t\n\t\t\t\t\t\tattributes: function attributes() {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t'data-se': 'o-form-input-container'\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tclassName: function className() {\n\t\t\t\t\t\t\tvar className = 'o-form-input';\n\t\t\t\t\t\t\tif (this.options.wide) {\n\t\t\t\t\t\t\t\tclassName += ' o-form-wide';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (_.contains([1, 2, 3, 4], this.options.multi)) {\n\t\t\t\t\t\t\t\tclassName += ' o-form-multi-input-' + this.options.multi;\n\t\t\t\t\t\t\t\tif (_.isArray(this.options.input)) {\n\t\t\t\t\t\t\t\t\tvar inputGroup = _.find(this.options.input, function (input) {\n\t\t\t\t\t\t\t\t\t\treturn _.contains(['text+select', 'select+text'], input.options.type);\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\tinputGroup && (className += ' o-form-multi-input-group-' + this.options.multi);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn className;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t_getNames: function _getNames() {\n\t\t\t\t\t\t\t/*eslint complexity: 0 */\n\t\t\t\t\t\t\tvar names = _.isArray(this.options.name) ? this.options.name : [this.options.name];\n\t\t\t\t\t\t\tif (this.options.type == 'group') {\n\t\t\t\t\t\t\t\tnames.push.apply(names, _.pluck(this.options.input[0].options.params.inputs, 'name'));\n\t\t\t\t\t\t\t} else if (_.isArray(this.options.name)) {\n\t\t\t\t\t\t\t\tif (this.options.input && this.options.input.options && this.options.input.options.name) {\n\t\t\t\t\t\t\t\t\tnames.push(this.options.input.options.name);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if (this.options.input) {\n\t\t\t\t\t\t\t\tif (_.isArray(this.options.input)) {\n\t\t\t\t\t\t\t\t\t_.each(this.options.input, function (inputItem) {\n\t\t\t\t\t\t\t\t\t\tnames.push(inputItem.options.name);\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tnames.push(this.options.input.options.name);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn _.uniq(_.compact(names));\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tconstructor: function constructor() {\n\t\t\t\t\t\t\t/* eslint max-statements: [2, 18] */\n\t\t\t\t\t\t\tBaseView.apply(this, arguments);\n\t\n\t\t\t\t\t\t\t// we want to append the input *before* the explain text\n\t\t\t\t\t\t\tif (this.options.input) {\n\t\t\t\t\t\t\t\tif (_.isArray(this.options.input)) {\n\t\t\t\t\t\t\t\t\t_.each(this.options.input, function (inputItem) {\n\t\t\t\t\t\t\t\t\t\tthis.add(inputItem, { prepend: true });\n\t\t\t\t\t\t\t\t\t}, this);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tthis.add(this.options.input, { prepend: true });\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tthis.__setExplain(this.options);\n\t\n\t\t\t\t\t\t\tvar names = this._getNames();\n\t\n\t\t\t\t\t\t\tthis.listenTo(this.model, 'form:field-error', function (name, errors) {\n\t\t\t\t\t\t\t\tif (_.contains(names, name)) {\n\t\t\t\t\t\t\t\t\tthis.__setError(errors);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\n\t\t\t\t\t\t\tthis.listenTo(this.model, 'form:clear-errors change:' + names.join(' change:'), this.__clearError);\n\t\t\t\t\t\t\tthis.listenTo(this.model, 'form:clear-error:' + names.join(' form:clear-error:'), this.__clearError);\n\t\n\t\t\t\t\t\t\tif (_.resultCtx(this.options, 'autoRender', this)) {\n\t\t\t\t\t\t\t\tthis.listenTo(this.model, 'change:' + this.options.name, this.render);\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tthis.__errorState = false;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Populates the explain on the input container (if it exists). There are\n\t * two ways to use this:\n\t * 1. Raw text - wraps in the correct html template\n\t * 2. Custom html\n\t * - pass in a View class (preferred)\n\t * - pass in an instance of a View\n\t * Some additional notes:\n\t * - You can pass a function that returns any of the above\n\t * - This maintains support for the deprecated \"customExplain\" property\n\t * that was used before. This pattern is superseded by explain, so use\n\t * that instead.\n\t * @private\n\t */\n\t\t\t\t\t\t__setExplain: function __setExplain(options) {\n\t\t\t\t\t\t\tvar explain;\n\t\n\t\t\t\t\t\t\t// Deprecated - if you need custom html, use explain instead\n\t\t\t\t\t\t\tif (options.customExplain) {\n\t\t\t\t\t\t\t\tLogger.warn('Deprecated - use explain instead of customExplain');\n\t\t\t\t\t\t\t\tthis.add(this.options.customExplain);\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\texplain = options.explain;\n\t\t\t\t\t\t\tif (_.isFunction(explain) && !isABaseView(explain)) {\n\t\t\t\t\t\t\t\texplain = _.resultCtx(this.options, 'explain', this);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (!explain) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tif (isABaseView(explain)) {\n\t\t\t\t\t\t\t\tthis.template = '

';\n\t\t\t\t\t\t\t\tthis.add(explain, '.o-form-explain');\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.template = '

{{explain}}

';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Highlight the input as invalid (validation failed)\n\t * Adds an explaination message of the error\n\t * @private\n\t */\n\t\t\t\t\t\t__setError: function __setError(errors) {\n\t\n\t\t\t\t\t\t\tthis.__errorState = true;\n\t\t\t\t\t\t\tthis.$el.addClass('o-form-has-errors');\n\t\n\t\t\t\t\t\t\tvar tmpl = ['

', '', '{{text}}', '

'].join('');\n\t\n\t\t\t\t\t\t\tvar html = TemplateUtil.tpl(tmpl)({ text: errors.join(', ') });\n\t\t\t\t\t\t\tvar $elExplain = this.$('.o-form-explain').not('.o-form-input-error').first();\n\t\n\t\t\t\t\t\t\tif ($elExplain.length) {\n\t\t\t\t\t\t\t\t$elExplain.before(html);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.$el.append(html);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Un-highlight the input and remove explaination text\n\t * @private\n\t */\n\t\t\t\t\t\t__clearError: function __clearError() {\n\t\t\t\t\t\t\tif (this.__errorState) {\n\t\t\t\t\t\t\t\tthis.$('.o-form-input-error').remove();\n\t\t\t\t\t\t\t\tthis.$el.removeClass('o-form-has-errors');\n\t\t\t\t\t\t\t\tthis.__errorState = false;\n\t\t\t\t\t\t\t\t_.defer(_.bind(function () {\n\t\t\t\t\t\t\t\t\tthis.model.trigger('form:resize');\n\t\t\t\t\t\t\t\t}, this));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tfocus: function focus() {\n\t\t\t\t\t\t\tthis.each(function (view) {\n\t\t\t\t\t\t\t\tif (view.focus) {\n\t\t\t\t\t\t\t\t\treturn view.focus();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\n\t\t\t\t\t\t\treturn this;\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t});\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 39 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(28)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, BaseView) {\n\t\n\t\t\t\t\treturn {\n\t\t\t\t\t\tredirect: function redirect(url) {\n\t\t\t\t\t\t\twindow.location = url;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\treloadPage: function reloadPage() {\n\t\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tconstantError: function constantError(errorMessage) {\n\t\t\t\t\t\t\treturn function () {\n\t\t\t\t\t\t\t\tthrow new Error(errorMessage);\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Simply convert an URL query key value pair object into an URL query string.\n\t * Remember NOT to escape the query string when using this util.\n\t * example:\n\t * input: {userId: 123, instanceId: undefined, expand: 'schema,app'}\n\t * output: '?userId=123&expand=schema,app'\n\t */\n\t\t\t\t\t\tgetUrlQueryString: function getUrlQueryString(queries) {\n\t\t\t\t\t\t\t_.isObject(queries) || (queries = {});\n\t\t\t\t\t\t\tvar queriesString = _.without(_.map(queries, function (value, key) {\n\t\t\t\t\t\t\t\tif (value !== undefined && value !== null) {\n\t\t\t\t\t\t\t\t\treturn key + '=' + encodeURIComponent(value);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}), undefined).join('&');\n\t\t\t\t\t\t\treturn _.isEmpty(queriesString) ? '' : '?' + queriesString;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tisABaseView: function isABaseView(obj) {\n\t\t\t\t\t\t\treturn obj instanceof BaseView || obj.prototype instanceof BaseView || obj === BaseView;\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 40 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; /* eslint max-params: 0, complexity: 0, max-statements: 0 */\n\t\t\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(41)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, InputRegistry) {\n\t\n\t\t\t\t\tfunction createInput(Input, options) {\n\t\t\t\t\t\tif (InputRegistry.isBaseInput(Input)) {\n\t\t\t\t\t\t\treturn Input.prototype ? new Input(_.omit(options, 'input')) : Input;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn Input;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction create(options) {\n\t\t\t\t\t\toptions = _.clone(options);\n\t\t\t\t\t\tif (options.input) {\n\t\t\t\t\t\t\treturn createInput(options.input, options);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvar Input = InputRegistry.get(options);\n\t\t\t\t\t\tif (!Input) {\n\t\t\t\t\t\t\tthrow new Error('unknown input: ' + options.type);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn createInput(Input, options);\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction supports(options) {\n\t\t\t\t\t\treturn !!options.input || !!InputRegistry.get(options);\n\t\t\t\t\t}\n\t\n\t\t\t\t\treturn {\n\t\t\t\t\t\tcreate: create,\n\t\t\t\t\t\tsupports: supports\n\t\t\t\t\t};\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 41 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_) {\n\t\t\t\t\tvar registry = {};\n\t\n\t\t\t\t\tfunction isBaseInput(input) {\n\t\t\t\t\t\tif (_.isFunction(input)) {\n\t\t\t\t\t\t\treturn _.isFunction(input.prototype.editMode) && _.isFunction(input.prototype.readMode);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn _.isObject(input) && _.isFunction(input.editMode) && _.isFunction(input.readMode);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\n\t\t\t\t\t/**\n\t * @class module:Okta.internal.views.forms.helpers.InputRegistry\n\t */\n\t\t\t\t\treturn (/** @lends module:Okta.internal.views.forms.helpers.InputRegistry */{\n\t\t\t\t\t\t\tisBaseInput: isBaseInput,\n\t\n\t\t\t\t\t\t\t/**\n\t * Register a form input\n\t * @param {String} type string identifier for the input\n\t * @param {BaseInput} input the input to register\n\t */\n\t\t\t\t\t\t\tregister: function register(type, input) {\n\t\t\t\t\t\t\t\tregistry[type] = input;\n\t\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t\t/**\n\t * Get a form input by type\n\t * @param {Object} options input definition\n\t * @param {String} options.type string identifier for the input\n\t * @return {BaseInput} a matching input\n\t */\n\t\t\t\t\t\t\tget: function get(options) {\n\t\t\t\t\t\t\t\tvar input = registry[options.type];\n\t\t\t\t\t\t\t\treturn input && (isBaseInput(input) ? input : input(options));\n\t\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t\t/**\n\t * Unregister an input type\n\t * @param {String} type\n\t */\n\t\t\t\t\t\t\tunregister: function unregister(type) {\n\t\t\t\t\t\t\t\tdelete registry[type];\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}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 42 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(25), __webpack_require__(28), __webpack_require__(43)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, TemplateUtil, BaseView) {\n\t\n\t\t\t\t\t/**\n\t * @class InputLabel\n\t * @extends {Okta.View}\n\t * @private\n\t * The input's label.\n\t */\n\t\t\t\t\treturn BaseView.extend({\n\t\n\t\t\t\t\t\tclassName: 'okta-form-label o-form-label',\n\t\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t'data-se': 'o-form-label'\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * @constructor\n\t * @param {Object} options options hash\n\t * @param {String} [options.type] Input type\n\t * @param {String|Function} [options.label] Label text\n\t * @param {String|Function} [options.sublabel] Sub label text\n\t * @param {String|Function} [options.tooltip] Tooltip text\n\t * @param {String|Function} [options.inputId] Id of the inputs\n\t * @param {String|Function} [options.id] Id of the inputs\n\t */\n\t\t\t\t\t\tconstructor: function constructor(options) {\n\t\t\t\t\t\t\t/* eslint max-statements: [2, 16] complexity: [2, 7]*/\n\t\t\t\t\t\t\t_.defaults(options, { inputId: options.id });\n\t\t\t\t\t\t\tdelete options.id;\n\t\n\t\t\t\t\t\t\tBaseView.apply(this, arguments);\n\t\n\t\t\t\t\t\t\tvar template;\n\t\t\t\t\t\t\tif (this._isLabelView(options.label)) {\n\t\t\t\t\t\t\t\ttemplate = '';\n\t\t\t\t\t\t\t} else if (_.contains(['radio', 'checkbox'], options.type) || !options.label) {\n\t\t\t\t\t\t\t\ttemplate = '{{label}}';\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t//space added in the end of the label to avoid selecting label text with double click in read mode\n\t\t\t\t\t\t\t\ttemplate = '';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (options.sublabel) {\n\t\t\t\t\t\t\t\ttemplate += '{{sublabel}}';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (options.tooltip) {\n\t\t\t\t\t\t\t\tif (_.isString(options.tooltip)) {\n\t\t\t\t\t\t\t\t\toptions.tooltip = {\n\t\t\t\t\t\t\t\t\t\ttext: options.tooltip\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\ttemplate += '';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tthis.template = TemplateUtil.tpl(template);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tgetTemplateData: function getTemplateData() {\n\t\t\t\t\t\t\tvar options = { label: '' };\n\t\t\t\t\t\t\t_.each(['inputId', 'label', 'sublabel', 'tooltip'], function (option) {\n\t\t\t\t\t\t\t\toptions[option] = _.resultCtx(this.options, option, this);\n\t\t\t\t\t\t\t}, this);\n\t\n\t\t\t\t\t\t\treturn options;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t_isLabelView: function _isLabelView(label) {\n\t\t\t\t\t\t\treturn !_.isUndefined(label) && label instanceof BaseView;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tpostRender: function postRender() {\n\t\t\t\t\t\t\tvar options = this.getTemplateData();\n\t\t\t\t\t\t\tif (this._isLabelView(options.label)) {\n\t\t\t\t\t\t\t\tthis.removeChildren();\n\t\t\t\t\t\t\t\tthis.add(options.label, 'label');\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tif (options.tooltip) {\n\t\t\t\t\t\t\t\tthis.$('.o-form-tooltip').qtip(_.extend({\n\t\t\t\t\t\t\t\t\tstyle: { classes: 'qtip-custom qtip-shadow' },\n\t\t\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\t\t\tmy: 'bottom left',\n\t\t\t\t\t\t\t\t\t\tat: 'top center'\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\thide: { fixed: true },\n\t\t\t\t\t\t\t\t\tshow: { delay: 0 }\n\t\t\t\t\t\t\t\t}, options.tooltip.options));\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}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 43 */\n\t\t\t/***/function (module, exports) {\n\t\n\t\t\t\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_43__;\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 44 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(28), __webpack_require__(45)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, BaseView, FormUtil) {\n\t\n\t\t\t\t\tfunction runCallback(callback, field) {\n\t\t\t\t\t\tcallback.apply(this, _.map(field.split(/\\s+/), function (field) {\n\t\t\t\t\t\t\treturn this.model.get(field);\n\t\t\t\t\t\t}, this));\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction runIf(fn, ctx) {\n\t\t\t\t\t\tif (_.isFunction(fn)) {\n\t\t\t\t\t\t\tfn.call(ctx);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\n\t\t\t\t\t/**\n\t * @class InputWrapper\n\t * @extends Okta.View\n\t * @private\n\t * The outer wrapper that warps the label and the input container\n\t */\n\t\t\t\t\treturn BaseView.extend({\n\t\n\t\t\t\t\t\tclassName: function className() {\n\t\t\t\t\t\t\tvar className = 'o-form-fieldset';\n\t\n\t\t\t\t\t\t\tif (this.options['label-top']) {\n\t\t\t\t\t\t\t\tclassName += ' o-form-label-top';\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tif (this.options.readOnly) {\n\t\t\t\t\t\t\t\tclassName += ' o-form-read-mode';\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\treturn className;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tattributes: function attributes() {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t'data-se': this.options['data-se'] || 'o-form-fieldset'\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * @constructor\n\t * @param {Object} options options hash\n\t * @param {Object} [options.events]\n\t * @param {Object} [options.bindings]\n\t * @param {Object} [options.showWhen]\n\t * @param {Function} [options.initialize] post initialize callback\n\t * @param {Function} [options.render] post render callback\n\t */\n\t\t\t\t\t\tconstructor: function constructor(options) {\n\t\t\t\t\t\t\tif (options.className) {\n\t\t\t\t\t\t\t\tthis.inputWrapperClassName = this.className;\n\t\t\t\t\t\t\t\tthis.optionsClassName = options.className;\n\t\t\t\t\t\t\t\toptions.className = function () {\n\t\t\t\t\t\t\t\t\treturn _.result(this, 'inputWrapperClassName', '') + ' ' + _.result(this, 'optionsClassName');\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tBaseView.apply(this, arguments);\n\t\t\t\t\t\t\t_.each(options.events || {}, function (callback, event) {\n\t\t\t\t\t\t\t\tthis.listenTo(this.model, event, callback);\n\t\t\t\t\t\t\t}, this);\n\t\n\t\t\t\t\t\t\t_.each(options.bindings || {}, function (callback, field) {\n\t\t\t\t\t\t\t\tthis.listenTo(this.model, FormUtil.changeEventString(field.split(/\\s+/)), _.bind(runCallback, this, callback, field));\n\t\t\t\t\t\t\t}, this);\n\t\n\t\t\t\t\t\t\tFormUtil.applyShowWhen(this, options.showWhen);\n\t\t\t\t\t\t\tFormUtil.applyToggleWhen(this, options.toggleWhen);\n\t\n\t\t\t\t\t\t\trunIf(options.initialize, this);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tpostRender: function postRender() {\n\t\t\t\t\t\t\t_.each(this.options.bindings || {}, runCallback, this);\n\t\t\t\t\t\t\trunIf(this.options.render, this);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * @return {InputLabel}\n\t */\n\t\t\t\t\t\tgetLabel: function getLabel() {\n\t\t\t\t\t\t\treturn this.size() > 1 ? this.at(0) : null;\n\t\t\t\t\t\t},\n\t\t\t\t\t\t/**\n\t * @deprecated ambiguous naming, use {@link #getInputContainer}\n\t */\n\t\t\t\t\t\tgetInput: function getInput() {\n\t\t\t\t\t\t\treturn this.getInputContainer();\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * @return {InputContainer}\n\t */\n\t\t\t\t\t\tgetInputContainer: function getInputContainer() {\n\t\t\t\t\t\t\treturn this.at(this.size() > 1 ? 1 : 0);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * @return {BaseInput[]}\n\t */\n\t\t\t\t\t\tgetInputs: function getInputs() {\n\t\t\t\t\t\t\treturn this.getInputContainer().toArray();\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tfocus: function focus() {\n\t\t\t\t\t\t\treturn this.getInput().focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 45 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; /* eslint max-params: [2, 6] */\n\t\t\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(10), __webpack_require__(28), __webpack_require__(46), __webpack_require__(17), __webpack_require__(30)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, StringUtil, BaseView, Keys, Logger, ViewUtil) {\n\t\n\t\t\t\t\tvar LABEL_OPTIONS = ['model', 'id', 'inputId', 'type', 'label', 'sublabel', 'tooltip', 'name'],\n\t\t\t\t\t CONTAINER_OPTIONS = ['wide', 'multi', 'input', 'explain', 'customExplain', 'model', 'name', 'type', 'autoRender'],\n\t\t\t\t\t WRAPPER_OPTIONS = ['model', 'name', 'label-top', 'readOnly', 'events', 'initialize', 'showWhen', 'bindings', 'render', 'className', 'data-se', 'toggleWhen'],\n\t\t\t\t\t INPUT_OPTIONS = ['model', 'name', 'inputId', 'type', // base options\n\t\t\t\t\t'input', // custom input\n\t\t\t\t\t'placeholder', 'label', // labels\n\t\t\t\t\t'readOnly', 'read', 'disabled', 'readModeString', // modes\n\t\t\t\t\t'options', // select/radio\n\t\t\t\t\t'deps', // used to specify inputs that have dependencies and show a callout to user on select\n\t\t\t\t\t'from', 'to', // model transformers,\n\t\t\t\t\t'autoRender', // model attributes change event to trigger rerendering of the input\n\t\t\t\t\t'inlineValidation', // control inline validating against the model on focus lost\n\t\t\t\t\t'validateOnlyIfDirty', // check if field has been interacted with and then validate\n\t\t\t\t\t'ariaLabel', // 508 compliance for inputs that do not have label associated with them\n\t\t\t\t\t'params'],\n\t\t\t\t\t // widgets params - for input specific widgets\n\t\n\t\t\t\t\tOTHER_OPTIONS = ['errorField'];\n\t\n\t\t\t\t\tvar ALL_OPTIONS = _.uniq(_.union(LABEL_OPTIONS, CONTAINER_OPTIONS, WRAPPER_OPTIONS, INPUT_OPTIONS, OTHER_OPTIONS));\n\t\n\t\t\t\t\tvar SAVE_BUTTON_PHASES = ['• ', '• • ', '• • • ', '• • • •', ' • • •', ' • •', ' •', ' ', ' ', ' '];\n\t\n\t\t\t\t\tfunction decorateDoWhen(doWhen) {\n\t\t\t\t\t\tif (doWhen && !doWhen['__edit__']) {\n\t\t\t\t\t\t\treturn _.extend({ '__edit__': _.constant(true) }, doWhen);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction _createButton(options) {\n\t\n\t\t\t\t\t\toptions = _.pick(options || {}, 'action', 'id', 'className', 'text', 'type');\n\t\n\t\t\t\t\t\tvar timeoutId, intervalId, phaseCount;\n\t\n\t\t\t\t\t\treturn BaseView.extend({\n\t\t\t\t\t\t\ttagName: 'input',\n\t\t\t\t\t\t\tclassName: 'button',\n\t\t\t\t\t\t\tevents: {\n\t\t\t\t\t\t\t\t'click': function click() {\n\t\t\t\t\t\t\t\t\tif (options.action && !this.disabled()) {\n\t\t\t\t\t\t\t\t\t\toptions.action.call(this);\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'keyup': function keyup(e) {\n\t\t\t\t\t\t\t\t\tif (Keys.isEnter(e) && options.action && !this.disabled()) {\n\t\t\t\t\t\t\t\t\t\toptions.action.call(this);\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\n\t\t\t\t\t\t\tdisabled: function disabled() {\n\t\t\t\t\t\t\t\treturn this.$el.prop('disabled') === true;\n\t\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t\tdisable: function disable() {\n\t\t\t\t\t\t\t\tthis.$el.prop('disabled', true);\n\t\t\t\t\t\t\t\tthis.$el.addClass('btn-disabled');\n\t\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t\tenable: function enable() {\n\t\t\t\t\t\t\t\tthis.$el.prop('disabled', false);\n\t\t\t\t\t\t\t\tthis.$el.removeClass('btn-disabled');\n\t\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t\tinitialize: function initialize() {\n\t\t\t\t\t\t\t\tvar self = this;\n\t\n\t\t\t\t\t\t\t\tthis.$el.attr('type', options.type == 'save' ? 'submit' : 'button');\n\t\t\t\t\t\t\t\tthis.$el.val(options.text);\n\t\t\t\t\t\t\t\tif (options.id) {\n\t\t\t\t\t\t\t\t\tthis.$el.attr('id', options.id);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (options.className) {\n\t\t\t\t\t\t\t\t\tthis.$el.addClass(options.className);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (options.type) {\n\t\t\t\t\t\t\t\t\tthis.$el.attr('data-type', options.type);\n\t\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t\tthis.$el.mousedown(function () {\n\t\t\t\t\t\t\t\t\tself.model.set('__pending__', true);\n\t\t\t\t\t\t\t\t});\n\t\n\t\t\t\t\t\t\t\tthis.$el.mouseup(function () {\n\t\t\t\t\t\t\t\t\tself.model.set('__pending__', false);\n\t\t\t\t\t\t\t\t});\n\t\n\t\t\t\t\t\t\t\tthis.listenTo(this.model, 'form:set-saving-state', function () {\n\t\t\t\t\t\t\t\t\tthis.disable();\n\t\t\t\t\t\t\t\t\tif (options.type == 'save') {\n\t\t\t\t\t\t\t\t\t\ttimeoutId = setTimeout(_.bind(this.__changeSaveText, this), 1000);\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\tthis.listenTo(this.model, 'form:clear-saving-state', function () {\n\t\t\t\t\t\t\t\t\tthis.enable();\n\t\t\t\t\t\t\t\t\tif (options.type == 'save') {\n\t\t\t\t\t\t\t\t\t\tclearTimeout(timeoutId);\n\t\t\t\t\t\t\t\t\t\tclearInterval(intervalId);\n\t\t\t\t\t\t\t\t\t\tthis.$el.val(options.text);\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\n\t\t\t\t\t\t\t__changeSaveText: function __changeSaveText() {\n\t\t\t\t\t\t\t\tphaseCount = 0;\n\t\t\t\t\t\t\t\tintervalId = setInterval(_.bind(this.__showLoadingText, this), 200);\n\t\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t\t__showLoadingText: function __showLoadingText() {\n\t\t\t\t\t\t\t\tthis.$el.val(SAVE_BUTTON_PHASES[phaseCount++ % SAVE_BUTTON_PHASES.length]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction validateInput(options, model) {\n\t\t\t\t\t\t/* eslint max-statements: 0, complexity: 0 */\n\t\n\t\t\t\t\t\toptions || (options = {});\n\t\n\t\t\t\t\t\tif (options.type == 'label') {\n\t\t\t\t\t\t\tif (!options.label) {\n\t\t\t\t\t\t\t\tLogger.warn('A label input must have a \"label\" parameter', options);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\tif (options.type == 'button') {\n\t\t\t\t\t\t\tif (!options.title && !options.icon) {\n\t\t\t\t\t\t\t\tLogger.warn('A button input must have a \"title\" and/or an \"icon\" parameter', options);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (!options.click && !options.href) {\n\t\t\t\t\t\t\t\tLogger.warn('A button input must have a \"click\" and/or an \"href\" parameter', options);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\tif (!options.name && !options.input) {\n\t\t\t\t\t\t\tLogger.warn('Missing \"name\" or \"input\" parameters', options);\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\tif (_.isArray(options.name) && _.isArray(options.input)) {\n\t\t\t\t\t\t\tthrow new Error('Not allowed to have both \"name\" and \"input\" defined as array.');\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\tif (options.type != 'list' && options.name && model && model.allows) {\n\t\t\t\t\t\t\tvar names = [];\n\t\t\t\t\t\t\tif (_.isArray(options.name)) {\n\t\t\t\t\t\t\t\tnames = options.name;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tnames.push(options.name);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t_.each(names, function (name) {\n\t\t\t\t\t\t\t\tif (!model.allows(name)) {\n\t\t\t\t\t\t\t\t\tthrow new Error('field not allowed: ' + options.name);\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\n\t\t\t\t\t\tif (_.isArray(options.input) && options.type != 'list') {\n\t\t\t\t\t\t\t_.each(options.input, function (input) {\n\t\t\t\t\t\t\t\tvalidateInput(input, model);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\tvar keys = _.keys(options),\n\t\t\t\t\t\t intersection = _.intersection(keys, ALL_OPTIONS);\n\t\n\t\t\t\t\t\tif (_.size(intersection) != _.size(options)) {\n\t\t\t\t\t\t\tvar fields = _.clone(ALL_OPTIONS);\n\t\t\t\t\t\t\tfields.unshift(keys);\n\t\t\t\t\t\t\tLogger.warn('Invalid input parameters', _.without.apply(null, fields), options);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction generateInputOptions(options, form, createFn) {\n\t\t\t\t\t\toptions = _.clone(options);\n\t\n\t\t\t\t\t\tif (_.contains(['list', 'group'], options.type)) {\n\t\t\t\t\t\t\toptions.params = _.defaults({\n\t\t\t\t\t\t\t\tcreate: createFn,\n\t\t\t\t\t\t\t\tinputs: _.map(_.isArray(options.input) ? options.input : [options.input], function (input) {\n\t\t\t\t\t\t\t\t\treturn _.first(generateInputOptions(input, form, createFn));\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}, options.params || {});\n\t\t\t\t\t\t\tdelete options.input;\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\tvar inputs = _.isArray(options.input) ? _.clone(options.input) : [options];\n\t\n\t\t\t\t\t\treturn _.map(inputs, function (input) {\n\t\t\t\t\t\t\tvar target = _.defaults({ model: form.model }, input, _.omit(options, 'input', 'inputs'), form.options, {\n\t\t\t\t\t\t\t\tid: _.uniqueId('input'),\n\t\t\t\t\t\t\t\treadOnly: form.isReadOnly(),\n\t\t\t\t\t\t\t\tread: form.hasReadMode()\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tif (form.isReadOnly()) {\n\t\t\t\t\t\t\t\ttarget.read = target.readOnly = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn target;\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\n\t\t\t\t\treturn {\n\t\n\t\t\t\t\t\tLABEL_OPTIONS: LABEL_OPTIONS,\n\t\t\t\t\t\tCONTAINER_OPTIONS: CONTAINER_OPTIONS,\n\t\t\t\t\t\tWRAPPER_OPTIONS: WRAPPER_OPTIONS,\n\t\t\t\t\t\tINPUT_OPTIONS: INPUT_OPTIONS,\n\t\n\t\t\t\t\t\tgenerateInputOptions: generateInputOptions,\n\t\n\t\t\t\t\t\tchangeEventString: function changeEventString(fieldNames) {\n\t\t\t\t\t\t\treturn 'change:' + fieldNames.join(' change:');\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tcreateReadFormButton: function createReadFormButton(options) {\n\t\n\t\t\t\t\t\t\tvar action, text, ariaLabel;\n\t\t\t\t\t\t\tif (options.type == 'cancel') {\n\t\t\t\t\t\t\t\ttext = ariaLabel = StringUtil.localize('oform.cancel', 'courage');\n\t\t\t\t\t\t\t\taction = function action() {\n\t\t\t\t\t\t\t\t\tthis.model.trigger('form:cancel');\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\ttext = StringUtil.localize('oform.edit', 'courage');\n\t\t\t\t\t\t\t\tariaLabel = text + ' ' + options.formTitle;\n\t\t\t\t\t\t\t\taction = function action() {\n\t\t\t\t\t\t\t\t\tthis.model.set('__edit__', true);\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\treturn BaseView.extend({\n\t\t\t\t\t\t\t\ttagName: 'a',\n\t\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\t\thref: '#',\n\t\t\t\t\t\t\t\t\t'aria-label': ariaLabel\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\ttemplate: function template() {\n\t\t\t\t\t\t\t\t\treturn _.escape(text);\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tevents: {\n\t\t\t\t\t\t\t\t\tclick: function click(e) {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\taction.call(this);\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\n\t\t\t\t\t\tcreateButton: function createButton(options) {\n\t\t\t\t\t\t\toptions = _.clone(options);\n\t\t\t\t\t\t\tswitch (options.type) {\n\t\t\t\t\t\t\t\tcase 'save':\n\t\t\t\t\t\t\t\t\t_.defaults(options, { className: 'button-primary' });\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase 'cancel':\n\t\t\t\t\t\t\t\t\t_.defaults(options, {\n\t\t\t\t\t\t\t\t\t\ttext: StringUtil.localize('oform.cancel', 'courage'),\n\t\t\t\t\t\t\t\t\t\taction: function action() {\n\t\t\t\t\t\t\t\t\t\t\tthis.model.trigger('form:cancel');\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\tbreak;\n\t\t\t\t\t\t\t\tcase 'previous':\n\t\t\t\t\t\t\t\t\t_.defaults(options, {\n\t\t\t\t\t\t\t\t\t\ttext: StringUtil.localize('oform.previous', 'courage'),\n\t\t\t\t\t\t\t\t\t\taction: function action() {\n\t\t\t\t\t\t\t\t\t\t\tthis.model.trigger('form:previous');\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\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn _createButton(options);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tvalidateInput: validateInput,\n\t\n\t\t\t\t\t\t/**\n\t * Applies a show-when logic on a view instance.\n\t * The show-when is a map of a model field name -> a boolean or a function that returns a boolean.\n\t * The view will toggle based on the field value.\n\t *\n\t * @param {Okta.View} view a view instance that has a this.model attached to it\n\t * @param {Object} showWhen\n\t */\n\t\t\t\t\t\tapplyShowWhen: function applyShowWhen(view, showWhen) {\n\t\t\t\t\t\t\tvar toggleAndResize = function toggleAndResize(bool) {\n\t\t\t\t\t\t\t\treturn function () {\n\t\t\t\t\t\t\t\t\t// The `toggle` is here since an event may be triggered before the el is in the DOM\n\t\t\t\t\t\t\t\t\t// and in that case slide events may not function as expected.\n\t\t\t\t\t\t\t\t\tview.$el.toggle(bool);\n\t\t\t\t\t\t\t\t\tview.model.trigger('form:resize');\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tViewUtil.applyDoWhen(view, decorateDoWhen(showWhen), function (bool, options) {\n\t\t\t\t\t\t\t\tif (!options.animate) {\n\t\t\t\t\t\t\t\t\tview.$el.toggle(bool);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tview.$el['slide' + (bool ? 'Down' : 'Up')](200, toggleAndResize(bool));\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\n\t\t\t\t\t\tapplyToggleWhen: function applyToggleWhen(view, toggleWhen) {\n\t\t\t\t\t\t\tViewUtil.applyDoWhen(view, decorateDoWhen(toggleWhen), function (bool, options) {\n\t\t\t\t\t\t\t\tview.$el.toggle(bool);\n\t\t\t\t\t\t\t\tview.model.trigger('form:resize');\n\t\t\t\t\t\t\t\tif (options.animate) {\n\t\t\t\t\t\t\t\t\tview.render();\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};\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 46 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\t!(module.exports = {\n\t\t\t\t\tUP: 38,\n\t\t\t\t\tDOWN: 40,\n\t\t\t\t\tDEL: 46,\n\t\t\t\t\tTAB: 9,\n\t\t\t\t\tRETURN: 13,\n\t\t\t\t\tENTER: 13,\n\t\t\t\t\tESC: 27,\n\t\t\t\t\tCOMMA: 188,\n\t\t\t\t\tPAGEUP: 33,\n\t\t\t\t\tPAGEDOWN: 34,\n\t\t\t\t\tSPACE: 32,\n\t\t\t\t\tBACKSPACE: 8,\n\t\t\t\t\t__isKey: function __isKey(e, key) {\n\t\t\t\t\t\treturn (e.which || e.keyCode) == this[key];\n\t\t\t\t\t},\n\t\t\t\t\tisEnter: function isEnter(e) {\n\t\t\t\t\t\treturn this.__isKey(e, 'ENTER');\n\t\t\t\t\t},\n\t\t\t\t\tisEsc: function isEsc(e) {\n\t\t\t\t\t\treturn this.__isKey(e, 'ESC');\n\t\t\t\t\t},\n\t\t\t\t\tisSpaceBar: function isSpaceBar(e) {\n\t\t\t\t\t\treturn this.__isKey(e, 'SPACE');\n\t\t\t\t\t}\n\t\t\t\t});\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 47 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(28)], __WEBPACK_AMD_DEFINE_RESULT__ = function (BaseView) {\n\t\n\t\t\t\t\tvar template = '\\\n\t\t
\\\n\t\t \\\n\t\t {{#if errorSummary}}\\\n\t\t

{{errorSummary}}

\\\n\t\t {{else}}\\\n\t\t

{{i18n code=\"oform.errorbanner.title\" bundle=\"courage\"}}

\\\n\t\t {{/if}}\\\n\t\t
\\\n\t\t ';\n\t\n\t\t\t\t\treturn BaseView.extend({\n\t\t\t\t\t\ttemplate: template,\n\t\t\t\t\t\tmodelEvents: {\n\t\t\t\t\t\t\t'form:clear-errors': 'remove'\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 48 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(10)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, StringUtil) {\n\t\n\t\t\t\t\tvar FIELD_REGEX = /^([\\S]+): (.+)$/;\n\t\n\t\t\t\t\treturn {\n\t\n\t\t\t\t\t\t/**\n\t * Helper function that returns the json output of an xhr objext\n\t * @param {jqXhr} xhr\n\t * @return {Object}\n\t */\n\t\t\t\t\t\tgetResponseJSON: function getResponseJSON(xhr) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\treturn xhr.responseJSON || JSON.parse(xhr.responseText);\n\t\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Parses an error summary to extract a field name and an error message\n\t * @param {String} errorSummary The raw error summary\n\t * @return {String[]} An array with two members: [field name, error message]\n\t */\n\t\t\t\t\t\tparseErrorSummary: function parseErrorSummary(errorSummary) {\n\t\t\t\t\t\t\t// error format is: `fieldName: The field cannot be left blank`\n\t\t\t\t\t\t\tvar matches = errorSummary.match(FIELD_REGEX);\n\t\t\t\t\t\t\tif (matches) {\n\t\t\t\t\t\t\t\treturn [matches[1], matches[2]];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Parses an error cause object to extract a field name from property attribute\n\t * and an error message form errorSummary attribute. It looks to see if there is\n\t * a custom override/translation for the erorrCause.reason before using the errorSummary\n\t * @param {Object} errorCause object\n\t * @return {String[]} An array with two members: [field name, error message]\n\t */\n\t\t\t\t\t\tparseErrorCauseObject: function parseErrorCauseObject(errorCause) {\n\t\t\t\t\t\t\tif (errorCause.property && errorCause.errorSummary) {\n\t\t\t\t\t\t\t\tvar localizedMsg = StringUtil.localize(errorCause.reason),\n\t\t\t\t\t\t\t\t apiMsg = errorCause.errorSummary,\n\t\t\t\t\t\t\t\t field = errorCause.property,\n\t\t\t\t\t\t\t\t errorMessage = localizedMsg.indexOf('L10N_ERROR[') === -1 ? localizedMsg : apiMsg;\n\t\t\t\t\t\t\t\treturn [field, errorMessage];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tparseErrors: function parseErrors(resp) {\n\t\t\t\t\t\t\tvar responseJSON = this.getResponseJSON(resp);\n\t\t\t\t\t\t\treturn _.map(responseJSON && responseJSON.errorCauses || [], function (errorCause) {\n\t\t\t\t\t\t\t\treturn ('' + errorCause.errorSummary).replace(FIELD_REGEX, '$2');\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Parses the response for errors\n\t * Returns a map of field names > array or error messages\n\t * Example:\n\t * ```javascript\n\t * {\n\t * url: ['The field cannot be left blank', 'The field has to be a valid URI'],\n\t * name: ['The field cannot be left blank']\n\t * }\n\t * ```\n\t * @param {Object} resp\n\t * @return {Object}\n\t */\n\t\t\t\t\t\tparseFieldErrors: function parseFieldErrors(resp) {\n\t\t\t\t\t\t\tvar responseJSON = this.getResponseJSON(resp),\n\t\t\t\t\t\t\t errors = {};\n\t\n\t\t\t\t\t\t\t// xhr error object\n\t\t\t\t\t\t\tif (responseJSON) {\n\t\t\t\t\t\t\t\t/* eslint complexity: [2, 7] */\n\t\t\t\t\t\t\t\t_.each(responseJSON.errorCauses || [], function (cause) {\n\t\t\t\t\t\t\t\t\tvar res = [];\n\t\t\t\t\t\t\t\t\tif (cause.property && cause.errorSummary) {\n\t\t\t\t\t\t\t\t\t\tres = this.parseErrorCauseObject(cause);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tres = this.parseErrorSummary(cause && cause.errorSummary || '');\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (res) {\n\t\t\t\t\t\t\t\t\t\tvar fieldName = res[0],\n\t\t\t\t\t\t\t\t\t\t message = res[1];\n\t\t\t\t\t\t\t\t\t\terrors[fieldName] || (errors[fieldName] = []);\n\t\t\t\t\t\t\t\t\t\terrors[fieldName].push(message);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}, this);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// validation key/value object\n\t\t\t\t\t\t\telse if (_.isObject(resp) && _.size(resp)) {\n\t\t\t\t\t\t\t\t\t_.each(resp, function (msg, field) {\n\t\t\t\t\t\t\t\t\t\terrors[field] = [msg];\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\treturn _.size(errors) ? errors : undefined;\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 49 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(28), __webpack_require__(45)], __WEBPACK_AMD_DEFINE_RESULT__ = function (BaseView, FormUtil) {\n\t\n\t\t\t\t\treturn BaseView.extend({\n\t\n\t\t\t\t\t\tel: '',\n\t\n\t\t\t\t\t\tformTitle: '',\n\t\n\t\t\t\t\t\tmodelEvents: {\n\t\t\t\t\t\t\t'change:__edit__': 'toggle'\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tinitialize: function initialize() {\n\t\t\t\t\t\t\tthis.addButton();\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\taddButton: function addButton() {\n\t\t\t\t\t\t\tif (this.model.get('__edit__')) {\n\t\t\t\t\t\t\t\tthis.add(FormUtil.createReadFormButton({ type: 'cancel' }));\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.add(FormUtil.createReadFormButton({\n\t\t\t\t\t\t\t\t\ttype: 'edit',\n\t\t\t\t\t\t\t\t\tformTitle: this.formTitle\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\n\t\t\t\t\t\ttoggle: function toggle() {\n\t\t\t\t\t\t\tthis.removeChildren();\n\t\t\t\t\t\t\tthis.addButton();\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t});\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 50 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(28), __webpack_require__(45)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, BaseView, FormUtil) {\n\t\n\t\t\t\t\treturn BaseView.extend({\n\t\n\t\t\t\t\t\tclassName: 'o-form-button-bar',\n\t\n\t\t\t\t\t\tinitialize: function initialize(options) {\n\t\t\t\t\t\t\tthis.addButton({\n\t\t\t\t\t\t\t\ttype: 'save',\n\t\t\t\t\t\t\t\ttext: _.resultCtx(options, 'save', this),\n\t\t\t\t\t\t\t\tid: _.resultCtx(options, 'saveId', this),\n\t\t\t\t\t\t\t\tclassName: _.resultCtx(options, 'saveClassName', this)\n\t\t\t\t\t\t\t});\n\t\n\t\t\t\t\t\t\tif (!options.noCancelButton) {\n\t\t\t\t\t\t\t\tthis.addButton({ type: 'cancel', text: _.resultCtx(options, 'cancel', this) });\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tif (options.hasPrevStep) {\n\t\t\t\t\t\t\t\tthis.addButton({ type: 'previous' }, { prepend: true });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Adds a buttomn to the toolbar\n\t * @param {Object} params button parameters\n\t * @param {Object} options {@link Okta.View#add} options\n\t */\n\t\t\t\t\t\taddButton: function addButton(params, options) {\n\t\t\t\t\t\t\treturn this.add(FormUtil.createButton(params), options);\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t});\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 51 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; /* eslint max-params: [2, 6], max-len: [2, 150] */\n\t\t\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(8), __webpack_require__(3), __webpack_require__(28), __webpack_require__(52), __webpack_require__(32), __webpack_require__(31)], __WEBPACK_AMD_DEFINE_RESULT__ = function ($, _, BaseView, StateMachine, SettingsModel, BaseRouter) {\n\t\n\t\t\t\t\tfunction clean(obj) {\n\t\t\t\t\t\tvar res = {};\n\t\t\t\t\t\t_.each(obj, function (value, key) {\n\t\t\t\t\t\t\tif (!_.isNull(value)) {\n\t\t\t\t\t\t\t\tres[key] = value;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn res;\n\t\t\t\t\t}\n\t\n\t\t\t\t\t/**\n\t * A Controller is our application control flow component.\n\t *\n\t * Typically it will:\n\t * - Initialize the models, controller and main views\n\t * - Listen to events\n\t * - Create, read, update and delete models\n\t * - Create modal dialogs, confirmation dialogs and alert dialogs\n\t * - Control the application flow\n\t *\n\t * The constructor is responsible for:\n\t * - Create the application state object\n\t * - Assign or creates the application settings object\n\t * - Create an instance of the main view with the relevant parameters\n\t *\n\t * See:\n\t * [Hello World Tutorial](https://github.com/okta/courage/wiki/Hello-World),\n\t * [Jasmine Spec](https://github.com/okta/okta-core/blob/master/WebContent/js/test/unit/spec/shared/util/BaseController_spec.js)\n\t *\n\t * @class module:Okta.Controller\n\t * @param {Object} options Options Hash\n\t * @param {SettingsModel} [options.settings] Application Settings Model\n\t * @param {String} options.el a jQuery selector string stating where to attach the controller in the DOM\n\t */\n\t\t\t\t\treturn BaseView.extend( /** @lends module:Okta.Controller.prototype */{\n\t\n\t\t\t\t\t\tconstructor: function constructor(options) {\n\t\t\t\t\t\t\t/* eslint max-statements: [2, 13], complexity: [2, 7]*/\n\t\t\t\t\t\t\toptions || (options = {});\n\t\n\t\t\t\t\t\t\tvar stateData = _.defaults(clean(options.state), this.state || {});\n\t\t\t\t\t\t\tthis.state = new StateMachine(stateData);\n\t\t\t\t\t\t\tdelete options.state;\n\t\n\t\t\t\t\t\t\tif (options.settings) {\n\t\t\t\t\t\t\t\tthis.settings = options.settings;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t// allow the controller to live without a router\n\t\t\t\t\t\t\t\tthis.settings = options.settings = new SettingsModel(_.omit(options || {}, 'el'));\n\t\t\t\t\t\t\t\tthis.listen('notification', BaseRouter.prototype._notify);\n\t\t\t\t\t\t\t\tthis.listen('confirmation', BaseRouter.prototype._confirm);\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tBaseView.call(this, options);\n\t\n\t\t\t\t\t\t\tthis.listenTo(this.state, '__invoke__', function () {\n\t\t\t\t\t\t\t\tvar args = _.toArray(arguments),\n\t\t\t\t\t\t\t\t method = args.shift();\n\t\t\t\t\t\t\t\tif (_.isFunction(this[method])) {\n\t\t\t\t\t\t\t\t\tthis[method].apply(this, args);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\n\t\t\t\t\t\t\tif (this.View) {\n\t\t\t\t\t\t\t\tthis.add(new this.View(this.toJSON()));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * The default values of our application state\n\t * @type {Object}\n\t * @default {}\n\t */\n\t\t\t\t\t\tstate: {},\n\t\n\t\t\t\t\t\t/**\n\t * The main view this controller operate on\n\t * @type {module:Okta.View}\n\t * @default null\n\t */\n\t\t\t\t\t\tView: null,\n\t\n\t\t\t\t\t\t/**\n\t * Renders the {@link module:Okta.Controller#View|main view} after the DOM is ready\n\t * in case the controller is the root component of the page (e.g there's no router)\n\t */\n\t\t\t\t\t\trender: function render() {\n\t\t\t\t\t\t\tvar args = arguments,\n\t\t\t\t\t\t\t self = this;\n\t\t\t\t\t\t\t$(function () {\n\t\t\t\t\t\t\t\tBaseView.prototype.render.apply(self, args);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\treturn this;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Creates the view constructor options\n\t * @param {Object} [options] Extra options\n\t * @return {Object} The view constructor options\n\t */\n\t\t\t\t\t\ttoJSON: function toJSON(options) {\n\t\t\t\t\t\t\treturn _.extend(_.pick(this, 'state', 'settings', 'collection', 'model'), options || {});\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Removes the child views, empty the DOM element and stop listening to events\n\t */\n\t\t\t\t\t\tremove: function remove() {\n\t\t\t\t\t\t\tthis.removeChildren();\n\t\t\t\t\t\t\tthis.stopListening();\n\t\t\t\t\t\t\tthis.$el.empty();\n\t\t\t\t\t\t\treturn this;\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t});\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 52 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(15)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, Model) {\n\t\n\t\t\t\t\t/**\n\t * @class StateMachine\n\t * @extends Okta.Model\n\t * @private\n\t *\n\t * A state object that holds the applciation state\n\t */\n\t\n\t\t\t\t\treturn Model.extend({\n\t\t\t\t\t\textraProperties: true,\n\t\t\t\t\t\t/**\n\t * Invokes a method on the applicable {@link Okta.Controller}\n\t *\n\t * ```javascript\n\t * state.invoke('methodName', 'param1', 'param2')\n\t * // Will call\n\t * contoller.methodName('param1', 'param2')\n\t * ```\n\t * @param {String} methodName the name of the controller method to invoke on the controller\n\t */\n\t\t\t\t\t\tinvoke: function invoke() {\n\t\t\t\t\t\t\tvar args = _.toArray(arguments);\n\t\t\t\t\t\t\targs.unshift('__invoke__');\n\t\t\t\t\t\t\tthis.trigger.apply(this, args);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 53 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(54)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, Cookie) {\n\t\n\t\t\t\t\tvar SECURED_COOKIE = /^https/.test(window.location.href);\n\t\n\t\t\t\t\treturn {\n\t\t\t\t\t\tsetCookie: function setCookie(name, value, options) {\n\t\t\t\t\t\t\tCookie.set(name, value, _.defaults(options || {}, {\n\t\t\t\t\t\t\t\tsecure: SECURED_COOKIE,\n\t\t\t\t\t\t\t\tpath: '/'\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tgetCookie: function getCookie() {\n\t\t\t\t\t\t\treturn Cookie.get.apply(Cookie, arguments);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tremoveCookie: function removeCookie() {\n\t\t\t\t\t\t\treturn Cookie.remove.apply(Cookie, arguments);\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 54 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__; /*!\n\t * JavaScript Cookie v2.1.0\n\t * https://github.com/js-cookie/js-cookie\n\t *\n\t * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n\t * Released under the MIT license\n\t */\n\t\t\t\t(function (factory) {\n\t\t\t\t\tif (true) {\n\t\t\t\t\t\t!(__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\t\t\t\t\t} else if ((typeof exports === 'undefined' ? 'undefined' : (0, _typeof3.default)(exports)) === 'object') {\n\t\t\t\t\t\tmodule.exports = factory();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar _OldCookies = window.Cookies;\n\t\t\t\t\t\tvar api = window.Cookies = factory();\n\t\t\t\t\t\tapi.noConflict = function () {\n\t\t\t\t\t\t\twindow.Cookies = _OldCookies;\n\t\t\t\t\t\t\treturn api;\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t})(function () {\n\t\t\t\t\tfunction extend() {\n\t\t\t\t\t\tvar i = 0;\n\t\t\t\t\t\tvar result = {};\n\t\t\t\t\t\tfor (; i < arguments.length; i++) {\n\t\t\t\t\t\t\tvar attributes = arguments[i];\n\t\t\t\t\t\t\tfor (var key in attributes) {\n\t\t\t\t\t\t\t\tresult[key] = attributes[key];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction init(converter) {\n\t\t\t\t\t\tfunction api(key, value, attributes) {\n\t\t\t\t\t\t\tvar result;\n\t\n\t\t\t\t\t\t\t// Write\n\t\n\t\t\t\t\t\t\tif (arguments.length > 1) {\n\t\t\t\t\t\t\t\tattributes = extend({\n\t\t\t\t\t\t\t\t\tpath: '/'\n\t\t\t\t\t\t\t\t}, api.defaults, attributes);\n\t\n\t\t\t\t\t\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\t\t\t\t\t\tvar expires = new Date();\n\t\t\t\t\t\t\t\t\texpires.setMilliseconds(expires.getMilliseconds() + attributes.expires * 864e+5);\n\t\t\t\t\t\t\t\t\tattributes.expires = expires;\n\t\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tresult = (0, _stringify2.default)(value);\n\t\t\t\t\t\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\t\t\t\t\t\tvalue = result;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} catch (e) {}\n\t\n\t\t\t\t\t\t\t\tif (!converter.write) {\n\t\t\t\t\t\t\t\t\tvalue = 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\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tvalue = converter.write(value, key);\n\t\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t\tkey = encodeURIComponent(String(key));\n\t\t\t\t\t\t\t\tkey = key.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent);\n\t\t\t\t\t\t\t\tkey = key.replace(/[\\(\\)]/g, escape);\n\t\n\t\t\t\t\t\t\t\treturn document.cookie = [key, '=', value, attributes.expires && '; expires=' + attributes.expires.toUTCString(), // use expires attribute, max-age is not supported by IE\n\t\t\t\t\t\t\t\tattributes.path && '; path=' + attributes.path, attributes.domain && '; domain=' + attributes.domain, attributes.secure ? '; secure' : ''].join('');\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t// Read\n\t\n\t\t\t\t\t\t\tif (!key) {\n\t\t\t\t\t\t\t\tresult = {};\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t\t\t\t\t// in case there are no cookies at all. Also prevents odd result when\n\t\t\t\t\t\t\t// calling \"get()\"\n\t\t\t\t\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\t\t\t\t\tvar rdecode = /(%[0-9A-Z]{2})+/g;\n\t\t\t\t\t\t\tvar i = 0;\n\t\n\t\t\t\t\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\t\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\t\t\t\t\tvar name = parts[0].replace(rdecode, decodeURIComponent);\n\t\t\t\t\t\t\t\tvar cookie = parts.slice(1).join('=');\n\t\n\t\t\t\t\t\t\t\tif (cookie.charAt(0) === '\"') {\n\t\t\t\t\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tcookie = converter.read ? converter.read(cookie, name) : converter(cookie, name) || cookie.replace(rdecode, decodeURIComponent);\n\t\n\t\t\t\t\t\t\t\t\tif (this.json) {\n\t\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\t\t\t\t\tresult = cookie;\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t\t\tif (!key) {\n\t\t\t\t\t\t\t\t\t\tresult[name] = cookie;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\treturn result;\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\tapi.get = api.set = api;\n\t\t\t\t\t\tapi.getJSON = function () {\n\t\t\t\t\t\t\treturn api.apply({\n\t\t\t\t\t\t\t\tjson: true\n\t\t\t\t\t\t\t}, [].slice.call(arguments));\n\t\t\t\t\t\t};\n\t\t\t\t\t\tapi.defaults = {};\n\t\n\t\t\t\t\t\tapi.remove = function (key, attributes) {\n\t\t\t\t\t\t\tapi(key, '', extend(attributes, {\n\t\t\t\t\t\t\t\texpires: -1\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\tapi.withConverter = init;\n\t\n\t\t\t\t\t\treturn api;\n\t\t\t\t\t}\n\t\n\t\t\t\t\treturn init(function () {});\n\t\t\t\t});\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 55 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(56)], __WEBPACK_AMD_DEFINE_RESULT__ = function (moment) {\n\t\n\t\t\t\t\tvar MOMENT_UNIT = {\n\t\t\t\t\t\t'MILLISECOND': 'milliseconds',\n\t\t\t\t\t\t'SECOND': 'seconds',\n\t\t\t\t\t\t'MINUTE': 'minutes',\n\t\t\t\t\t\t'HOUR': 'hours',\n\t\t\t\t\t\t'DAY': 'days'\n\t\t\t\t\t};\n\t\n\t\t\t\t\treturn {\n\t\t\t\t\t\tMINUTES_HOURS_DAYS: {\n\t\t\t\t\t\t\t'MINUTE': 'Minutes',\n\t\t\t\t\t\t\t'HOUR': 'Hours',\n\t\t\t\t\t\t\t'DAY': 'Days'\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tMILLISECONDS_SECONDS_MINUTES: {\n\t\t\t\t\t\t\t'MILLISECOND': 'Milliseconds',\n\t\t\t\t\t\t\t'SECOND': 'Seconds',\n\t\t\t\t\t\t\t'MINUTE': 'Minutes'\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t// TODO: OKTA-32410 proper fix for displaying PDT\n\t\t\t\t\t\tconvertToPDT: function convertToPDT(milliseconds, formatter, defaultText) {\n\t\t\t\t\t\t\t// 'Apr 17, 2014 8:37:50 AM' or 'Never'\n\t\t\t\t\t\t\tformatter || (formatter = 'MMM DD, YYYY h:mm:ss A');\n\t\t\t\t\t\t\tdefaultText || (defaultText = '');\n\t\t\t\t\t\t\treturn milliseconds ? moment(milliseconds).utc().utcOffset('-07:00').format(formatter) : defaultText;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * @method getTimeInHighestRelevantUnit\n\t * Will return a number in the units of the highest relevant time unit.\n\t * Only checks milliseconds, seconds, minutes, hours, and days.\n\t * E.g.\n\t * 15 minutes -> 15 minutes\n\t * 60 minutes -> 1 hours\n\t * 90 minutes -> 90 minutes\n\t * 24 hours -> 1 days\n\t *\n\t * @param {Number} val The amount of time\n\t * @param {String} unit The units that val is in\n\t * @return {Object} An object containing the amount of time and the units it's in\n\t */\n\t\t\t\t\t\tgetTimeInHighestRelevantUnit: function getTimeInHighestRelevantUnit(val, unit) {\n\t\t\t\t\t\t\tvar duration = moment.duration(val, MOMENT_UNIT[unit] || unit);\n\t\t\t\t\t\t\tvar highestUnit;\n\t\t\t\t\t\t\tif (duration.milliseconds() !== 0) {\n\t\t\t\t\t\t\t\thighestUnit = 'milliseconds';\n\t\t\t\t\t\t\t} else if (duration.seconds() !== 0) {\n\t\t\t\t\t\t\t\thighestUnit = 'seconds';\n\t\t\t\t\t\t\t} else if (duration.minutes() !== 0) {\n\t\t\t\t\t\t\t\thighestUnit = 'minutes';\n\t\t\t\t\t\t\t} else if (duration.hours() !== 0) {\n\t\t\t\t\t\t\t\thighestUnit = 'hours';\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\thighestUnit = 'days';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\ttime: duration.as(highestUnit),\n\t\t\t\t\t\t\t\tunit: this.convertMomentUnits(highestUnit)\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * @method convertMomentUnits\n\t * Does the conversion between moment's units and our units internally\n\t *\n\t * @param {String} momentUnit The units that val is in\n\t * @return {String} The key in the MINUTES_HOURS_DAYS hash\n\t */\n\t\t\t\t\t\tconvertMomentUnits: function convertMomentUnits(momentUnit) {\n\t\t\t\t\t\t\tswitch (momentUnit) {\n\t\t\t\t\t\t\t\tcase 'milliseconds':\n\t\t\t\t\t\t\t\t\treturn 'MILLISECOND';\n\t\t\t\t\t\t\t\tcase 'seconds':\n\t\t\t\t\t\t\t\t\treturn 'SECOND';\n\t\t\t\t\t\t\t\tcase 'minutes':\n\t\t\t\t\t\t\t\t\treturn 'MINUTE';\n\t\t\t\t\t\t\t\tcase 'hours':\n\t\t\t\t\t\t\t\t\treturn 'HOUR';\n\t\t\t\t\t\t\t\tcase 'days':\n\t\t\t\t\t\t\t\t\treturn 'DAY';\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\tthrow new Error('Time unit not recognized: ' + momentUnit);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * @method convertTimeUnit\n\t * Converts a given value from one unit to another\n\t *\n\t * @param {Number} val The amount of time in fromUnits\n\t * @param {String} fromUnit The units that val is in on input\n\t * @param {String} toUnit The units to convert to\n\t * @return {Number} The amount of time in toUnits\n\t */\n\t\t\t\t\t\tconvertTimeUnit: function convertTimeUnit(val, fromUnit, toUnit) {\n\t\t\t\t\t\t\tval = parseInt(val, 10);\n\t\t\t\t\t\t\tfromUnit = MOMENT_UNIT[fromUnit] || fromUnit;\n\t\t\t\t\t\t\ttoUnit = MOMENT_UNIT[toUnit] || toUnit;\n\t\t\t\t\t\t\treturn moment.duration(val, fromUnit).as(toUnit);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * @method convertTimeFormat\n\t * Converts a given time string from one format to another in local time\n\t *\n\t * @param {String} timeString The time string to be parsed\n\t * @param {String} fromFormatter The timeString's parser format\n\t * @param {String} toFormatter The format that the timeString to convert to\n\t * @return {String} The time string in the converted format in local time\n\t */\n\t\t\t\t\t\tconvertTimeFormat: function convertTimeFormat(timeString, fromFormatter, toFormatter) {\n\t\t\t\t\t\t\ttoFormatter || (toFormatter = 'MMMM Do, YYYY');\n\t\t\t\t\t\t\treturn moment(timeString, fromFormatter).format(toFormatter);\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 56 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; /* global okta */\n\t\t\t\t/* eslint @okta/okta/no-specific-modules: 0 */\n\t\t\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(14)], __WEBPACK_AMD_DEFINE_RESULT__ = function (moment) {\n\t\t\t\t\tif (typeof okta != 'undefined' && (okta.locale || 'en')) {\n\t\t\t\t\t\tmoment.locale(okta.locale || 'en');\n\t\t\t\t\t}\n\t\t\t\t\treturn moment;\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 57 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(28), __webpack_require__(58)], __WEBPACK_AMD_DEFINE_RESULT__ = function (BaseView, ListView) {\n\t\t\t\t\t/**\n\t * See {@link src/framework/ListView} for more detail and examples from the base class.\n\t * @class module:Okta.ListView\n\t * @extends src/framework/ListView\n\t * @mixes module:Okta.View\n\t */\n\t\t\t\t\treturn BaseView.decorate(ListView);\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 58 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (root, factory) {\n\t\t\t\t\tif (true) {\n\t\t\t\t\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(29)], __WEBPACK_AMD_DEFINE_FACTORY__ = factory, __WEBPACK_AMD_DEFINE_RESULT__ = typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? __WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__) : __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\t\t\t\t}\n\t\t\t\t\t/* global module, exports */\n\t\t\t\t\telse if (typeof require == 'function' && (typeof exports === 'undefined' ? 'undefined' : (0, _typeof3.default)(exports)) == 'object') {\n\t\t\t\t\t\t\tmodule.exports = factory(require('okta/underscore'), require('./View'));\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\troot.Archer || (root.Archer = {});\n\t\t\t\t\t\t\troot.Archer.ListView = factory(root._, root.Archer.View);\n\t\t\t\t\t\t}\n\t\t\t\t})(this, function (_, View) {\n\t\t\t\t\t/**\n\t * Archer.ListView is a {@link src/framework/View} that operates on a\n\t * collection and builds a list of \"things\" of the same type.\n\t *\n\t * Automagically adds, removes and sorts upon standard collection events.\n\t *\n\t * Listen to collection events so the ListView will do the right thing when\n\t * a model is added or the collection is reset or sorted.\n\t *\n\t * @class src/framework/ListView\n\t * @extends src/framework/View\n\t * @param {Object} options options hash\n\t * @param {Object} options.collection The collection which this view operates on\n\t * @example\n\t * var UserList = Archer.ListView.extend({\n\t * tagName: 'ul',\n\t * item: '
  • {{fname}} {{lname}}
  • '\n\t * });\n\t *\n\t * var users = new Archer.Collection([\n\t * {fname: 'John', lname: 'Doe'},\n\t * {fname: 'Jane', lname: 'Doe'}\n\t * ]);\n\t *\n\t * var userList = new UserList({collection: users}).render();\n\t * userList.el; //=> \"
    • John Doe
    • Jane Doe
    \"\n\t *\n\t * users.push({fname: 'Jim', lname: 'Doe'});\n\t * userList.el; //=> \"
    • John Doe
    • Jane Doe
    • Jim Doe
    \"\n\t *\n\t * users.first().destroy();\n\t * userList.el; //=> \"
    • Jane Doe
    • Jim Doe
    \"\n\t */\n\t\t\t\t\treturn View.extend( /** @lends src/framework/ListView.prototype */{\n\t\n\t\t\t\t\t\tconstructor: function constructor() {\n\t\t\t\t\t\t\tView.apply(this, arguments);\n\t\t\t\t\t\t\tif (!this.collection) {\n\t\t\t\t\t\t\t\tthrow new Error('Missing collection');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tthis.listenTo(this.collection, 'reset sort', this.reset);\n\t\t\t\t\t\t\tthis.listenTo(this.collection, 'add', this.addItem);\n\t\t\t\t\t\t\tthis.collection.each(this.addItem, this);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * The view/template we will use to render each model in the collection.\n\t * @type {String|module:Okta.View}\n\t */\n\t\t\t\t\t\titem: null,\n\t\n\t\t\t\t\t\t/**\n\t * A selector in the local template where to append each item\n\t * @type {String}\n\t */\n\t\t\t\t\t\titemSelector: null,\n\t\n\t\t\t\t\t\t/**\n\t * Empty the list and re-add everything from the collection.\n\t * Usefull for handling `collection.reset()` or for handling the initial load\n\t * @protected\n\t */\n\t\t\t\t\t\treset: function reset() {\n\t\t\t\t\t\t\tthis.removeChildren();\n\t\t\t\t\t\t\tthis.collection.each(this.addItem, this);\n\t\t\t\t\t\t\treturn this;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Add an item view to the list that will represent one model from the collection\n\t *\n\t * Listen to the model so when it is destoyed or removed from the collection\n\t * this item will remove itself from the list\n\t *\n\t * @param {Backbone.Model} model The model this row operates on\n\t * @protected\n\t */\n\t\t\t\t\t\taddItem: function addItem(model) {\n\t\t\t\t\t\t\tvar view = this.add(this.item, this.itemSelector, { options: { model: model } }).last();\n\t\t\t\t\t\t\tview.listenTo(model, 'destroy remove', view.remove);\n\t\t\t\t\t\t\treturn this;\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t});\n\t\t\t\t});\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 59 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(8), __webpack_require__(25), __webpack_require__(28)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, $, TemplateUtil, BaseView) {\n\t\n\t\t\t\t\tvar optionsTemplate = TemplateUtil.tpl('\\\n\t\t \\\n\t\t {{#if icon}}\\\n\t\t \\\n\t\t {{/if}}\\\n\t\t {{#if title}}\\\n\t\t {{title}}\\\n\t\t {{/if}}\\\n\t\t {{#if subtitle}}\\\n\t\t

    {{subtitle}}

    \\\n\t\t {{/if}}\\\n\t\t
    \\\n\t\t ');\n\t\n\t\t\t\t\tvar DropDownOption = BaseView.extend({\n\t\t\t\t\t\ttagName: 'li',\n\t\n\t\t\t\t\t\tevents: {\n\t\t\t\t\t\t\tclick: function click(e) {\n\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\tthis.action && this.action.call(this);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tconstructor: function constructor() {\n\t\t\t\t\t\t\tBaseView.apply(this, arguments);\n\t\t\t\t\t\t\tthis.$el.addClass('okta-dropdown-option option');\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\trender: function render() {\n\t\t\t\t\t\t\tthis.$el.html(optionsTemplate({\n\t\t\t\t\t\t\t\ticon: _.result(this, 'icon'),\n\t\t\t\t\t\t\t\tclassName: _.result(this, 'className') || '',\n\t\t\t\t\t\t\t\ttitle: _.result(this, 'title'),\n\t\t\t\t\t\t\t\tsubtitle: _.result(this, 'subtitle'),\n\t\t\t\t\t\t\t\tseleniumId: _.result(this, 'seleniumId')\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\treturn this;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\n\t\t\t\t\treturn BaseView.extend({\n\t\n\t\t\t\t\t\tevents: {\n\t\t\t\t\t\t\t'click a.option-selected': function clickAOptionSelected(e) {\n\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\tif (_.result(this, 'disabled')) {\n\t\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t'click .dropdown-disabled': function clickDropdownDisabled(e) {\n\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\titems: [],\n\t\n\t\t\t\t\t\tconstructor: function constructor() {\n\t\n\t\t\t\t\t\t\t// In this very specific case we want to NOT append className to $el\n\t\t\t\t\t\t\t// but to the tag in the template\n\t\t\t\t\t\t\t// so we want to disable backbone default functionality.\n\t\t\t\t\t\t\tvar className = this.className;\n\t\t\t\t\t\t\tthis.className = null;\n\t\n\t\t\t\t\t\t\tBaseView.apply(this, arguments);\n\t\n\t\t\t\t\t\t\tthis.className = className;\n\t\n\t\t\t\t\t\t\tthis.$el.addClass('dropdown more-actions float-l');\n\t\n\t\t\t\t\t\t\t_.each(_.result(this, 'items'), function (option) {\n\t\t\t\t\t\t\t\tthis.addOption(option, this.options);\n\t\t\t\t\t\t\t}, this);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\ttemplate: '\\\n\t\t \\\n\t\t {{#if icon}}\\\n\t\t \\\n\t\t {{/if}}\\\n\t\t {{title}}\\\n\t\t \\\n\t\t \\\n\t\t
    \\\n\t\t
      \\\n\t\t
      \\\n\t\t ',\n\t\n\t\t\t\t\t\tgetTemplateData: function getTemplateData() {\n\t\t\t\t\t\t\tvar className = [_.result(this, 'className') || '', _.result(this, 'disabled') ? 'dropdown-disabled' : ''];\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\ticon: _.result(this, 'icon'),\n\t\t\t\t\t\t\t\tclassName: $.trim(className.join(' ')),\n\t\t\t\t\t\t\t\ttitle: _.result(this, 'title')\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\taddOption: function addOption(proto, options) {\n\t\t\t\t\t\t\tthis.add(DropDownOption.extend(proto), 'ul.options-wrap', { options: options || {} });\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t});\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 60 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; /* eslint max-statements: 0, max-params: 0 */\n\t\t\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(10), __webpack_require__(61), __webpack_require__(67), __webpack_require__(23)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, StringUtil, BooleanSelect, TextBoxSet, EnumTypeHelper) {\n\t\t\t\t\t// Maps each __displayType__ to a basic set of inputOptions.\n\t\t\t\t\tfunction defaultOptions(property) {\n\t\t\t\t\t\t/* eslint complexity: [2, 22] */\n\t\t\t\t\t\tvar type = property.get('__displayType__'),\n\t\t\t\t\t\t values = property.get('__possibleValues__'),\n\t\t\t\t\t\t name = property.get('name'),\n\t\t\t\t\t\t title = property.get('title');\n\t\t\t\t\t\tvar inputOptions = {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\tname: name,\n\t\t\t\t\t\t\tlabel: title || name\n\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t// @see customOptions for enum complex \"object\" type,\n\t\t\t\t\t\t// a.k.a \"object\" or \"arrayofobject\" type has enum values defined.\n\t\t\t\t\t\t// Other cases (e.g., nested object type) are not support yet.\n\t\n\t\t\t\t\t\tswitch (type) {\n\t\t\t\t\t\t\tcase 'arrayofstring':\n\t\t\t\t\t\t\t\tinputOptions.input = TextBoxSet;\n\t\t\t\t\t\t\t\tinputOptions.params = { itemType: 'string' };\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'arrayofnumber':\n\t\t\t\t\t\t\t\tinputOptions.input = TextBoxSet;\n\t\t\t\t\t\t\t\tinputOptions.params = { itemType: 'number' };\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'arrayofinteger':\n\t\t\t\t\t\t\t\tinputOptions.input = TextBoxSet;\n\t\t\t\t\t\t\t\tinputOptions.params = { itemType: 'integer' };\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'arrayofobject':\n\t\t\t\t\t\t\t\tinputOptions.input = TextBoxSet;\n\t\t\t\t\t\t\t\tinputOptions.params = { itemType: property.get('items').type };\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'arrayofref-id':\n\t\t\t\t\t\t\t\tinputOptions.input = TextBoxSet;\n\t\t\t\t\t\t\t\tinputOptions.params = { itemType: property.get('items').format };\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'boolean':\n\t\t\t\t\t\t\t\tinputOptions.input = BooleanSelect;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'integer':\n\t\t\t\t\t\t\tcase 'number':\n\t\t\t\t\t\t\t\tinputOptions.to = convertStringToNumber;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'reference':\n\t\t\t\t\t\t\t\tinputOptions.type = 'select';\n\t\t\t\t\t\t\t\tinputOptions.options = getChoices(values);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'image':\n\t\t\t\t\t\t\t\tinputOptions.readOnly = true;\n\t\t\t\t\t\t\t\tinputOptions.from = function (value) {\n\t\t\t\t\t\t\t\t\treturn _.isEmpty(value) ? '' : StringUtil.localize('user.profile.image.image_set', 'courage'); //TODO\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\tcase 'password':\n\t\t\t\t\t\t\t\tinputOptions.type = 'password';\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'date':\n\t\t\t\t\t\t\t\tinputOptions.type = 'date';\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'uri':\n\t\t\t\t\t\t\tcase 'country-code':\n\t\t\t\t\t\t\tcase 'language-code':\n\t\t\t\t\t\t\tcase 'email':\n\t\t\t\t\t\t\tcase 'locale':\n\t\t\t\t\t\t\tcase 'timezone':\n\t\t\t\t\t\t\tcase 'string':\n\t\t\t\t\t\t\tcase 'object':\n\t\t\t\t\t\t\t\t//default input options\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\tthrow new Error('unknown type: ' + type);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn inputOptions;\n\t\t\t\t\t}\n\t\n\t\t\t\t\t// Sets nonbasic inputOptions, such as an array with possible values\n\t\t\t\t\tfunction customOptions(property) {\n\t\t\t\t\t\tvar inputOptions = {},\n\t\t\t\t\t\t name = property.get('name'),\n\t\t\t\t\t\t type = property.get('__displayType__'),\n\t\t\t\t\t\t values = property.get('__possibleValues__'),\n\t\t\t\t\t\t prefix = property.get('__fieldNamePrefix__');\n\t\n\t\t\t\t\t\tif (prefix) {\n\t\t\t\t\t\t\tinputOptions.name = prefix + name;\n\t\t\t\t\t\t\tinputOptions.errorField = name;\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\tif (property.isEnumType()) {\n\t\t\t\t\t\t\tvar configs = {\n\t\t\t\t\t\t\t\tdisplayType: type,\n\t\t\t\t\t\t\t\ttitle: property.get('title'),\n\t\t\t\t\t\t\t\tenumValues: property.getEnumValues()\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tinputOptions = _.extend({}, EnumTypeHelper.getEnumInputOptions(configs), inputOptions);\n\t\t\t\t\t\t} else if (isArray(type) && values) {\n\t\t\t\t\t\t\tinputOptions.type = 'checkboxset';\n\t\t\t\t\t\t\tinputOptions.input = null;\n\t\t\t\t\t\t\tinputOptions.options = getChoices(values);\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\treturn inputOptions;\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction convertStringToNumber(string) {\n\t\t\t\t\t\tvar number = StringUtil.parseFloat(string);\n\t\t\t\t\t\treturn string === '' ? null : number;\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction isArray(type) {\n\t\t\t\t\t\treturn type && type.indexOf('array') >= 0;\n\t\t\t\t\t}\n\t\n\t\t\t\t\t// converts possibleValues to choices\n\t\t\t\t\t// [a, b, c] => {a: a, b: b, c: c}\n\t\t\t\t\tfunction getChoices(values) {\n\t\t\t\t\t\treturn _.object(values, values);\n\t\t\t\t\t}\n\t\n\t\t\t\t\t// A schema property may have an objectName either\n\t\t\t\t\t// at the root level or nested in the items object\n\t\t\t\t\tfunction getObjectName(schemaProp) {\n\t\t\t\t\t\tvar items = schemaProp.get('items');\n\t\t\t\t\t\tif (items) {\n\t\t\t\t\t\t\treturn items.objectName;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn schemaProp.get('objectName');\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction augmentSchemaProp(schemaProp, possibleValues, profile) {\n\t\t\t\t\t\tvar name = schemaProp.get('name'),\n\t\t\t\t\t\t prefix = profile['__nestedProperty__'],\n\t\t\t\t\t\t defaultValues = possibleValues[name],\n\t\t\t\t\t\t userValues = profile.get(name),\n\t\t\t\t\t\t //TODO: Not implemented\n\t\t\t\t\t\tfixedValues,\n\t\t\t\t\t\t values;\n\t\n\t\t\t\t\t\t// If API responds with a field name that differs from the form-field name\n\t\t\t\t\t\t// example: Model's 'profile.username' vs. server's 'username'\n\t\t\t\t\t\tif (prefix) {\n\t\t\t\t\t\t\tschemaProp.set('__fieldNamePrefix__', prefix);\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t// case 1: objectName - fixed list of values are set for the input\n\t\t\t\t\t\tfixedValues = possibleValues[getObjectName(schemaProp)];\n\t\n\t\t\t\t\t\t// case 2: name only - default list of values are provided, user can add more\n\t\t\t\t\t\t// TODO: this case does not yet exist, so it is not tested\n\t\t\t\t\t\tif (defaultValues && userValues) {\n\t\t\t\t\t\t\tdefaultValues = _.union(defaultValues, userValues);\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t// If both fixed and default values exist,\n\t\t\t\t\t\t// take the fixed values unless they are empty\n\t\t\t\t\t\tif (fixedValues && fixedValues.length) {\n\t\t\t\t\t\t\tvalues = fixedValues;\n\t\t\t\t\t\t} else if (defaultValues && defaultValues.length) {\n\t\t\t\t\t\t\tvalues = defaultValues;\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\tschemaProp.set('__possibleValues__', values);\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction augmentSchemaProps(schemaProps, possibleValues, profile) {\n\t\t\t\t\t\tschemaProps.each(function (schemaProp) {\n\t\t\t\t\t\t\taugmentSchemaProp(schemaProp, possibleValues, profile);\n\t\t\t\t\t\t});\n\t\n\t\t\t\t\t\treturn schemaProps;\n\t\t\t\t\t}\n\t\n\t\t\t\t\t/**\n\t * Remove invalid schema properties from a collection\n\t *\n\t * @param {SchemaProperties Collection} [properties] A collection of schema properties\n\t * @param {Object} [values] An object of the form { key: [value1, value2]}\n\t * @return {Array} An array of valid schema models, this can be used to reset\n\t * a schema properties collection for example.\n\t * @private\n\t */\n\t\t\t\t\tfunction cleanSchema(properties, values) {\n\t\t\t\t\t\treturn properties.filter(function (schema) {\n\t\t\t\t\t\t\treturn isValidSchemaProp(schema, values);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\n\t\t\t\t\t/**\n\t * Checks the validity of a schema property.\n\t *\n\t * @param {SchemaProperty} [schemaProp] A schema property backbone model\n\t * @param {Object} [values] An object of the form { key: [value1, value2]}\n\t * @return {Boolean} true/false\n\t * @private\n\t */\n\t\t\t\t\tfunction isValidSchemaProp(schemaProp, values) {\n\t\t\t\t\t\tvar objectName = getObjectName(schemaProp),\n\t\t\t\t\t\t results = values[objectName];\n\t\n\t\t\t\t\t\t// a schema property that references an empty list of values\n\t\t\t\t\t\t// Im looking at you, google apps.\n\t\t\t\t\t\tif (objectName && _(results).isEmpty()) {\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\n\t\t\t\t\treturn {\n\t\n\t\t\t\t\t\t/**\n\t * Creates the options hash for BaseForm.addInput from a prepared schema\n\t * property.\n\t *\n\t * @param {Okta.Model} [preparedSchemaProp] A schema property backbone model\n\t * that has been standardized by the prepareSchema method.\n\t * @return {Object} An object containing all of the options needed by\n\t * BaseForm's addInput()\n\t */\n\t\t\t\t\t\tcreateInputOptions: function createInputOptions(preparedSchemaProp) {\n\t\t\t\t\t\t\tvar custom = customOptions(preparedSchemaProp),\n\t\t\t\t\t\t\t standard = defaultOptions(preparedSchemaProp);\n\t\n\t\t\t\t\t\t\t// underscore did not support nested extend\n\t\t\t\t\t\t\t// https://github.com/jashkenas/underscore/issues/162\n\t\t\t\t\t\t\tif (custom.params && standard.params) {\n\t\t\t\t\t\t\t\tcustom.params = _.defaults(custom.params, standard.params);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn _.defaults(custom, standard);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\thasValidSchemaProps: function hasValidSchemaProps(schemaProps, possibleValues) {\n\t\t\t\t\t\t\tif (_.isEmpty(schemaProps)) {\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tvar validSchema = cleanSchema(schemaProps, possibleValues);\n\t\t\t\t\t\t\t\treturn !!validSchema.length;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * This method is responsible for preparing a collection for the form\n\t * factory to use by putting all of the information to create an input\n\t * into the schema property and removing invalid properties.\n\t * The typical UD form takes 3 models:\n\t * The data model has the input values.\n\t * The schema model describes which input to use, such as a textbox or a checkbox.\n\t * The possible values model provide a list of default options to display, for example in a drop down menu.\n\t *\n\t * @param {SchemaProperty Collection} [schemaProps] A schema property backbone model.\n\t * @param {Object} [possibleValues] An object of the form { key: [value1, value2]}\n\t * @param {Okta.Model} [profile] A backbone model containing the property described by the schema property.\n\t * @return {SchemaProperty Collection} A schema property collection with standardized models.\n\t * The standard schema model adds a couple of additional private properties to\n\t * allow the form factory to reference lookup values or name prefixes without going to a second model.\n\t */\n\t\t\t\t\t\tprepareSchema: function prepareSchema(schemaProps, possibleValues, profile) {\n\t\t\t\t\t\t\tschemaProps.reset(cleanSchema(schemaProps, possibleValues));\n\t\t\t\t\t\t\treturn augmentSchemaProps(schemaProps, possibleValues, profile);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * `prepareSchema` will reset the property list which may not be necessary at some case.\n\t * like when setting default value for schema properties.\n\t * (more detail about such case @see wiki UX, App+Entitlements+for+Provisioning)\n\t *\n\t * @param { }\n\t * @return {String}\n\t */\n\t\n\t\t\t\t\t\taugmentSchemaProps: augmentSchemaProps,\n\t\n\t\t\t\t\t\taugmentSchemaProp: augmentSchemaProp\n\t\t\t\t\t};\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 61 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(62)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Select) {\n\t\n\t\t\t\t\tvar options = {\n\t\t\t\t\t\t'undefined': 'undefined',\n\t\t\t\t\t\t'true': 'true',\n\t\t\t\t\t\t'false': 'false'\n\t\t\t\t\t};\n\t\n\t\t\t\t\tvar from = function from(val) {\n\t\t\t\t\t\tif (val) {\n\t\t\t\t\t\t\treturn 'true';\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (val === false) {\n\t\t\t\t\t\t\treturn 'false';\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn 'undefined';\n\t\t\t\t\t};\n\t\n\t\t\t\t\tvar to = function to(val) {\n\t\t\t\t\t\tswitch (val) {\n\t\t\t\t\t\t\tcase 'undefined':\n\t\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t\tcase 'true':\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\tcase 'false':\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\n\t\t\t\t\treturn Select.extend({\n\t\n\t\t\t\t\t\tinitialize: function initialize() {\n\t\t\t\t\t\t\tthis.options.options = options;\n\t\t\t\t\t\t\tthis.options.from = from;\n\t\t\t\t\t\t\tthis.options.to = to;\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t});\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 62 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(8), __webpack_require__(3), __webpack_require__(46), __webpack_require__(25), __webpack_require__(63), __webpack_require__(66)], __WEBPACK_AMD_DEFINE_RESULT__ = function ($, _, Keys, TemplateUtil, BaseInput) {\n\t\n\t\t\t\t\tvar template = TemplateUtil.tpl('');\n\t\t\t\t\tvar option = TemplateUtil.tpl('');\n\t\n\t\t\t\t\t// Chosen has known problems when it's at the bottom of a container that has\n\t\t\t\t\t// overflow:hidden set. Because it attaches to the parent container, its\n\t\t\t\t\t// dropdown will be cut off in the UI. Any modal with a chosen select element\n\t\t\t\t\t// at the bottom will manifest this behavior.\n\t\t\t\t\t//\n\t\t\t\t\t// The fix (aside from replacing Chosen) is to change Chosen's behavior -\n\t\t\t\t\t// use the existing styles, but attach it to 'body' and position it correctly\n\t\t\t\t\t// so that it is not affected by a parent overflow.\n\t\t\t\t\t//\n\t\t\t\t\t// More details can be found in OKTA-46489, OKTA-83570\n\t\t\t\t\tvar CHOSEN_WINDOW_MARGIN = 20;\n\t\t\t\t\tvar CHOSEN_MAX_HEIGHT = 240;\n\t\t\t\t\tvar CHOSEN_Z_INDEX = 50000;\n\t\n\t\t\t\t\tfunction defer(fn) {\n\t\t\t\t\t\tif (this.params.autoWidth) {\n\t\t\t\t\t\t\treturn fn.call(this);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn _.defer(_.bind(fn, this));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction findSelectWidth(self) {\n\t\t\t\t\t\tself.$select.hide();\n\t\t\t\t\t\tvar select = $(self.$select[0]).hide();\n\t\t\t\t\t\t$('body').append(select);\n\t\t\t\t\t\tvar width = self.params.width = select.width() * 1.2 + 'px';\n\t\t\t\t\t\tself.$el.append(select.show());\n\t\t\t\t\t\treturn width;\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction recalculateChosen($chosen, $results, $clone) {\n\t\t\t\t\t\tvar offset = $clone.offset();\n\t\t\t\t\t\t$chosen.css({\n\t\t\t\t\t\t\tleft: offset.left,\n\t\t\t\t\t\t\ttop: offset.top\n\t\t\t\t\t\t});\n\t\t\t\t\t\t// Update the max-height to fit within the constraints of the window. This\n\t\t\t\t\t\t// is especially important for modals because page scrolling is disabled.\n\t\t\t\t\t\tvar $win = $(window),\n\t\t\t\t\t\t rHeight = $results.outerHeight(),\n\t\t\t\t\t\t rBottom = rHeight + $results.offset().top - $win.scrollTop(),\n\t\t\t\t\t\t wHeight = $win.height() - CHOSEN_WINDOW_MARGIN,\n\t\t\t\t\t\t maxHeight = Math.min(rHeight + wHeight - rBottom, CHOSEN_MAX_HEIGHT);\n\t\t\t\t\t\t$results.css('max-height', maxHeight);\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction fixChosenModal($select) {\n\t\t\t\t\t\tvar $chosen = $select.next('.chzn-container'),\n\t\t\t\t\t\t $clone = $chosen.clone(),\n\t\t\t\t\t\t $results = $chosen.find('.chzn-results');\n\t\n\t\t\t\t\t\t// Use a hidden clone to maintain layout and calculate offset. This is\n\t\t\t\t\t\t// necessary for more complex layouts (like adding a group rule) where\n\t\t\t\t\t\t// the chosen element is floated.\n\t\t\t\t\t\t$clone.css('visibility', 'hidden');\n\t\t\t\t\t\t$clone.removeAttr('id');\n\t\t\t\t\t\t$clone.find('li').removeAttr('id');\n\t\n\t\t\t\t\t\t// Save the original styles - we'll revert to them when the select closes\n\t\t\t\t\t\tvar baseStyles = {\n\t\t\t\t\t\t\t'left': $chosen.css('left'),\n\t\t\t\t\t\t\t'top': $chosen.css('top'),\n\t\t\t\t\t\t\t'position': $chosen.css('position'),\n\t\t\t\t\t\t\t'float': $chosen.css('float'),\n\t\t\t\t\t\t\t'z-index': $chosen.css('z-index')\n\t\t\t\t\t\t};\n\t\t\t\t\t\t$results.hide();\n\t\n\t\t\t\t\t\t// Handler for any resize events that happen when the results list is open\n\t\t\t\t\t\tvar resizeHandler = _.debounce(function () {\n\t\t\t\t\t\t\trecalculateChosen($chosen, $results, $clone);\n\t\t\t\t\t\t}, 10);\n\t\n\t\t\t\t\t\t// When the dropdown opens, attach it to body, with the correct absolute\n\t\t\t\t\t\t// position coordinates\n\t\t\t\t\t\t$select.off('.fixChosen'); // Remove events we could have added before\n\t\t\t\t\t\t$select.on('liszt:showing_dropdown.fixChosen', function () {\n\t\t\t\t\t\t\t$chosen.width($chosen.width());\n\t\t\t\t\t\t\t$select.after($clone);\n\t\t\t\t\t\t\t// .chzn-container can trigger the vertical scrollbar if it causes scrollHeight > window height after append to\n\t\t\t\t\t\t\t// the body. Force top -999999 to avoid the scrollbar so $chosen can find the right offset for relocation.\n\t\t\t\t\t\t\t$chosen.css({\n\t\t\t\t\t\t\t\t'position': 'absolute',\n\t\t\t\t\t\t\t\t'float': 'none',\n\t\t\t\t\t\t\t\t'z-index': CHOSEN_Z_INDEX,\n\t\t\t\t\t\t\t\t'top': -999999\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t$('body').append($chosen);\n\t\t\t\t\t\t\t$results.show();\n\t\t\t\t\t\t\trecalculateChosen($chosen, $results, $clone);\n\t\t\t\t\t\t\t// Capture scroll events:\n\t\t\t\t\t\t\t// - for forms that use fixed positioning (like editing attributes in\n\t\t\t\t\t\t\t// Profile Editor) - window scroll\n\t\t\t\t\t\t\t// - for forms that are too long for the modal - o-form-content scroll\n\t\t\t\t\t\t\t$select.parents().scroll(resizeHandler);\n\t\t\t\t\t\t\t$(window).on('resize scroll', resizeHandler);\n\t\t\t\t\t\t});\n\t\n\t\t\t\t\t\t// When the dropdown closes or the element is removed, revert to the\n\t\t\t\t\t\t// original styles and reattach it to its original placement in the dom.\n\t\t\t\t\t\t$select.on('liszt:hiding_dropdown.fixChosen remove.fixChosen', function () {\n\t\t\t\t\t\t\t$select.parents().off('scroll', resizeHandler);\n\t\t\t\t\t\t\t$(window).off('resize scroll', resizeHandler);\n\t\t\t\t\t\t\t$chosen.css(baseStyles);\n\t\t\t\t\t\t\t$results.hide();\n\t\t\t\t\t\t\t$results.css('max-height', CHOSEN_MAX_HEIGHT);\n\t\t\t\t\t\t\t$clone.remove();\n\t\t\t\t\t\t\t$select.after($chosen);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\n\t\t\t\t\treturn BaseInput.extend({\n\t\n\t\t\t\t\t\tclassName: 'o-form-select',\n\t\n\t\t\t\t\t\t/**\n\t * @Override\n\t */\n\t\t\t\t\t\tevents: {\n\t\t\t\t\t\t\t'change select': 'update',\n\t\t\t\t\t\t\t'keyup .chzn-search > :text': function keyupChznSearchText(e) {\n\t\t\t\t\t\t\t\tif (Keys.isEsc(e)) {\n\t\t\t\t\t\t\t\t\tthis.$('.chzn-search > :text').val('');\n\t\t\t\t\t\t\t\t\te.stopPropagation();\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\n\t\t\t\t\t\tconstructor: function constructor() {\n\t\t\t\t\t\t\tthis.template = template;\n\t\t\t\t\t\t\tthis.option = option;\n\t\t\t\t\t\t\tBaseInput.apply(this, arguments);\n\t\t\t\t\t\t\tthis.params = this.options.params || {};\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * @Override\n\t */\n\t\t\t\t\t\teditMode: function editMode() {\n\t\t\t\t\t\t\t/* eslint max-statements: [2, 13] */\n\t\n\t\t\t\t\t\t\tthis.$el.html(template(this.options));\n\t\t\t\t\t\t\tthis.$select = this.$('select');\n\t\n\t\t\t\t\t\t\tvar options = this.getOptions();\n\t\t\t\t\t\t\t_.each(options, function (value, key) {\n\t\t\t\t\t\t\t\tthis.$select.append(option({ key: key, value: value }));\n\t\t\t\t\t\t\t}, this);\n\t\n\t\t\t\t\t\t\t// Fix a regression in jQuery 1.x on Firefox\n\t\t\t\t\t\t\t// jQuery.val(value) prepends an empty option to the dropdown\n\t\t\t\t\t\t\t// if value doesnt exist in the dropdown.\n\t\t\t\t\t\t\t// http://bugs.jquery.com/ticket/13514\n\t\t\t\t\t\t\tvar value = this.getModelValue();\n\t\t\t\t\t\t\tif (value) {\n\t\t\t\t\t\t\t\tthis.$select.val(value);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.$('option:first-child').prop('selected', true);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tthis.$el.addClass('o-form-control');\n\t\n\t\t\t\t\t\t\tif (this.params.chosen !== false) {\n\t\t\t\t\t\t\t\tthis.__applyChosen();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn this;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t__applyChosen: function __applyChosen(update) {\n\t\t\t\t\t\t\tvar width = this.options.wide ? '100%' : this.params.width || '62%';\n\t\t\t\t\t\t\tif (this.params.autoWidth) {\n\t\t\t\t\t\t\t\twidth = findSelectWidth(this);\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tdefer.call(this, function () {\n\t\t\t\t\t\t\t\tvar searchThreshold = this.getParam('searchThreshold', 10);\n\t\t\t\t\t\t\t\tif (!_.result(this.options, 'autoRender') && update !== false) {\n\t\t\t\t\t\t\t\t\tthis.update();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tthis.$select.chosen({\n\t\t\t\t\t\t\t\t\t'width': width,\n\t\t\t\t\t\t\t\t\t'disable_search_threshold': searchThreshold,\n\t\t\t\t\t\t\t\t\t'placeholder_text': this.options['placeholder']\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tfixChosenModal(this.$select);\n\t\n\t\t\t\t\t\t\t\tif (this.params.autoWidth) {\n\t\t\t\t\t\t\t\t\t// fix a chosen css bug\n\t\t\t\t\t\t\t\t\tthis.$el.width(0);\n\t\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t\tthis.model.trigger('form:resize');\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * @Override\n\t */\n\t\t\t\t\t\tval: function val() {\n\t\t\t\t\t\t\treturn this.$select && this.$select.val();\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * @Override\n\t */\n\t\t\t\t\t\tfocus: function focus() {\n\t\t\t\t\t\t\tif (this.$select) {\n\t\t\t\t\t\t\t\treturn this.$select.focus();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * @Override\n\t */\n\t\t\t\t\t\ttoStringValue: function toStringValue() {\n\t\t\t\t\t\t\tvar selectedOption = this.getModelValue(),\n\t\t\t\t\t\t\t displayString = selectedOption,\n\t\t\t\t\t\t\t options = this.getOptions();\n\t\t\t\t\t\t\tif (!_.isEmpty(options)) {\n\t\t\t\t\t\t\t\tdisplayString = options[selectedOption];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (_.isUndefined(displayString)) {\n\t\t\t\t\t\t\t\tdisplayString = this.defaultValue();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn displayString || '';\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Convert options to an object\n\t * support input options that is a\n\t * 1. a static object such as {key1: val1, key2: val2...}\n\t * 2. a function to be called to return a static object\n\t * will return an object with key-value pairs or with empty content\n\t * @return {Object} The value\n\t */\n\t\t\t\t\t\tgetOptions: function getOptions() {\n\t\t\t\t\t\t\tvar options = this.options.options;\n\t\n\t\t\t\t\t\t\tif (_.isFunction(options)) {\n\t\t\t\t\t\t\t\toptions = options.call(this);\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\treturn _.isObject(options) ? options : {};\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tremove: function remove() {\n\t\t\t\t\t\t\tif (this.$select) {\n\t\t\t\t\t\t\t\tthis.$select.trigger('remove');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn BaseInput.prototype.remove.apply(this, arguments);\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t});\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 63 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; /* eslint-env es6 */\n\t\t\t\t/* eslint max-statements: [2, 17], max-len: [2, 160], max-params: [2, 6] */\n\t\t\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(8), __webpack_require__(28), __webpack_require__(64), __webpack_require__(26), __webpack_require__(10)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, $, BaseView, Callout, ButtonFactory, StringUtil) {\n\t\n\t\t\t\t\t/**\n\t * @class BaseInput\n\t * @private\n\t * An abstract object that defines an input for {@link Okta.Form}\n\t *\n\t * BaseInputs are typically not created directly, but being passed to {@link Okta.Form#addInput}\n\t * @extends Okta.View\n\t */\n\t\n\t\t\t\t\treturn BaseView.extend({\n\t\n\t\t\t\t\t\ttagName: 'span',\n\t\n\t\t\t\t\t\tattributes: function attributes() {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t'data-se': 'o-form-input-' + this.getNameString()\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * default placeholder text when options.placeholder is not defined\n\t */\n\t\t\t\t\t\tdefaultPlaceholder: '',\n\t\n\t\t\t\t\t\tconstructor: function constructor(options) {\n\t\t\t\t\t\t\t/* eslint complexity: [2, 7] */\n\t\t\t\t\t\t\toptions = _.defaults(options || {}, {\n\t\t\t\t\t\t\t\tinputId: options.id || _.uniqueId('input'),\n\t\t\t\t\t\t\t\tplaceholder: this.defaultPlaceholder,\n\t\t\t\t\t\t\t\tinlineValidation: true,\n\t\t\t\t\t\t\t\tvalidateOnlyIfDirty: false\n\t\t\t\t\t\t\t});\n\t\n\t\t\t\t\t\t\tdelete options.id;\n\t\n\t\t\t\t\t\t\t// decorate the `enable` and `disable` and toggle the `o-form-disabled` class.\n\t\t\t\t\t\t\t// so we wont need to worry about this when overriding the methods\n\t\t\t\t\t\t\tvar self = this;\n\t\t\t\t\t\t\t_.each({ enable: 'removeClass', disable: 'addClass' }, function (method, action) {\n\t\t\t\t\t\t\t\tself[action] = _.wrap(self[action], function (fn) {\n\t\t\t\t\t\t\t\t\tfn.apply(self, arguments);\n\t\t\t\t\t\t\t\t\tself.$el[method]('o-form-disabled');\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t});\n\t\n\t\t\t\t\t\t\tBaseView.call(this, options);\n\t\n\t\t\t\t\t\t\tif (_.result(options, 'readOnly') !== true && _.result(options, 'read') === true) {\n\t\t\t\t\t\t\t\tthis.listenTo(this.model, 'change:__edit__', this.render);\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tif (_.isFunction(this.focus)) {\n\t\t\t\t\t\t\t\tthis.focus = _.debounce(_.bind(this.focus, this), 50);\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t// Enable inline validation if this is not the first field in the form.\n\t\t\t\t\t\t\tif (!_.result(options, 'validateOnlyIfDirty')) {\n\t\t\t\t\t\t\t\tthis.addInlineValidation();\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tthis.addModelListeners();\n\t\t\t\t\t\t\tthis.$el.addClass('o-form-input-name-' + this.getNameString());\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\taddAriaLabel: function addAriaLabel() {\n\t\t\t\t\t\t\tvar ariaLabel = this.options.ariaLabel;\n\t\t\t\t\t\t\tif (ariaLabel) {\n\t\t\t\t\t\t\t\tthis.$(':input').attr('aria-label', ariaLabel);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\taddInlineValidation: function addInlineValidation() {\n\t\t\t\t\t\t\tif (_.result(this.options, 'inlineValidation')) {\n\t\t\t\t\t\t\t\tthis.$el.on('focusout', ':input', _.bind(this.validate, this));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\ttoModelValue: function toModelValue() {\n\t\t\t\t\t\t\tvar value = this.val();\n\t\t\t\t\t\t\tif (_.isFunction(this.to)) {\n\t\t\t\t\t\t\t\tvalue = this.to.call(this, value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (_.isFunction(this.options.to)) {\n\t\t\t\t\t\t\t\tvalue = this.options.to.call(this, value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn value;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t__getDependencyCalloutBtn: function __getDependencyCalloutBtn(btnConfig) {\n\t\t\t\t\t\t\tvar self = this;\n\t\t\t\t\t\t\tvar btnOptions = _.clone(btnConfig);\n\t\t\t\t\t\t\t// add onfocus listener to re-evaluate depedency when callout button is clicked\n\t\t\t\t\t\t\tvar originalClick = btnOptions.click || function () {};\n\t\t\t\t\t\t\tbtnOptions.click = function () {\n\t\t\t\t\t\t\t\t$(window).one('focus.dependency', function () {\n\t\t\t\t\t\t\t\t\tself.__showInputDependencies();\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\toriginalClick.call(self);\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tvar CalloutBtn = BaseView.extend({\n\t\t\t\t\t\t\t\tchildren: [ButtonFactory.create(btnOptions)]\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\treturn new CalloutBtn();\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tgetCalloutParent: function getCalloutParent() {\n\t\t\t\t\t\t\treturn this.$('input[value=\"' + this.getModelValue() + '\"]').parent();\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t__getCalloutMsgContainer: function __getCalloutMsgContainer(calloutMsg) {\n\t\t\t\t\t\t\treturn BaseView.extend({\n\t\t\t\t\t\t\t\ttemplate: '\\\n\t\t \\\n\t\t {{msg}}\\\n\t\t \\\n\t\t ',\n\t\t\t\t\t\t\t\tgetTemplateData: function getTemplateData() {\n\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\tmsg: calloutMsg\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\n\t\t\t\t\t\tshowCallout: function showCallout(calloutConfig, dependencyResolved) {\n\t\t\t\t\t\t\tvar callout = _.clone(calloutConfig);\n\t\t\t\t\t\t\tcallout.className = 'dependency-callout';\n\t\t\t\t\t\t\tif (callout.btn) {\n\t\t\t\t\t\t\t\tcallout.content = this.__getDependencyCalloutBtn(callout.btn);\n\t\t\t\t\t\t\t\tdelete callout.btn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvar dependencyCallout = Callout.create(callout);\n\t\t\t\t\t\t\tif (!dependencyResolved) {\n\t\t\t\t\t\t\t\tdependencyCallout.add(this.__getCalloutMsgContainer(StringUtil.localize('dependency.callout.msg', 'courage')));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvar calloutParent = this.getCalloutParent();\n\t\t\t\t\t\t\tcalloutParent.append(dependencyCallout.render().el);\n\t\t\t\t\t\t\tif (callout.type == 'success') {\n\t\t\t\t\t\t\t\t_.delay(function () {\n\t\t\t\t\t\t\t\t\t// fade out success callout\n\t\t\t\t\t\t\t\t\tdependencyCallout.$el.fadeOut(800);\n\t\t\t\t\t\t\t\t}, 1000);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tremoveCallout: function removeCallout() {\n\t\t\t\t\t\t\tthis.$el.find('.dependency-callout').remove();\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t__evaluateCalloutObject: function __evaluateCalloutObject(dependencyResolved, calloutTitle) {\n\t\t\t\t\t\t\tvar defaultCallout;\n\t\t\t\t\t\t\tif (dependencyResolved) {\n\t\t\t\t\t\t\t\tdefaultCallout = {\n\t\t\t\t\t\t\t\t\ttitle: StringUtil.localize('dependency.action.completed', 'courage'),\n\t\t\t\t\t\t\t\t\tsize: 'large',\n\t\t\t\t\t\t\t\t\ttype: 'success'\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\tdefaultCallout = {\n\t\t\t\t\t\t\t\t\ttitle: StringUtil.localize('dependency.action.required', 'courage', [calloutTitle]),\n\t\t\t\t\t\t\t\t\tsize: 'large',\n\t\t\t\t\t\t\t\t\ttype: 'warning'\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn defaultCallout;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t__handleDependency: function __handleDependency(result, callout) {\n\t\t\t\t\t\t\tvar self = this;\n\t\t\t\t\t\t\tvar calloutConfig = _.isFunction(callout) ? callout(result) : _.extend({}, callout, self.__evaluateCalloutObject(result.resolved, callout.title));\n\t\t\t\t\t\t\t// remove existing callouts if any\n\t\t\t\t\t\t\tself.removeCallout();\n\t\t\t\t\t\t\tself.showCallout(calloutConfig, result.resolved);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t__showInputDependencies: function __showInputDependencies() {\n\t\t\t\t\t\t\tvar self = this;\n\t\t\t\t\t\t\tvar fieldDependency = self.options.deps[self.getModelValue()];\n\t\t\t\t\t\t\tif (fieldDependency && _.isFunction(fieldDependency.func)) {\n\t\t\t\t\t\t\t\tfieldDependency.func().done(function (data) {\n\t\t\t\t\t\t\t\t\tself.__handleDependency({ resolved: true, data: data }, fieldDependency.callout);\n\t\t\t\t\t\t\t\t}).fail(function (data) {\n\t\t\t\t\t\t\t\t\tself.__handleDependency({ resolved: false, data: data }, fieldDependency.callout);\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\tself.removeCallout();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t_isEdited: false,\n\t\t\t\t\t\t/**\n\t * updates the model with the input's value\n\t */\n\t\t\t\t\t\tupdate: function update() {\n\t\t\t\t\t\t\tif (!this._isEdited && _.result(this.options, 'validateOnlyIfDirty')) {\n\t\t\t\t\t\t\t\tthis._isEdited = true;\n\t\t\t\t\t\t\t\tthis.addInlineValidation();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tthis.model.set(this.options.name, this.toModelValue());\n\t\t\t\t\t\t\tif (this.options.deps) {\n\t\t\t\t\t\t\t\t// check for dependencies\n\t\t\t\t\t\t\t\tthis.__showInputDependencies();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Is the input in edit mode\n\t * @return {Boolean}\n\t */\n\t\t\t\t\t\tisEditMode: function isEditMode() {\n\t\t\t\t\t\t\tvar ret = !_.result(this.options, 'readOnly') && (_.result(this.options, 'read') !== true || this.model.get('__edit__') === true);\n\t\t\t\t\t\t\treturn ret;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Renders the input\n\t * @readonly\n\t */\n\t\t\t\t\t\trender: function render() {\n\t\t\t\t\t\t\tthis.preRender();\n\t\t\t\t\t\t\tvar params = this.options.params;\n\t\t\t\t\t\t\tthis.options.params = _.resultCtx(this.options, 'params', this);\n\t\n\t\t\t\t\t\t\tif (this.isEditMode()) {\n\t\t\t\t\t\t\t\tthis.editMode();\n\t\t\t\t\t\t\t\tif (_.resultCtx(this.options, 'disabled', this)) {\n\t\t\t\t\t\t\t\t\tthis.disable();\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tthis.enable();\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\tthis.readMode();\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tthis.options.params = params;\n\t\t\t\t\t\t\tthis.addAriaLabel();\n\t\t\t\t\t\t\tthis.postRender();\n\t\n\t\t\t\t\t\t\treturn this;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * checks if the current value in the model is valid for this field\n\t */\n\t\t\t\t\t\tvalidate: function validate() {\n\t\t\t\t\t\t\tif (!this.model.get('__pending__') && this.isEditMode() && _.isFunction(this.model.validateField)) {\n\t\t\t\t\t\t\t\tvar validationError = this.model.validateField(this.options.name);\n\t\t\t\t\t\t\t\tif (validationError) {\n\t\t\t\t\t\t\t\t\t_.delay(function () {\n\t\t\t\t\t\t\t\t\t\tthis.model.trigger('form:clear-error:' + this.options.name);\n\t\t\t\t\t\t\t\t\t\tthis.model.trigger('invalid', this.model, validationError, false);\n\t\t\t\t\t\t\t\t\t}.bind(this), 100);\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\n\t\t\t\t\t\t/**\n\t * Add model event listeners\n\t */\n\t\t\t\t\t\taddModelListeners: function addModelListeners() {\n\t\t\t\t\t\t\tthis.listenTo(this.model, 'form:field-error', function (name) {\n\t\t\t\t\t\t\t\tif (this.options.name === name) {\n\t\t\t\t\t\t\t\t\tthis.__markError();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tthis.listenTo(this.model, 'form:clear-errors change:' + this.options.name, this.__clearError);\n\t\t\t\t\t\t\tthis.listenTo(this.model, 'form:clear-error:' + this.options.name, this.__clearError);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * The value of the input\n\t * @return {Mixed}\n\t */\n\t\t\t\t\t\tval: function val() {\n\t\t\t\t\t\t\tthrow new Error('val() is an abstract method');\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Set focus on the input\n\t */\n\t\t\t\t\t\tfocus: function focus() {\n\t\t\t\t\t\t\tthrow new Error('focus() is an abstract method');\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Default value in read mode\n\t * When model has no value for the field\n\t */\n\t\t\t\t\t\tdefaultValue: function defaultValue() {\n\t\t\t\t\t\t\treturn '';\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Renders the input in edit mode\n\t */\n\t\t\t\t\t\teditMode: function editMode() {\n\t\t\t\t\t\t\tvar options = _.extend({}, this.options, {\n\t\t\t\t\t\t\t\tvalue: this.getModelValue()\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tthis.$el.html(this.template(options));\n\t\t\t\t\t\t\tthis.options.multi && this.$el.removeClass('margin-r');\n\t\t\t\t\t\t\treturn this;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Renders the readable value of the input in read mode\n\t */\n\t\t\t\t\t\treadMode: function readMode() {\n\t\t\t\t\t\t\tthis.$el.text(this.getReadModeString());\n\t\t\t\t\t\t\tthis.$el.removeClass('error-field');\n\t\t\t\t\t\t\tthis.options.multi && this.$el.addClass('margin-r');\n\t\t\t\t\t\t\treturn this;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tgetReadModeString: function getReadModeString() {\n\t\t\t\t\t\t\tvar readModeStr = _.resultCtx(this.options, 'readModeString', this);\n\t\t\t\t\t\t\tif (readModeStr) {\n\t\t\t\t\t\t\t\treturn readModeStr;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn this.toStringValue();\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * The model value off the field associated with the input\n\t * @return {Mixed}\n\t */\n\t\t\t\t\t\tgetModelValue: function getModelValue() {\n\t\t\t\t\t\t\tvar value = this.model.get(this.options.name);\n\t\n\t\t\t\t\t\t\tif (_.isFunction(this.from)) {\n\t\t\t\t\t\t\t\tvalue = this.from.call(this, value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (_.isFunction(this.options.from)) {\n\t\t\t\t\t\t\t\tvalue = this.options.from.call(this, value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn value;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/*\n\t * convenience method to get the textual value from the model\n\t * will return the textual label rather than value in case of select/radio\n\t * @return {String}\n\t */\n\t\t\t\t\t\ttoStringValue: function toStringValue() {\n\t\t\t\t\t\t\tvar value = this.getModelValue();\n\t\t\t\t\t\t\tif (this.options.options) {\n\t\t\t\t\t\t\t\t// dropdown or radio\n\t\t\t\t\t\t\t\tvalue = this.options.options[value];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn value || this.defaultValue();\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Triggers a form:resize event in order to tell dialogs content size has changed\n\t */\n\t\t\t\t\t\tresize: function resize() {\n\t\t\t\t\t\t\tthis.model.trigger('form:resize');\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Disable the input\n\t */\n\t\t\t\t\t\tdisable: function disable() {\n\t\t\t\t\t\t\tthis.$(':input').prop('disabled', true);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Enable the input\n\t */\n\t\t\t\t\t\tenable: function enable() {\n\t\t\t\t\t\t\tthis.$(':input').prop('disabled', false);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Change the type of the input field. (e.g., text <--> password)\n\t * @param type\n\t */\n\t\t\t\t\t\tchangeType: function changeType(type) {\n\t\t\t\t\t\t\tthis.$(':input').prop('type', type);\n\t\t\t\t\t\t\t// Update the options so that it keeps the uptodate state\n\t\t\t\t\t\t\tthis.options.type = type;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tgetNameString: function getNameString() {\n\t\t\t\t\t\t\tif (_.isArray(this.options.name)) {\n\t\t\t\t\t\t\t\treturn this.options.name.join('-');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn this.options.name;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Get parameters, computing _.result\n\t * @param {[type]} options alternative options\n\t * @return {Object} the params\n\t */\n\t\t\t\t\t\tgetParams: function getParams(options) {\n\t\t\t\t\t\t\tvar opts = options || this.options || {};\n\t\t\t\t\t\t\treturn _.clone(_.resultCtx(opts, 'params', this) || {});\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * get a parameter from options.params, compute _.result when needed.\n\t * @param {String} key\n\t * @param {Object} defaultValue\n\t * @return {Object} the params\n\t */\n\t\t\t\t\t\tgetParam: function getParam(key, defaultValue) {\n\t\t\t\t\t\t\tvar result = _.resultCtx(this.getParams(), key, this);\n\t\t\t\t\t\t\treturn !_.isUndefined(result) ? result : defaultValue;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Get a parameter from options.params or if empty, object attribute.\n\t *\n\t * @param {String} key\n\t * @return {Object} the param or attribute\n\t */\n\t\t\t\t\t\tgetParamOrAttribute: function getParamOrAttribute(key) {\n\t\t\t\t\t\t\treturn this.getParam(key) || _.result(this, key);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t__markError: function __markError() {\n\t\t\t\t\t\t\tthis.$el.addClass('o-form-has-errors');\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t__clearError: function __clearError() {\n\t\t\t\t\t\t\tthis.$el.removeClass('o-form-has-errors');\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t});\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 64 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(28), __webpack_require__(65)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, BaseView, Time) {\n\t\n\t\t\t\t\tfunction getOption(callout, option) {\n\t\t\t\t\t\treturn _.resultCtx(callout.options, option, callout) || _.result(callout, option);\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction getTopClass(callout) {\n\t\t\t\t\t\tvar klass = 'infobox clearfix infobox-' + getOption(callout, 'type');\n\t\t\t\t\t\tswitch (getOption(callout, 'size')) {\n\t\t\t\t\t\t\tcase 'standard':\n\t\t\t\t\t\t\t\tklass += '';\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'slim':\n\t\t\t\t\t\t\t\tklass += ' infobox-slim';\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'compact':\n\t\t\t\t\t\t\t\tklass += ' infobox-compact';\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'large':\n\t\t\t\t\t\t\t\tklass += ' infobox-md';\n\t\t\t\t\t\t\t\tbreak;\n\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (getOption(callout, 'dismissible')) {\n\t\t\t\t\t\t\tklass += ' infobox-dismiss';\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn klass;\n\t\t\t\t\t}\n\t\n\t\t\t\t\tvar events = {\n\t\t\t\t\t\t'click .infobox-dismiss-link': function clickInfoboxDismissLink(e) {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\tthis.$el.fadeOut(Time.UNLOADING_FADE, _.bind(function () {\n\t\t\t\t\t\t\t\tthis.trigger('dismissed');\n\t\t\t\t\t\t\t\tthis.remove();\n\t\t\t\t\t\t\t}, this));\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\n\t\t\t\t\tvar template = '\\\n\t\t {{#if dismissible}}\\\n\t\t \\\n\t\t \\\n\t\t \\\n\t\t {{/if}}\\\n\t\t \\\n\t\t {{#if title}}

      {{title}}

      {{/if}}\\\n\t\t {{#if subtitle}}

      {{subtitle}}

      {{/if}}\\\n\t\t {{#if bullets}}\\\n\t\t
        \\\n\t\t {{#each bullets}}
      • {{this}}
      • {{/each}}\\\n\t\t
      \\\n\t\t {{/if}}\\\n\t\t ';\n\t\n\t\t\t\t\t/**\n\t * @class src/views/components/Callout\n\t * @extends module:Okta.View\n\t */\n\t\n\t\t\t\t\tvar Callout = BaseView.extend( /** @lends src/views/components/Callout.prototype */{\n\t\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t'data-se': 'callout'\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * Custom HTML or view to inject to the callout\n\t * @type {String|Okta.View}\n\t */\n\t\t\t\t\t\tcontent: null,\n\t\n\t\t\t\t\t\t/**\n\t * Size of icon. options are standard, large, compact\n\t * @type {String}\n\t */\n\t\t\t\t\t\tsize: 'standard',\n\t\n\t\t\t\t\t\t/**\n\t * Type of the callout. Valid values are: info, success, warning, error, tip\n\t * @type {String}\n\t */\n\t\t\t\t\t\ttype: 'info',\n\t\n\t\t\t\t\t\t/**\n\t * Can the callout be dismissed\n\t * @type {Boolean}\n\t */\n\t\t\t\t\t\tdismissible: false,\n\t\n\t\t\t\t\t\t/**\n\t * Callout title\n\t * @type {String}\n\t */\n\t\t\t\t\t\ttitle: null,\n\t\n\t\t\t\t\t\t/**\n\t * Callout subtitle\n\t * @type {String}\n\t */\n\t\t\t\t\t\tsubtitle: null,\n\t\n\t\t\t\t\t\t/**\n\t * Array of strings to render as bullet points\n\t * @type {Array}\n\t */\n\t\t\t\t\t\tbullets: null,\n\t\n\t\t\t\t\t\t/**\n\t * Fired after the callout is dismised - applies when \n\t * {@link module:Okta.internal.views.components.Callout|dismissible} is set to true\n\t * @event src/views/components/Callout#dismissed\n\t */\n\t\n\t\t\t\t\t\tconstructor: function constructor() {\n\t\t\t\t\t\t\tthis.events = _.defaults(this.events || {}, events);\n\t\n\t\t\t\t\t\t\tBaseView.apply(this, arguments);\n\t\n\t\t\t\t\t\t\tthis.$el.addClass(getTopClass(this));\n\t\n\t\t\t\t\t\t\tthis.template = template;\n\t\n\t\t\t\t\t\t\tvar content = getOption(this, 'content');\n\t\t\t\t\t\t\tif (content) {\n\t\t\t\t\t\t\t\tthis.add(content);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tgetTemplateData: function getTemplateData() {\n\t\t\t\t\t\t\tvar icon = getOption(this, 'type');\n\t\t\t\t\t\t\tvar size = getOption(this, 'size');\n\t\t\t\t\t\t\tif (icon === 'tip') {\n\t\t\t\t\t\t\t\t// css is inconsistent\n\t\t\t\t\t\t\t\ticon = 'light-bulb';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tswitch (size) {\n\t\t\t\t\t\t\t\tcase 'slim':\n\t\t\t\t\t\t\t\t\ticon = '';\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase 'large':\n\t\t\t\t\t\t\t\t\ticon = [icon, '-', '24'].join('');\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\ticon = [icon, '-', '16'].join('');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\ticon: icon,\n\t\t\t\t\t\t\t\ttitle: getOption(this, 'title'),\n\t\t\t\t\t\t\t\tsubtitle: getOption(this, 'subtitle'),\n\t\t\t\t\t\t\t\tbullets: getOption(this, 'bullets'),\n\t\t\t\t\t\t\t\tdismissible: getOption(this, 'dismissible')\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\n\t\t\t\t\t/**\n\t * @class module:Okta.internal.views.components.Callout\n\t */\n\t\t\t\t\treturn (/** @lends module:Okta.internal.views.components.Callout */{\n\t\t\t\t\t\t\t/**\n\t * Creates a {@link src/views/components/Callout|Callout}.\n\t * @static\n\t * @param {Object} options\n\t * @param {String|Function} [options.size] Size of icon. options are standard, large, compact, slim\n\t * @param {String|Okta.View} [options.content] Custom HTML or view to inject to the callout\n\t * @param {String|Function} [options.title] Callout title\n\t * @param {String|Function} [options.subtitle] Callout subtitle\n\t * @param {Array|Function} [options.bullets] Array of strings to render as bullet points\n\t * @param {Boolean|Function} [options.dismissible] Can the callout be dismissed\n\t * @param {String|Function} [options.type] Callout type. Valid values are: info, success, warning, error, tip\n\t *\n\t * @return {src/views/components/Callout}\n\t */\n\t\t\t\t\t\t\tcreate: function create(options) {\n\t\t\t\t\t\t\t\treturn new Callout(options);\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}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 65 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\t!(module.exports = {\n\t\t\t\t\tDEBOUNCE_DELAY: 200,\n\t\t\t\t\tLOADING_FADE: 400,\n\t\t\t\t\tUNLOADING_FADE: 400,\n\t\t\t\t\tROW_EXPANDER_TRANSITION: 150,\n\t\t\t\t\tHIDE_ADD_MAPPING_FORM: 300\n\t\t\t\t});\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 66 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // Chosen, a Select Box Enhancer for jQuery and Prototype\n\t\t\t\t// by Patrick Filler for Harvest, http://getharvest.com\n\t\t\t\t//\n\t\t\t\t// Version 0.11.1\n\t\t\t\t// Full source at https://github.com/harvesthq/chosen\n\t\t\t\t// Copyright (c) 2011 Harvest http://getharvest.com\n\t\n\t\t\t\t// MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md\n\t\t\t\t// This file is generated by `grunt build`, do not edit it by hand.\n\t\n\t\t\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(9)], __WEBPACK_AMD_DEFINE_RESULT__ = function (jQuery) {\n\t\t\t\t\t(function () {\n\t\t\t\t\t\tvar SelectParser;\n\t\n\t\t\t\t\t\tSelectParser = function () {\n\t\t\t\t\t\t\tfunction SelectParser() {\n\t\t\t\t\t\t\t\tthis.options_index = 0;\n\t\t\t\t\t\t\t\tthis.parsed = [];\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tSelectParser.prototype.add_node = function (child) {\n\t\t\t\t\t\t\t\tif (child.nodeName.toUpperCase() === \"OPTGROUP\") {\n\t\t\t\t\t\t\t\t\treturn this.add_group(child);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\treturn this.add_option(child);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tSelectParser.prototype.add_group = function (group) {\n\t\t\t\t\t\t\t\tvar group_position, option, _i, _len, _ref, _results;\n\t\n\t\t\t\t\t\t\t\tgroup_position = this.parsed.length;\n\t\t\t\t\t\t\t\tthis.parsed.push({\n\t\t\t\t\t\t\t\t\tarray_index: group_position,\n\t\t\t\t\t\t\t\t\tgroup: true,\n\t\t\t\t\t\t\t\t\tlabel: group.label,\n\t\t\t\t\t\t\t\t\tchildren: 0,\n\t\t\t\t\t\t\t\t\tdisabled: group.disabled\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t_ref = group.childNodes;\n\t\t\t\t\t\t\t\t_results = [];\n\t\t\t\t\t\t\t\tfor (_i = 0, _len = _ref.length; _i < _len; _i++) {\n\t\t\t\t\t\t\t\t\toption = _ref[_i];\n\t\t\t\t\t\t\t\t\t_results.push(this.add_option(option, group_position, group.disabled));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn _results;\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tSelectParser.prototype.add_option = function (option, group_position, group_disabled) {\n\t\t\t\t\t\t\t\tif (option.nodeName.toUpperCase() === \"OPTION\") {\n\t\t\t\t\t\t\t\t\tif (option.text !== \"\") {\n\t\t\t\t\t\t\t\t\t\tif (group_position != null) {\n\t\t\t\t\t\t\t\t\t\t\tthis.parsed[group_position].children += 1;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tthis.parsed.push({\n\t\t\t\t\t\t\t\t\t\t\tarray_index: this.parsed.length,\n\t\t\t\t\t\t\t\t\t\t\toptions_index: this.options_index,\n\t\t\t\t\t\t\t\t\t\t\tvalue: option.value,\n\t\t\t\t\t\t\t\t\t\t\ttext: option.text,\n\t\t\t\t\t\t\t\t\t\t\thtml: option.innerHTML,\n\t\t\t\t\t\t\t\t\t\t\tselected: option.selected,\n\t\t\t\t\t\t\t\t\t\t\tdisabled: group_disabled === true ? group_disabled : option.disabled,\n\t\t\t\t\t\t\t\t\t\t\tgroup_array_index: group_position,\n\t\t\t\t\t\t\t\t\t\t\tclasses: option.className,\n\t\t\t\t\t\t\t\t\t\t\tstyle: option.style.cssText\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tthis.parsed.push({\n\t\t\t\t\t\t\t\t\t\t\tarray_index: this.parsed.length,\n\t\t\t\t\t\t\t\t\t\t\toptions_index: this.options_index,\n\t\t\t\t\t\t\t\t\t\t\tempty: true\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\treturn this.options_index += 1;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\treturn SelectParser;\n\t\t\t\t\t\t}();\n\t\n\t\t\t\t\t\tSelectParser.select_to_array = function (select) {\n\t\t\t\t\t\t\tvar child, parser, _i, _len, _ref;\n\t\n\t\t\t\t\t\t\tparser = new SelectParser();\n\t\t\t\t\t\t\t_ref = select.childNodes;\n\t\t\t\t\t\t\tfor (_i = 0, _len = _ref.length; _i < _len; _i++) {\n\t\t\t\t\t\t\t\tchild = _ref[_i];\n\t\t\t\t\t\t\t\tparser.add_node(child);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn parser.parsed;\n\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\tthis.SelectParser = SelectParser;\n\t\t\t\t\t}).call(this);\n\t\n\t\t\t\t\t(function () {\n\t\t\t\t\t\tvar AbstractChosen, root;\n\t\n\t\t\t\t\t\troot = this;\n\t\n\t\t\t\t\t\tAbstractChosen = function () {\n\t\t\t\t\t\t\tfunction AbstractChosen(form_field, options) {\n\t\t\t\t\t\t\t\tthis.form_field = form_field;\n\t\t\t\t\t\t\t\tthis.options = options != null ? options : {};\n\t\t\t\t\t\t\t\tif (!AbstractChosen.browser_is_supported()) {\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tthis.is_multiple = this.form_field.multiple;\n\t\t\t\t\t\t\t\tthis.set_default_text();\n\t\t\t\t\t\t\t\tthis.set_default_values();\n\t\t\t\t\t\t\t\tthis.setup();\n\t\t\t\t\t\t\t\tthis.set_up_html();\n\t\t\t\t\t\t\t\tthis.register_observers();\n\t\t\t\t\t\t\t\tthis.finish_setup();\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tAbstractChosen.prototype.set_default_values = function () {\n\t\t\t\t\t\t\t\tvar _this = this;\n\t\n\t\t\t\t\t\t\t\tthis.click_test_action = function (evt) {\n\t\t\t\t\t\t\t\t\treturn _this.test_active_click(evt);\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\tthis.activate_action = function (evt) {\n\t\t\t\t\t\t\t\t\treturn _this.activate_field(evt);\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\tthis.active_field = false;\n\t\t\t\t\t\t\t\tthis.mouse_on_container = false;\n\t\t\t\t\t\t\t\tthis.results_showing = false;\n\t\t\t\t\t\t\t\tthis.result_highlighted = null;\n\t\t\t\t\t\t\t\tthis.result_single_selected = null;\n\t\t\t\t\t\t\t\tthis.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\t\t\t\t\t\t\t\tthis.disable_search_threshold = this.options.disable_search_threshold || 0;\n\t\t\t\t\t\t\t\tthis.disable_search = this.options.disable_search || false;\n\t\t\t\t\t\t\t\tthis.enable_split_word_search = this.options.enable_split_word_search != null ? this.options.enable_split_word_search : true;\n\t\t\t\t\t\t\t\tthis.search_contains = this.options.search_contains || false;\n\t\t\t\t\t\t\t\tthis.single_backstroke_delete = this.options.single_backstroke_delete || false;\n\t\t\t\t\t\t\t\tthis.max_selected_options = this.options.max_selected_options || Infinity;\n\t\t\t\t\t\t\t\treturn this.inherit_select_classes = this.options.inherit_select_classes || false;\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tAbstractChosen.prototype.set_default_text = function () {\n\t\t\t\t\t\t\t\tif (this.form_field.getAttribute(\"data-placeholder\")) {\n\t\t\t\t\t\t\t\t\tthis.default_text = this.form_field.getAttribute(\"data-placeholder\");\n\t\t\t\t\t\t\t\t} else if (this.is_multiple) {\n\t\t\t\t\t\t\t\t\tthis.default_text = this.options.placeholder_text_multiple || this.options.placeholder_text || AbstractChosen.default_multiple_text;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tthis.default_text = this.options.placeholder_text_single || this.options.placeholder_text || AbstractChosen.default_single_text;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn this.results_none_found = this.form_field.getAttribute(\"data-no_results_text\") || this.options.no_results_text || AbstractChosen.default_no_result_text;\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tAbstractChosen.prototype.mouse_enter = function () {\n\t\t\t\t\t\t\t\treturn this.mouse_on_container = true;\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tAbstractChosen.prototype.mouse_leave = function () {\n\t\t\t\t\t\t\t\treturn this.mouse_on_container = false;\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tAbstractChosen.prototype.input_focus = function (evt) {\n\t\t\t\t\t\t\t\tvar _this = this;\n\t\n\t\t\t\t\t\t\t\tif (this.is_multiple) {\n\t\t\t\t\t\t\t\t\tif (!this.active_field) {\n\t\t\t\t\t\t\t\t\t\treturn setTimeout(function () {\n\t\t\t\t\t\t\t\t\t\t\treturn _this.container_mousedown();\n\t\t\t\t\t\t\t\t\t\t}, 50);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tif (!this.active_field) {\n\t\t\t\t\t\t\t\t\t\treturn this.activate_field();\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\n\t\t\t\t\t\t\tAbstractChosen.prototype.input_blur = function (evt) {\n\t\t\t\t\t\t\t\tvar _this = this;\n\t\n\t\t\t\t\t\t\t\tif (!this.mouse_on_container) {\n\t\t\t\t\t\t\t\t\tthis.active_field = false;\n\t\t\t\t\t\t\t\t\treturn setTimeout(function () {\n\t\t\t\t\t\t\t\t\t\treturn _this.blur_test();\n\t\t\t\t\t\t\t\t\t}, 100);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tAbstractChosen.prototype.result_add_option = function (option) {\n\t\t\t\t\t\t\t\tvar classes, style;\n\t\n\t\t\t\t\t\t\t\toption.dom_id = this.container_id + \"_o_\" + option.array_index;\n\t\t\t\t\t\t\t\tclasses = [];\n\t\t\t\t\t\t\t\tif (!option.disabled && !(option.selected && this.is_multiple)) {\n\t\t\t\t\t\t\t\t\tclasses.push(\"active-result\");\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (option.disabled && !(option.selected && this.is_multiple)) {\n\t\t\t\t\t\t\t\t\tclasses.push(\"disabled-result\");\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (option.selected) {\n\t\t\t\t\t\t\t\t\tclasses.push(\"result-selected\");\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (option.group_array_index != null) {\n\t\t\t\t\t\t\t\t\tclasses.push(\"group-option\");\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (option.classes !== \"\") {\n\t\t\t\t\t\t\t\t\tclasses.push(option.classes);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tstyle = option.style.cssText !== \"\" ? \" style=\\\"\" + option.style + \"\\\"\" : \"\";\n\t\t\t\t\t\t\t\treturn '
    • ' + option.html + '
    • ';\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tAbstractChosen.prototype.results_update_field = function () {\n\t\t\t\t\t\t\t\tthis.set_default_text();\n\t\t\t\t\t\t\t\tif (!this.is_multiple) {\n\t\t\t\t\t\t\t\t\tthis.results_reset_cleanup();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tthis.result_clear_highlight();\n\t\t\t\t\t\t\t\tthis.result_single_selected = null;\n\t\t\t\t\t\t\t\treturn this.results_build();\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tAbstractChosen.prototype.results_toggle = function () {\n\t\t\t\t\t\t\t\tif (this.results_showing) {\n\t\t\t\t\t\t\t\t\treturn this.results_hide();\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\treturn this.results_show();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tAbstractChosen.prototype.results_search = function (evt) {\n\t\t\t\t\t\t\t\tif (this.results_showing) {\n\t\t\t\t\t\t\t\t\treturn this.winnow_results();\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\treturn this.results_show();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tAbstractChosen.prototype.choices_count = function () {\n\t\t\t\t\t\t\t\tvar option, _i, _len, _ref;\n\t\n\t\t\t\t\t\t\t\tif (this.selected_option_count != null) {\n\t\t\t\t\t\t\t\t\treturn this.selected_option_count;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tthis.selected_option_count = 0;\n\t\t\t\t\t\t\t\t_ref = this.form_field.options;\n\t\t\t\t\t\t\t\tfor (_i = 0, _len = _ref.length; _i < _len; _i++) {\n\t\t\t\t\t\t\t\t\toption = _ref[_i];\n\t\t\t\t\t\t\t\t\tif (option.selected) {\n\t\t\t\t\t\t\t\t\t\tthis.selected_option_count += 1;\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\treturn this.selected_option_count;\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tAbstractChosen.prototype.choices_click = function (evt) {\n\t\t\t\t\t\t\t\tevt.preventDefault();\n\t\t\t\t\t\t\t\tif (!(this.results_showing || this.is_disabled)) {\n\t\t\t\t\t\t\t\t\treturn this.results_show();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tAbstractChosen.prototype.keyup_checker = function (evt) {\n\t\t\t\t\t\t\t\tvar stroke, _ref;\n\t\n\t\t\t\t\t\t\t\tstroke = (_ref = evt.which) != null ? _ref : evt.keyCode;\n\t\t\t\t\t\t\t\tthis.search_field_scale();\n\t\t\t\t\t\t\t\tswitch (stroke) {\n\t\t\t\t\t\t\t\t\tcase 8:\n\t\t\t\t\t\t\t\t\t\tif (this.is_multiple && this.backstroke_length < 1 && this.choices_count() > 0) {\n\t\t\t\t\t\t\t\t\t\t\treturn this.keydown_backstroke();\n\t\t\t\t\t\t\t\t\t\t} else if (!this.pending_backstroke) {\n\t\t\t\t\t\t\t\t\t\t\tthis.result_clear_highlight();\n\t\t\t\t\t\t\t\t\t\t\treturn this.results_search();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\tcase 13:\n\t\t\t\t\t\t\t\t\t\tevt.preventDefault();\n\t\t\t\t\t\t\t\t\t\tif (this.results_showing) {\n\t\t\t\t\t\t\t\t\t\t\treturn this.result_select(evt);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\tcase 27:\n\t\t\t\t\t\t\t\t\t\tif (this.results_showing) {\n\t\t\t\t\t\t\t\t\t\t\tthis.results_hide();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t\t\tcase 9:\n\t\t\t\t\t\t\t\t\tcase 38:\n\t\t\t\t\t\t\t\t\tcase 40:\n\t\t\t\t\t\t\t\t\tcase 16:\n\t\t\t\t\t\t\t\t\tcase 91:\n\t\t\t\t\t\t\t\t\tcase 17:\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\treturn this.results_search();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tAbstractChosen.prototype.generate_field_id = function () {\n\t\t\t\t\t\t\t\tvar new_id;\n\t\n\t\t\t\t\t\t\t\tnew_id = this.generate_random_id();\n\t\t\t\t\t\t\t\tthis.form_field.id = new_id;\n\t\t\t\t\t\t\t\treturn new_id;\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tAbstractChosen.prototype.generate_random_char = function () {\n\t\t\t\t\t\t\t\tvar chars, newchar, rand;\n\t\n\t\t\t\t\t\t\t\tchars = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\";\n\t\t\t\t\t\t\t\trand = Math.floor(Math.random() * chars.length);\n\t\t\t\t\t\t\t\treturn newchar = chars.substring(rand, rand + 1);\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tAbstractChosen.prototype.container_width = function () {\n\t\t\t\t\t\t\t\tif (this.options.width != null) {\n\t\t\t\t\t\t\t\t\treturn this.options.width;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\treturn \"\" + this.form_field.offsetWidth + \"px\";\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tAbstractChosen.browser_is_supported = function () {\n\t\t\t\t\t\t\t\tvar _ref;\n\t\n\t\t\t\t\t\t\t\tif (window.navigator.appName === \"Microsoft Internet Explorer\") {\n\t\t\t\t\t\t\t\t\treturn null !== (_ref = document.documentMode) && _ref >= 8;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tAbstractChosen.default_multiple_text = \"Select Some Options\";\n\t\n\t\t\t\t\t\t\tAbstractChosen.default_single_text = \"Select an Option\";\n\t\n\t\t\t\t\t\t\tAbstractChosen.default_no_result_text = \"No results match\";\n\t\n\t\t\t\t\t\t\treturn AbstractChosen;\n\t\t\t\t\t\t}();\n\t\n\t\t\t\t\t\troot.AbstractChosen = AbstractChosen;\n\t\t\t\t\t}).call(this);\n\t\n\t\t\t\t\t(function () {\n\t\t\t\t\t\tvar $,\n\t\t\t\t\t\t Chosen,\n\t\t\t\t\t\t root,\n\t\t\t\t\t\t _ref,\n\t\t\t\t\t\t __hasProp = {}.hasOwnProperty,\n\t\t\t\t\t\t __extends = function __extends(child, parent) {\n\t\t\t\t\t\t\tfor (var key in parent) {\n\t\t\t\t\t\t\t\tif (__hasProp.call(parent, key)) child[key] = parent[key];\n\t\t\t\t\t\t\t}function ctor() {\n\t\t\t\t\t\t\t\tthis.constructor = child;\n\t\t\t\t\t\t\t}ctor.prototype = parent.prototype;child.prototype = new ctor();child.__super__ = parent.prototype;return child;\n\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\troot = this;\n\t\n\t\t\t\t\t\t// OKTA-93521 - plugin assumes root is global scope\n\t\t\t\t\t\tvar AbstractChosen = root.AbstractChosen;\n\t\n\t\t\t\t\t\t$ = jQuery;\n\t\n\t\t\t\t\t\t$.fn.extend({\n\t\t\t\t\t\t\tchosen: function chosen(options) {\n\t\t\t\t\t\t\t\tif (!AbstractChosen.browser_is_supported()) {\n\t\t\t\t\t\t\t\t\treturn this;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn this.each(function (input_field) {\n\t\t\t\t\t\t\t\t\tvar $this;\n\t\n\t\t\t\t\t\t\t\t\t$this = $(this);\n\t\t\t\t\t\t\t\t\tif (!$this.hasClass(\"chzn-done\")) {\n\t\t\t\t\t\t\t\t\t\treturn $this.data('chosen', new Chosen(this, options));\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\n\t\t\t\t\t\tChosen = function (_super) {\n\t\t\t\t\t\t\t__extends(Chosen, _super);\n\t\n\t\t\t\t\t\t\tfunction Chosen() {\n\t\t\t\t\t\t\t\t_ref = Chosen.__super__.constructor.apply(this, arguments);\n\t\t\t\t\t\t\t\treturn _ref;\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tChosen.prototype.setup = function () {\n\t\t\t\t\t\t\t\tthis.form_field_jq = $(this.form_field);\n\t\t\t\t\t\t\t\tthis.current_selectedIndex = this.form_field.selectedIndex;\n\t\t\t\t\t\t\t\treturn this.is_rtl = this.form_field_jq.hasClass(\"chzn-rtl\");\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tChosen.prototype.finish_setup = function () {\n\t\t\t\t\t\t\t\treturn this.form_field_jq.addClass(\"chzn-done\");\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tChosen.prototype.set_up_html = function () {\n\t\t\t\t\t\t\t\tvar container_classes, container_props;\n\t\n\t\t\t\t\t\t\t\tthis.container_id = this.form_field.id.length ? this.form_field.id.replace(/[^\\w]/g, '_') : this.generate_field_id();\n\t\t\t\t\t\t\t\tthis.container_id += \"_chzn\";\n\t\t\t\t\t\t\t\tcontainer_classes = [\"chzn-container\"];\n\t\t\t\t\t\t\t\tcontainer_classes.push(\"chzn-container-\" + (this.is_multiple ? \"multi\" : \"single\"));\n\t\t\t\t\t\t\t\tif (this.inherit_select_classes && this.form_field.className) {\n\t\t\t\t\t\t\t\t\tcontainer_classes.push(this.form_field.className);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (this.is_rtl) {\n\t\t\t\t\t\t\t\t\tcontainer_classes.push(\"chzn-rtl\");\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcontainer_props = {\n\t\t\t\t\t\t\t\t\t'id': this.container_id,\n\t\t\t\t\t\t\t\t\t'class': container_classes.join(' '),\n\t\t\t\t\t\t\t\t\t'style': \"width: \" + this.container_width() + \";\",\n\t\t\t\t\t\t\t\t\t'title': this.form_field.title\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\tthis.container = $(\"
      \", container_props);\n\t\t\t\t\t\t\t\tif (this.is_multiple) {\n\t\t\t\t\t\t\t\t\tthis.container.html('
        ');\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tthis.container.html('' + this.default_text + '
          ');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tthis.form_field_jq.hide().after(this.container);\n\t\t\t\t\t\t\t\tthis.dropdown = this.container.find('div.chzn-drop').first();\n\t\t\t\t\t\t\t\tthis.search_field = this.container.find('input').first();\n\t\t\t\t\t\t\t\tthis.search_results = this.container.find('ul.chzn-results').first();\n\t\t\t\t\t\t\t\tthis.search_field_scale();\n\t\t\t\t\t\t\t\tthis.search_no_results = this.container.find('li.no-results').first();\n\t\t\t\t\t\t\t\tif (this.is_multiple) {\n\t\t\t\t\t\t\t\t\tthis.search_choices = this.container.find('ul.chzn-choices').first();\n\t\t\t\t\t\t\t\t\tthis.search_container = this.container.find('li.search-field').first();\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tthis.search_container = this.container.find('div.chzn-search').first();\n\t\t\t\t\t\t\t\t\tthis.selected_item = this.container.find('.chzn-single').first();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tthis.results_build();\n\t\t\t\t\t\t\t\tthis.set_tab_index();\n\t\t\t\t\t\t\t\tthis.set_label_behavior();\n\t\t\t\t\t\t\t\treturn this.form_field_jq.trigger(\"liszt:ready\", {\n\t\t\t\t\t\t\t\t\tchosen: this\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tChosen.prototype.register_observers = function () {\n\t\t\t\t\t\t\t\tvar _this = this;\n\t\n\t\t\t\t\t\t\t\tthis.container.mousedown(function (evt) {\n\t\t\t\t\t\t\t\t\t_this.container_mousedown(evt);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tthis.container.mouseup(function (evt) {\n\t\t\t\t\t\t\t\t\t_this.container_mouseup(evt);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tthis.container.mouseenter(function (evt) {\n\t\t\t\t\t\t\t\t\t_this.mouse_enter(evt);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tthis.container.mouseleave(function (evt) {\n\t\t\t\t\t\t\t\t\t_this.mouse_leave(evt);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tthis.search_results.mouseup(function (evt) {\n\t\t\t\t\t\t\t\t\t_this.search_results_mouseup(evt);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tthis.search_results.mouseover(function (evt) {\n\t\t\t\t\t\t\t\t\t_this.search_results_mouseover(evt);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tthis.search_results.mouseout(function (evt) {\n\t\t\t\t\t\t\t\t\t_this.search_results_mouseout(evt);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tthis.search_results.bind('mousewheel DOMMouseScroll', function (evt) {\n\t\t\t\t\t\t\t\t\t_this.search_results_mousewheel(evt);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tthis.form_field_jq.bind(\"liszt:updated\", function (evt) {\n\t\t\t\t\t\t\t\t\t_this.results_update_field(evt);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tthis.form_field_jq.bind(\"liszt:activate\", function (evt) {\n\t\t\t\t\t\t\t\t\t_this.activate_field(evt);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tthis.form_field_jq.bind(\"liszt:open\", function (evt) {\n\t\t\t\t\t\t\t\t\t_this.container_mousedown(evt);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tthis.search_field.blur(function (evt) {\n\t\t\t\t\t\t\t\t\t_this.input_blur(evt);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tthis.search_field.keyup(function (evt) {\n\t\t\t\t\t\t\t\t\t_this.keyup_checker(evt);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tthis.search_field.keydown(function (evt) {\n\t\t\t\t\t\t\t\t\t_this.keydown_checker(evt);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tthis.search_field.focus(function (evt) {\n\t\t\t\t\t\t\t\t\t_this.input_focus(evt);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tif (this.is_multiple) {\n\t\t\t\t\t\t\t\t\treturn this.search_choices.click(function (evt) {\n\t\t\t\t\t\t\t\t\t\t_this.choices_click(evt);\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\treturn this.container.click(function (evt) {\n\t\t\t\t\t\t\t\t\t\tevt.preventDefault();\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\n\t\t\t\t\t\t\tChosen.prototype.search_field_disabled = function () {\n\t\t\t\t\t\t\t\tthis.is_disabled = this.form_field_jq[0].disabled;\n\t\t\t\t\t\t\t\tif (this.is_disabled) {\n\t\t\t\t\t\t\t\t\tthis.container.addClass('chzn-disabled');\n\t\t\t\t\t\t\t\t\tthis.search_field[0].disabled = true;\n\t\t\t\t\t\t\t\t\tif (!this.is_multiple) {\n\t\t\t\t\t\t\t\t\t\tthis.selected_item.unbind(\"focus\", this.activate_action);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn this.close_field();\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tthis.container.removeClass('chzn-disabled');\n\t\t\t\t\t\t\t\t\tthis.search_field[0].disabled = false;\n\t\t\t\t\t\t\t\t\tif (!this.is_multiple) {\n\t\t\t\t\t\t\t\t\t\treturn this.selected_item.bind(\"focus\", this.activate_action);\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\n\t\t\t\t\t\t\tChosen.prototype.container_mousedown = function (evt) {\n\t\t\t\t\t\t\t\tif (!this.is_disabled) {\n\t\t\t\t\t\t\t\t\tif (evt && evt.type === \"mousedown\" && !this.results_showing) {\n\t\t\t\t\t\t\t\t\t\tevt.preventDefault();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (!(evt != null && $(evt.target).hasClass(\"search-choice-close\"))) {\n\t\t\t\t\t\t\t\t\t\tif (!this.active_field) {\n\t\t\t\t\t\t\t\t\t\t\tif (this.is_multiple) {\n\t\t\t\t\t\t\t\t\t\t\t\tthis.search_field.val(\"\");\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t$(document).click(this.click_test_action);\n\t\t\t\t\t\t\t\t\t\t\tthis.results_show();\n\t\t\t\t\t\t\t\t\t\t} else if (!this.is_multiple && evt && ($(evt.target)[0] === this.selected_item[0] || $(evt.target).parents(\"a.chzn-single\").length)) {\n\t\t\t\t\t\t\t\t\t\t\tevt.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\tthis.results_toggle();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn this.activate_field();\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\n\t\t\t\t\t\t\tChosen.prototype.container_mouseup = function (evt) {\n\t\t\t\t\t\t\t\tif (evt.target.nodeName === \"ABBR\" && !this.is_disabled) {\n\t\t\t\t\t\t\t\t\treturn this.results_reset(evt);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tChosen.prototype.search_results_mousewheel = function (evt) {\n\t\t\t\t\t\t\t\tvar delta, _ref1, _ref2;\n\t\n\t\t\t\t\t\t\t\tdelta = -((_ref1 = evt.originalEvent) != null ? _ref1.wheelDelta : void 0) || ((_ref2 = evt.originialEvent) != null ? _ref2.detail : void 0);\n\t\t\t\t\t\t\t\tif (delta != null) {\n\t\t\t\t\t\t\t\t\tevt.preventDefault();\n\t\t\t\t\t\t\t\t\tif (evt.type === 'DOMMouseScroll') {\n\t\t\t\t\t\t\t\t\t\tdelta = delta * 40;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn this.search_results.scrollTop(delta + this.search_results.scrollTop());\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tChosen.prototype.blur_test = function (evt) {\n\t\t\t\t\t\t\t\tif (!this.active_field && this.container.hasClass(\"chzn-container-active\")) {\n\t\t\t\t\t\t\t\t\treturn this.close_field();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tChosen.prototype.close_field = function () {\n\t\t\t\t\t\t\t\t$(document).unbind(\"click\", this.click_test_action);\n\t\t\t\t\t\t\t\tthis.active_field = false;\n\t\t\t\t\t\t\t\tthis.results_hide();\n\t\t\t\t\t\t\t\tthis.container.removeClass(\"chzn-container-active\");\n\t\t\t\t\t\t\t\tthis.clear_backstroke();\n\t\t\t\t\t\t\t\tthis.show_search_field_default();\n\t\t\t\t\t\t\t\treturn this.search_field_scale();\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tChosen.prototype.activate_field = function () {\n\t\t\t\t\t\t\t\tthis.container.addClass(\"chzn-container-active\");\n\t\t\t\t\t\t\t\tthis.active_field = true;\n\t\t\t\t\t\t\t\tthis.search_field.val(this.search_field.val());\n\t\t\t\t\t\t\t\treturn this.search_field.focus();\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tChosen.prototype.test_active_click = function (evt) {\n\t\t\t\t\t\t\t\tif ($(evt.target).parents('#' + this.container_id).length) {\n\t\t\t\t\t\t\t\t\treturn this.active_field = true;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\treturn this.close_field();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tChosen.prototype.results_build = function () {\n\t\t\t\t\t\t\t\tvar content, data, _i, _len, _ref1;\n\t\n\t\t\t\t\t\t\t\tthis.parsing = true;\n\t\t\t\t\t\t\t\tthis.selected_option_count = null;\n\t\t\t\t\t\t\t\tthis.results_data = root.SelectParser.select_to_array(this.form_field);\n\t\t\t\t\t\t\t\tif (this.is_multiple) {\n\t\t\t\t\t\t\t\t\tthis.search_choices.find(\"li.search-choice\").remove();\n\t\t\t\t\t\t\t\t} else if (!this.is_multiple) {\n\t\t\t\t\t\t\t\t\tthis.selected_item.addClass(\"chzn-default\").find(\"span\").text(this.default_text);\n\t\t\t\t\t\t\t\t\tif (this.disable_search || this.form_field.options.length <= this.disable_search_threshold) {\n\t\t\t\t\t\t\t\t\t\tthis.search_field[0].readOnly = true;\n\t\t\t\t\t\t\t\t\t\tthis.container.addClass(\"chzn-container-single-nosearch\");\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tthis.search_field[0].readOnly = false;\n\t\t\t\t\t\t\t\t\t\tthis.container.removeClass(\"chzn-container-single-nosearch\");\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\tcontent = '';\n\t\t\t\t\t\t\t\t_ref1 = this.results_data;\n\t\t\t\t\t\t\t\tfor (_i = 0, _len = _ref1.length; _i < _len; _i++) {\n\t\t\t\t\t\t\t\t\tdata = _ref1[_i];\n\t\t\t\t\t\t\t\t\tif (data.group) {\n\t\t\t\t\t\t\t\t\t\tcontent += this.result_add_group(data);\n\t\t\t\t\t\t\t\t\t} else if (!data.empty) {\n\t\t\t\t\t\t\t\t\t\tcontent += this.result_add_option(data);\n\t\t\t\t\t\t\t\t\t\tif (data.selected && this.is_multiple) {\n\t\t\t\t\t\t\t\t\t\t\tthis.choice_build(data);\n\t\t\t\t\t\t\t\t\t\t} else if (data.selected && !this.is_multiple) {\n\t\t\t\t\t\t\t\t\t\t\tthis.selected_item.removeClass(\"chzn-default\").find(\"span\").text(data.text);\n\t\t\t\t\t\t\t\t\t\t\tif (this.allow_single_deselect) {\n\t\t\t\t\t\t\t\t\t\t\t\tthis.single_deselect_control_build();\n\t\t\t\t\t\t\t\t\t\t\t}\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\tthis.search_field_disabled();\n\t\t\t\t\t\t\t\tthis.show_search_field_default();\n\t\t\t\t\t\t\t\tthis.search_field_scale();\n\t\t\t\t\t\t\t\tthis.search_results.html(content);\n\t\t\t\t\t\t\t\treturn this.parsing = false;\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tChosen.prototype.result_add_group = function (group) {\n\t\t\t\t\t\t\t\tgroup.dom_id = this.container_id + \"_g_\" + group.array_index;\n\t\t\t\t\t\t\t\treturn '
        • ' + $(\"
          \").text(group.label).html() + '
        • ';\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tChosen.prototype.result_do_highlight = function (el) {\n\t\t\t\t\t\t\t\tvar high_bottom, high_top, maxHeight, visible_bottom, visible_top;\n\t\n\t\t\t\t\t\t\t\tif (el.length) {\n\t\t\t\t\t\t\t\t\tthis.result_clear_highlight();\n\t\t\t\t\t\t\t\t\tthis.result_highlight = el;\n\t\t\t\t\t\t\t\t\tthis.result_highlight.addClass(\"highlighted\");\n\t\t\t\t\t\t\t\t\tmaxHeight = parseInt(this.search_results.css(\"maxHeight\"), 10);\n\t\t\t\t\t\t\t\t\tvisible_top = this.search_results.scrollTop();\n\t\t\t\t\t\t\t\t\tvisible_bottom = maxHeight + visible_top;\n\t\t\t\t\t\t\t\t\thigh_top = this.result_highlight.position().top + this.search_results.scrollTop();\n\t\t\t\t\t\t\t\t\thigh_bottom = high_top + this.result_highlight.outerHeight();\n\t\t\t\t\t\t\t\t\tif (high_bottom >= visible_bottom) {\n\t\t\t\t\t\t\t\t\t\treturn this.search_results.scrollTop(high_bottom - maxHeight > 0 ? high_bottom - maxHeight : 0);\n\t\t\t\t\t\t\t\t\t} else if (high_top < visible_top) {\n\t\t\t\t\t\t\t\t\t\treturn this.search_results.scrollTop(high_top);\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\n\t\t\t\t\t\t\tChosen.prototype.result_clear_highlight = function () {\n\t\t\t\t\t\t\t\tif (this.result_highlight) {\n\t\t\t\t\t\t\t\t\tthis.result_highlight.removeClass(\"highlighted\");\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn this.result_highlight = null;\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tChosen.prototype.results_show = function () {\n\t\t\t\t\t\t\t\tif (this.is_multiple && this.max_selected_options <= this.choices_count()) {\n\t\t\t\t\t\t\t\t\tthis.form_field_jq.trigger(\"liszt:maxselected\", {\n\t\t\t\t\t\t\t\t\t\tchosen: this\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tthis.container.addClass(\"chzn-with-drop\");\n\t\t\t\t\t\t\t\tthis.form_field_jq.trigger(\"liszt:showing_dropdown\", {\n\t\t\t\t\t\t\t\t\tchosen: this\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tthis.results_showing = true;\n\t\t\t\t\t\t\t\tthis.search_field.focus();\n\t\t\t\t\t\t\t\tthis.search_field.val(this.search_field.val());\n\t\t\t\t\t\t\t\treturn this.winnow_results();\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tChosen.prototype.results_hide = function () {\n\t\t\t\t\t\t\t\tif (this.results_showing) {\n\t\t\t\t\t\t\t\t\tthis.result_clear_highlight();\n\t\t\t\t\t\t\t\t\tthis.container.removeClass(\"chzn-with-drop\");\n\t\t\t\t\t\t\t\t\tthis.form_field_jq.trigger(\"liszt:hiding_dropdown\", {\n\t\t\t\t\t\t\t\t\t\tchosen: this\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\treturn this.results_showing = false;\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tChosen.prototype.set_tab_index = function (el) {\n\t\t\t\t\t\t\t\tvar ti;\n\t\n\t\t\t\t\t\t\t\tif (this.form_field_jq.attr(\"tabindex\")) {\n\t\t\t\t\t\t\t\t\tti = this.form_field_jq.attr(\"tabindex\");\n\t\t\t\t\t\t\t\t\tthis.form_field_jq.attr(\"tabindex\", -1);\n\t\t\t\t\t\t\t\t\treturn this.search_field.attr(\"tabindex\", ti);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tChosen.prototype.set_label_behavior = function () {\n\t\t\t\t\t\t\t\tvar _this = this;\n\t\n\t\t\t\t\t\t\t\tthis.form_field_label = this.form_field_jq.parents(\"label\");\n\t\t\t\t\t\t\t\tif (!this.form_field_label.length && this.form_field.id.length) {\n\t\t\t\t\t\t\t\t\tthis.form_field_label = $(\"label[for='\" + this.form_field.id + \"']\");\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (this.form_field_label.length > 0) {\n\t\t\t\t\t\t\t\t\treturn this.form_field_label.click(function (evt) {\n\t\t\t\t\t\t\t\t\t\tif (_this.is_multiple) {\n\t\t\t\t\t\t\t\t\t\t\treturn _this.container_mousedown(evt);\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\treturn _this.activate_field();\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\n\t\t\t\t\t\t\tChosen.prototype.show_search_field_default = function () {\n\t\t\t\t\t\t\t\tif (this.is_multiple && this.choices_count() < 1 && !this.active_field) {\n\t\t\t\t\t\t\t\t\tthis.search_field.val(this.default_text);\n\t\t\t\t\t\t\t\t\treturn this.search_field.addClass(\"default\");\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tthis.search_field.val(\"\");\n\t\t\t\t\t\t\t\t\treturn this.search_field.removeClass(\"default\");\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tChosen.prototype.search_results_mouseup = function (evt) {\n\t\t\t\t\t\t\t\tvar target;\n\t\n\t\t\t\t\t\t\t\ttarget = $(evt.target).hasClass(\"active-result\") ? $(evt.target) : $(evt.target).parents(\".active-result\").first();\n\t\t\t\t\t\t\t\tif (target.length) {\n\t\t\t\t\t\t\t\t\tthis.result_highlight = target;\n\t\t\t\t\t\t\t\t\tthis.result_select(evt);\n\t\t\t\t\t\t\t\t\treturn this.search_field.focus();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tChosen.prototype.search_results_mouseover = function (evt) {\n\t\t\t\t\t\t\t\tvar target;\n\t\n\t\t\t\t\t\t\t\ttarget = $(evt.target).hasClass(\"active-result\") ? $(evt.target) : $(evt.target).parents(\".active-result\").first();\n\t\t\t\t\t\t\t\tif (target) {\n\t\t\t\t\t\t\t\t\treturn this.result_do_highlight(target);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tChosen.prototype.search_results_mouseout = function (evt) {\n\t\t\t\t\t\t\t\tif ($(evt.target).hasClass(\"active-result\" || $(evt.target).parents('.active-result').first())) {\n\t\t\t\t\t\t\t\t\treturn this.result_clear_highlight();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tChosen.prototype.choice_build = function (item) {\n\t\t\t\t\t\t\t\tvar choice,\n\t\t\t\t\t\t\t\t close_link,\n\t\t\t\t\t\t\t\t _this = this;\n\t\n\t\t\t\t\t\t\t\tchoice = $('
        • ', {\n\t\t\t\t\t\t\t\t\t\"class\": \"search-choice\"\n\t\t\t\t\t\t\t\t}).html(\"\" + item.html + \"\");\n\t\t\t\t\t\t\t\tif (item.disabled) {\n\t\t\t\t\t\t\t\t\tchoice.addClass('search-choice-disabled');\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tclose_link = $('', {\n\t\t\t\t\t\t\t\t\t\thref: '#',\n\t\t\t\t\t\t\t\t\t\t\"class\": 'search-choice-close',\n\t\t\t\t\t\t\t\t\t\trel: item.array_index\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\tclose_link.click(function (evt) {\n\t\t\t\t\t\t\t\t\t\treturn _this.choice_destroy_link_click(evt);\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\tchoice.append(close_link);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn this.search_container.before(choice);\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tChosen.prototype.choice_destroy_link_click = function (evt) {\n\t\t\t\t\t\t\t\tevt.preventDefault();\n\t\t\t\t\t\t\t\tevt.stopPropagation();\n\t\t\t\t\t\t\t\tif (!this.is_disabled) {\n\t\t\t\t\t\t\t\t\treturn this.choice_destroy($(evt.target));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tChosen.prototype.choice_destroy = function (link) {\n\t\t\t\t\t\t\t\tif (this.result_deselect(link.attr(\"rel\"))) {\n\t\t\t\t\t\t\t\t\tthis.show_search_field_default();\n\t\t\t\t\t\t\t\t\tif (this.is_multiple && this.choices_count() > 0 && this.search_field.val().length < 1) {\n\t\t\t\t\t\t\t\t\t\tthis.results_hide();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tlink.parents('li').first().remove();\n\t\t\t\t\t\t\t\t\treturn this.search_field_scale();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tChosen.prototype.results_reset = function () {\n\t\t\t\t\t\t\t\tthis.form_field.options[0].selected = true;\n\t\t\t\t\t\t\t\tthis.selected_option_count = null;\n\t\t\t\t\t\t\t\tthis.selected_item.find(\"span\").text(this.default_text);\n\t\t\t\t\t\t\t\tif (!this.is_multiple) {\n\t\t\t\t\t\t\t\t\tthis.selected_item.addClass(\"chzn-default\");\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tthis.show_search_field_default();\n\t\t\t\t\t\t\t\tthis.results_reset_cleanup();\n\t\t\t\t\t\t\t\tthis.form_field_jq.trigger(\"change\");\n\t\t\t\t\t\t\t\tif (this.active_field) {\n\t\t\t\t\t\t\t\t\treturn this.results_hide();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tChosen.prototype.results_reset_cleanup = function () {\n\t\t\t\t\t\t\t\tthis.current_selectedIndex = this.form_field.selectedIndex;\n\t\t\t\t\t\t\t\treturn this.selected_item.find(\"abbr\").remove();\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tChosen.prototype.result_select = function (evt) {\n\t\t\t\t\t\t\t\tvar high, high_id, item, position;\n\t\n\t\t\t\t\t\t\t\tif (this.result_highlight) {\n\t\t\t\t\t\t\t\t\thigh = this.result_highlight;\n\t\t\t\t\t\t\t\t\thigh_id = high.attr(\"id\");\n\t\t\t\t\t\t\t\t\tthis.result_clear_highlight();\n\t\t\t\t\t\t\t\t\tif (this.is_multiple && this.max_selected_options <= this.choices_count()) {\n\t\t\t\t\t\t\t\t\t\tthis.form_field_jq.trigger(\"liszt:maxselected\", {\n\t\t\t\t\t\t\t\t\t\t\tchosen: this\n\t\t\t\t\t\t\t\t\t\t});\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\tif (this.is_multiple) {\n\t\t\t\t\t\t\t\t\t\thigh.removeClass(\"active-result\");\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tthis.search_results.find(\".result-selected\").removeClass(\"result-selected\");\n\t\t\t\t\t\t\t\t\t\tthis.result_single_selected = high;\n\t\t\t\t\t\t\t\t\t\tthis.selected_item.removeClass(\"chzn-default\");\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\thigh.addClass(\"result-selected\");\n\t\t\t\t\t\t\t\t\tposition = high_id.substr(high_id.lastIndexOf(\"_\") + 1);\n\t\t\t\t\t\t\t\t\titem = this.results_data[position];\n\t\t\t\t\t\t\t\t\titem.selected = true;\n\t\t\t\t\t\t\t\t\tthis.form_field.options[item.options_index].selected = true;\n\t\t\t\t\t\t\t\t\tthis.selected_option_count = null;\n\t\t\t\t\t\t\t\t\tif (this.is_multiple) {\n\t\t\t\t\t\t\t\t\t\tthis.choice_build(item);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tthis.selected_item.find(\"span\").first().text(item.text);\n\t\t\t\t\t\t\t\t\t\tif (this.allow_single_deselect) {\n\t\t\t\t\t\t\t\t\t\t\tthis.single_deselect_control_build();\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\tif (!((evt.metaKey || evt.ctrlKey) && this.is_multiple)) {\n\t\t\t\t\t\t\t\t\t\tthis.results_hide();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tthis.search_field.val(\"\");\n\t\t\t\t\t\t\t\t\tif (this.is_multiple || this.form_field.selectedIndex !== this.current_selectedIndex) {\n\t\t\t\t\t\t\t\t\t\tthis.form_field_jq.trigger(\"change\", {\n\t\t\t\t\t\t\t\t\t\t\t'selected': this.form_field.options[item.options_index].value\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\tthis.current_selectedIndex = this.form_field.selectedIndex;\n\t\t\t\t\t\t\t\t\treturn this.search_field_scale();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tChosen.prototype.result_activate = function (el, option) {\n\t\t\t\t\t\t\t\tif (option.disabled) {\n\t\t\t\t\t\t\t\t\treturn el.addClass(\"disabled-result\");\n\t\t\t\t\t\t\t\t} else if (this.is_multiple && option.selected) {\n\t\t\t\t\t\t\t\t\treturn el.addClass(\"result-selected\");\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\treturn el.addClass(\"active-result\");\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tChosen.prototype.result_deactivate = function (el) {\n\t\t\t\t\t\t\t\treturn el.removeClass(\"active-result result-selected disabled-result\");\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tChosen.prototype.result_deselect = function (pos) {\n\t\t\t\t\t\t\t\tvar result, result_data;\n\t\n\t\t\t\t\t\t\t\tresult_data = this.results_data[pos];\n\t\t\t\t\t\t\t\tif (!this.form_field.options[result_data.options_index].disabled) {\n\t\t\t\t\t\t\t\t\tresult_data.selected = false;\n\t\t\t\t\t\t\t\t\tthis.form_field.options[result_data.options_index].selected = false;\n\t\t\t\t\t\t\t\t\tthis.selected_option_count = null;\n\t\t\t\t\t\t\t\t\tresult = $(\"#\" + this.container_id + \"_o_\" + pos);\n\t\t\t\t\t\t\t\t\tresult.removeClass(\"result-selected\").addClass(\"active-result\").show();\n\t\t\t\t\t\t\t\t\tthis.result_clear_highlight();\n\t\t\t\t\t\t\t\t\tthis.winnow_results();\n\t\t\t\t\t\t\t\t\tthis.form_field_jq.trigger(\"change\", {\n\t\t\t\t\t\t\t\t\t\tdeselected: this.form_field.options[result_data.options_index].value\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\tthis.search_field_scale();\n\t\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tChosen.prototype.single_deselect_control_build = function () {\n\t\t\t\t\t\t\t\tif (!this.allow_single_deselect) {\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (!this.selected_item.find(\"abbr\").length) {\n\t\t\t\t\t\t\t\t\tthis.selected_item.find(\"span\").first().after(\"\");\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn this.selected_item.addClass(\"chzn-single-with-deselect\");\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tChosen.prototype.winnow_results = function () {\n\t\t\t\t\t\t\t\tvar found, option, part, parts, regex, regexAnchor, result, result_id, results, searchText, startpos, text, zregex, _i, _j, _len, _len1, _ref1;\n\t\n\t\t\t\t\t\t\t\tthis.no_results_clear();\n\t\t\t\t\t\t\t\tresults = 0;\n\t\t\t\t\t\t\t\tsearchText = this.search_field.val() === this.default_text ? \"\" : $('
          ').text($.trim(this.search_field.val())).html();\n\t\t\t\t\t\t\t\tregexAnchor = this.search_contains ? \"\" : \"^\";\n\t\t\t\t\t\t\t\tregex = new RegExp(regexAnchor + searchText.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, \"\\\\$&\"), 'i');\n\t\t\t\t\t\t\t\tzregex = new RegExp(searchText.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, \"\\\\$&\"), 'i');\n\t\t\t\t\t\t\t\t_ref1 = this.results_data;\n\t\t\t\t\t\t\t\tfor (_i = 0, _len = _ref1.length; _i < _len; _i++) {\n\t\t\t\t\t\t\t\t\toption = _ref1[_i];\n\t\t\t\t\t\t\t\t\tif (!option.empty) {\n\t\t\t\t\t\t\t\t\t\tif (option.group) {\n\t\t\t\t\t\t\t\t\t\t\t$('#' + option.dom_id).css('display', 'none');\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\tfound = false;\n\t\t\t\t\t\t\t\t\t\t\tresult_id = option.dom_id;\n\t\t\t\t\t\t\t\t\t\t\tresult = $(\"#\" + result_id);\n\t\t\t\t\t\t\t\t\t\t\tif (regex.test(option.html)) {\n\t\t\t\t\t\t\t\t\t\t\t\tfound = true;\n\t\t\t\t\t\t\t\t\t\t\t\tresults += 1;\n\t\t\t\t\t\t\t\t\t\t\t} else if (this.enable_split_word_search && (option.html.indexOf(\" \") >= 0 || option.html.indexOf(\"[\") === 0)) {\n\t\t\t\t\t\t\t\t\t\t\t\tparts = option.html.replace(/\\[|\\]/g, \"\").split(\" \");\n\t\t\t\t\t\t\t\t\t\t\t\tif (parts.length) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tfor (_j = 0, _len1 = parts.length; _j < _len1; _j++) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpart = parts[_j];\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (regex.test(part)) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfound = true;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tresults += 1;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tif (found) {\n\t\t\t\t\t\t\t\t\t\t\t\tif (searchText.length) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tstartpos = option.html.search(zregex);\n\t\t\t\t\t\t\t\t\t\t\t\t\ttext = option.html.substr(0, startpos + searchText.length) + '' + option.html.substr(startpos + searchText.length);\n\t\t\t\t\t\t\t\t\t\t\t\t\ttext = text.substr(0, startpos) + '' + text.substr(startpos);\n\t\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\t\ttext = option.html;\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tresult.html(text);\n\t\t\t\t\t\t\t\t\t\t\t\tthis.result_activate(result, option);\n\t\t\t\t\t\t\t\t\t\t\t\tif (option.group_array_index != null) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t$(\"#\" + this.results_data[option.group_array_index].dom_id).css('display', 'list-item');\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\tif (this.result_highlight && result_id === this.result_highlight.attr('id')) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.result_clear_highlight();\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tthis.result_deactivate(result);\n\t\t\t\t\t\t\t\t\t\t\t}\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\tif (results < 1 && searchText.length) {\n\t\t\t\t\t\t\t\t\treturn this.no_results(searchText);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\treturn this.winnow_results_set_highlight();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tChosen.prototype.winnow_results_set_highlight = function () {\n\t\t\t\t\t\t\t\tvar do_high, selected_results;\n\t\n\t\t\t\t\t\t\t\tif (!this.result_highlight) {\n\t\t\t\t\t\t\t\t\tselected_results = !this.is_multiple ? this.search_results.find(\".result-selected.active-result\") : [];\n\t\t\t\t\t\t\t\t\tdo_high = selected_results.length ? selected_results.first() : this.search_results.find(\".active-result\").first();\n\t\t\t\t\t\t\t\t\tif (do_high != null) {\n\t\t\t\t\t\t\t\t\t\treturn this.result_do_highlight(do_high);\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\n\t\t\t\t\t\t\tChosen.prototype.no_results = function (terms) {\n\t\t\t\t\t\t\t\tvar no_results_html;\n\t\n\t\t\t\t\t\t\t\tno_results_html = $('
        • ' + this.results_none_found + ' \"\"
        • ');\n\t\t\t\t\t\t\t\tno_results_html.find(\"span\").first().html(terms);\n\t\t\t\t\t\t\t\treturn this.search_results.append(no_results_html);\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tChosen.prototype.no_results_clear = function () {\n\t\t\t\t\t\t\t\treturn this.search_results.find(\".no-results\").remove();\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tChosen.prototype.keydown_arrow = function () {\n\t\t\t\t\t\t\t\tvar next_sib;\n\t\n\t\t\t\t\t\t\t\tif (this.results_showing && this.result_highlight) {\n\t\t\t\t\t\t\t\t\tnext_sib = this.result_highlight.nextAll(\"li.active-result\").first();\n\t\t\t\t\t\t\t\t\tif (next_sib) {\n\t\t\t\t\t\t\t\t\t\treturn this.result_do_highlight(next_sib);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\treturn this.results_show();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tChosen.prototype.keyup_arrow = function () {\n\t\t\t\t\t\t\t\tvar prev_sibs;\n\t\n\t\t\t\t\t\t\t\tif (!this.results_showing && !this.is_multiple) {\n\t\t\t\t\t\t\t\t\treturn this.results_show();\n\t\t\t\t\t\t\t\t} else if (this.result_highlight) {\n\t\t\t\t\t\t\t\t\tprev_sibs = this.result_highlight.prevAll(\"li.active-result\");\n\t\t\t\t\t\t\t\t\tif (prev_sibs.length) {\n\t\t\t\t\t\t\t\t\t\treturn this.result_do_highlight(prev_sibs.first());\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tif (this.choices_count() > 0) {\n\t\t\t\t\t\t\t\t\t\t\tthis.results_hide();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn this.result_clear_highlight();\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\n\t\t\t\t\t\t\tChosen.prototype.keydown_backstroke = function () {\n\t\t\t\t\t\t\t\tvar next_available_destroy;\n\t\n\t\t\t\t\t\t\t\tif (this.pending_backstroke) {\n\t\t\t\t\t\t\t\t\tthis.choice_destroy(this.pending_backstroke.find(\"a\").first());\n\t\t\t\t\t\t\t\t\treturn this.clear_backstroke();\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tnext_available_destroy = this.search_container.siblings(\"li.search-choice\").last();\n\t\t\t\t\t\t\t\t\tif (next_available_destroy.length && !next_available_destroy.hasClass(\"search-choice-disabled\")) {\n\t\t\t\t\t\t\t\t\t\tthis.pending_backstroke = next_available_destroy;\n\t\t\t\t\t\t\t\t\t\tif (this.single_backstroke_delete) {\n\t\t\t\t\t\t\t\t\t\t\treturn this.keydown_backstroke();\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\treturn this.pending_backstroke.addClass(\"search-choice-focus\");\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\n\t\t\t\t\t\t\tChosen.prototype.clear_backstroke = function () {\n\t\t\t\t\t\t\t\tif (this.pending_backstroke) {\n\t\t\t\t\t\t\t\t\tthis.pending_backstroke.removeClass(\"search-choice-focus\");\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn this.pending_backstroke = null;\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\tChosen.prototype.keydown_checker = function (evt) {\n\t\t\t\t\t\t\t\tvar stroke, _ref1;\n\t\n\t\t\t\t\t\t\t\tstroke = (_ref1 = evt.which) != null ? _ref1 : evt.keyCode;\n\t\t\t\t\t\t\t\tthis.search_field_scale();\n\t\t\t\t\t\t\t\tif (stroke !== 8 && this.pending_backstroke) {\n\t\t\t\t\t\t\t\t\tthis.clear_backstroke();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tswitch (stroke) {\n\t\t\t\t\t\t\t\t\tcase 8:\n\t\t\t\t\t\t\t\t\t\tthis.backstroke_length = this.search_field.val().length;\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\tcase 9:\n\t\t\t\t\t\t\t\t\t\tif (this.results_showing && !this.is_multiple) {\n\t\t\t\t\t\t\t\t\t\t\tthis.result_select(evt);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tthis.mouse_on_container = false;\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\tcase 13:\n\t\t\t\t\t\t\t\t\t\tevt.preventDefault();\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\tcase 38:\n\t\t\t\t\t\t\t\t\t\tevt.preventDefault();\n\t\t\t\t\t\t\t\t\t\tthis.keyup_arrow();\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\tcase 40:\n\t\t\t\t\t\t\t\t\t\tevt.preventDefault();\n\t\t\t\t\t\t\t\t\t\tthis.keydown_arrow();\n\t\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\t\n\t\t\t\t\t\t\tChosen.prototype.search_field_scale = function () {\n\t\t\t\t\t\t\t\tvar div, h, style, style_block, styles, w, _i, _len;\n\t\n\t\t\t\t\t\t\t\tif (this.is_multiple) {\n\t\t\t\t\t\t\t\t\th = 0;\n\t\t\t\t\t\t\t\t\tw = 0;\n\t\t\t\t\t\t\t\t\tstyle_block = \"position:absolute; left: -1000px; top: -1000px; display:none;\";\n\t\t\t\t\t\t\t\t\tstyles = ['font-size', 'font-style', 'font-weight', 'font-family', 'line-height', 'text-transform', 'letter-spacing'];\n\t\t\t\t\t\t\t\t\tfor (_i = 0, _len = styles.length; _i < _len; _i++) {\n\t\t\t\t\t\t\t\t\t\tstyle = styles[_i];\n\t\t\t\t\t\t\t\t\t\tstyle_block += style + \":\" + this.search_field.css(style) + \";\";\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tdiv = $('
          ', {\n\t\t\t\t\t\t\t\t\t\t'style': style_block\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\tdiv.text(this.search_field.val());\n\t\t\t\t\t\t\t\t\t$('body').append(div);\n\t\t\t\t\t\t\t\t\tw = div.width() + 25;\n\t\t\t\t\t\t\t\t\tdiv.remove();\n\t\t\t\t\t\t\t\t\tif (!this.f_width) {\n\t\t\t\t\t\t\t\t\t\tthis.f_width = this.container.outerWidth();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (w > this.f_width - 10) {\n\t\t\t\t\t\t\t\t\t\tw = this.f_width - 10;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn this.search_field.css({\n\t\t\t\t\t\t\t\t\t\t'width': w + 'px'\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\n\t\t\t\t\t\t\tChosen.prototype.generate_random_id = function () {\n\t\t\t\t\t\t\t\tvar string;\n\t\n\t\t\t\t\t\t\t\tstring = \"sel\" + this.generate_random_char() + this.generate_random_char() + this.generate_random_char();\n\t\t\t\t\t\t\t\twhile ($(\"#\" + string).length > 0) {\n\t\t\t\t\t\t\t\t\tstring += this.generate_random_char();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn string;\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\treturn Chosen;\n\t\t\t\t\t\t}(AbstractChosen);\n\t\n\t\t\t\t\t\troot.Chosen = Chosen;\n\t\t\t\t\t}).call(this);\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 67 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(63), __webpack_require__(22), __webpack_require__(68)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, BaseInput, SchemaUtil, DeletableBox) {\n\t\n\t\t\t\t\treturn BaseInput.extend({\n\t\t\t\t\t\tclassName: 'array-input',\n\t\n\t\t\t\t\t\ttemplate: 'Add Another',\n\t\n\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\titemType: 'string'\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tevents: {\n\t\t\t\t\t\t\t'click .array-inputs-button': function clickArrayInputsButton(e) {\n\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\tif (this.isEditMode()) {\n\t\t\t\t\t\t\t\t\tthis.addNewElement();\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\n\t\t\t\t\t\tinitialize: function initialize(options) {\n\t\t\t\t\t\t\toptions || (options = {});\n\t\t\t\t\t\t\tthis.params = _.defaults(options.params || {}, this.params);\n\t\t\t\t\t\t\tthis.uniqueIdPrefix = 'array';\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t// api returns null for an array that does not have value\n\t\t\t\t\t\t// convert it to an empty array\n\t\t\t\t\t\tfrom: function from(val) {\n\t\t\t\t\t\t\tif (!_.isArray(val)) {\n\t\t\t\t\t\t\t\treturn [];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn val;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t// @Override\n\t\t\t\t\t\teditMode: function editMode() {\n\t\t\t\t\t\t\tthis._setArrayObject();\n\t\t\t\t\t\t\tthis.$el.html(this.template);\n\t\t\t\t\t\t\t_.each(this.arrayObject, _.bind(this._addDeletableBox, this));\n\t\n\t\t\t\t\t\t\treturn this;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t// @Override\n\t\t\t\t\t\treadMode: function readMode() {\n\t\t\t\t\t\t\tthis.editMode();\n\t\t\t\t\t\t\tthis.$('.array-inputs-button').addClass('link-button-disabled');\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t// @Override\n\t\t\t\t\t\t// converts arrayObject to a plain array\n\t\t\t\t\t\t// for string type array, returns all values\n\t\t\t\t\t\t// for number/integer type array, returns values in number type\n\t\t\t\t\t\tval: function val() {\n\t\t\t\t\t\t\tvar values = _.values(this.arrayObject);\n\t\t\t\t\t\t\tif (_.contains([SchemaUtil.DATATYPE.number, SchemaUtil.DATATYPE.integer], this.params.itemType)) {\n\t\t\t\t\t\t\t\tvalues = _.filter(values, _.isNumber);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn values;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tfocus: function focus() {},\n\t\n\t\t\t\t\t\taddNewElement: function addNewElement() {\n\t\t\t\t\t\t\tvar value = '',\n\t\t\t\t\t\t\t key = _.uniqueId(this.uniqueIdPrefix);\n\t\t\t\t\t\t\tthis.arrayObject[key] = value;\n\t\t\t\t\t\t\tthis._addDeletableBox(value, key);\n\t\t\t\t\t\t\t// update is called to make sure an empty string value is added for string type array\n\t\t\t\t\t\t\tthis.update();\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t_addDeletableBox: function _addDeletableBox(value, key) {\n\t\t\t\t\t\t\tvar deletableBox = new DeletableBox(_.extend(_.pick(this.options, 'read', 'readOnly', 'model'), { key: key, value: value, itemType: this.params.itemType }));\n\t\t\t\t\t\t\tthis.listenTo(deletableBox, 'updateArray', function (updatedValue) {\n\t\t\t\t\t\t\t\tif (_.isNull(updatedValue)) {\n\t\t\t\t\t\t\t\t\tdelete this.arrayObject[key];\n\t\t\t\t\t\t\t\t\tthis.stopListening(deletableBox);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tthis.arrayObject[key] = updatedValue;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tthis.update();\n\t\t\t\t\t\t\t});\n\t\n\t\t\t\t\t\t\tdeletableBox.render().$el.hide();\n\t\t\t\t\t\t\tthis.$('.array-inputs-button').before(deletableBox.el);\n\t\t\t\t\t\t\tdeletableBox.$el.slideDown();\n\t\n\t\t\t\t\t\t\treturn deletableBox;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t_setArrayObject: function _setArrayObject() {\n\t\t\t\t\t\t\tvar array = this.model.get(this.options.name);\n\t\t\t\t\t\t\tthis.arrayObject = {};\n\t\t\t\t\t\t\tif (_.isArray(array) && !_.isEmpty(array)) {\n\t\t\t\t\t\t\t\tvar keys = [],\n\t\t\t\t\t\t\t\t self = this;\n\t\t\t\t\t\t\t\t_(array.length).times(function () {\n\t\t\t\t\t\t\t\t\tkeys.push(_.uniqueId(self.uniqueIdPrefix));\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tthis.arrayObject = _.object(keys, array);\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}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 68 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; /* eslint max-params: [2, 6] */\n\t\t\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(28), __webpack_require__(22), __webpack_require__(10), __webpack_require__(25), __webpack_require__(65)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, BaseView, SchemaUtil, StringUtil, TemplateUtil, Time) {\n\t\n\t\t\t\t\tvar isVowel = function isVowel(string) {\n\t\t\t\t\t\treturn (/^[aeiou]/.test(string)\n\t\t\t\t\t\t);\n\t\t\t\t\t};\n\t\n\t\t\t\t\tvar getArticle = function getArticle(string) {\n\t\t\t\t\t\treturn isVowel(string) ? 'an' : 'a';\n\t\t\t\t\t};\n\t\n\t\t\t\t\tvar template = TemplateUtil.tpl('\\\n\t\t
          \\\n\t\t \\\n\t\t \\\n\t\t \\\n\t\t \\\n\t\t \\\n\t\t \\\n\t\t
          \\\n\t\t

          \\\n\t\t {{errorExplain}}\\\n\t\t

          \\\n\t\t '),\n\t\t\t\t\t errorClass = 'o-form-has-errors',\n\t\t\t\t\t updateArrayEvent = 'updateArray';\n\t\n\t\t\t\t\treturn BaseView.extend({\n\t\n\t\t\t\t\t\ttagName: 'div',\n\t\n\t\t\t\t\t\tclassName: 'o-form-input-group',\n\t\n\t\t\t\t\t\tevents: {\n\t\t\t\t\t\t\t'click a': function clickA(e) {\n\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\tthis.remove();\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t'keyup input': function keyupInput() {\n\t\t\t\t\t\t\t\tthis.update();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tisEditMode: function isEditMode() {\n\t\t\t\t\t\t\treturn !this.options.readOnly && (this.options.read !== true || this.model.get('__edit__') === true);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tinitialize: function initialize() {\n\t\t\t\t\t\t\tthis.template = template(_.extend(this.options, {\n\t\t\t\t\t\t\t\tplaceholder: this.getPlaceholderText(),\n\t\t\t\t\t\t\t\terrorExplain: this.getErrorExplainText()\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\tthis.update = _.debounce(this.update, this.options.debounceDelay || Time.DEBOUNCE_DELAY);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\trender: function render() {\n\t\t\t\t\t\t\tif (this.isEditMode()) {\n\t\t\t\t\t\t\t\tthis.$el.html(this.template);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.$el.text(this.options.value);\n\t\t\t\t\t\t\t\tthis.$('a').hide();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn this;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tremove: function remove() {\n\t\t\t\t\t\t\tthis.trigger(updateArrayEvent, null);\n\t\t\t\t\t\t\tthis.$el.slideUp(_.bind(function () {\n\t\t\t\t\t\t\t\tBaseView.prototype.remove.call(this, arguments);\n\t\t\t\t\t\t\t}, this));\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tupdate: function update() {\n\t\t\t\t\t\t\tvar updatedValue = this.$('input').val(),\n\t\t\t\t\t\t\t parseFunc = _.object([SchemaUtil.DATATYPE.number, SchemaUtil.DATATYPE.integer], [StringUtil.parseFloat, this.parseInt]);\n\t\t\t\t\t\t\tif (_.has(parseFunc, this.options.itemType)) {\n\t\t\t\t\t\t\t\tupdatedValue = parseFunc[this.options.itemType](updatedValue);\n\t\t\t\t\t\t\t\t!_.isNumber(updatedValue) ? this.markInvalid() : this.clearInvalid();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tthis.trigger(updateArrayEvent, updatedValue);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tmarkInvalid: function markInvalid() {\n\t\t\t\t\t\t\tthis.$el.addClass(errorClass);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tclearInvalid: function clearInvalid() {\n\t\t\t\t\t\t\tthis.$el.removeClass(errorClass);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tgetPlaceholderText: function getPlaceholderText() {\n\t\t\t\t\t\t\tvar text = ['Enter'];\n\t\t\t\t\t\t\ttext.push(getArticle(this.options.itemType));\n\t\t\t\t\t\t\ttext.push(this.options.itemType.toLowerCase());\n\t\t\t\t\t\t\treturn text.join(' ');\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tgetErrorExplainText: function getErrorExplainText() {\n\t\t\t\t\t\t\tvar text = ['Value must be'];\n\t\t\t\t\t\t\ttext.push(getArticle(this.options.itemType));\n\t\t\t\t\t\t\ttext.push(this.options.itemType.toLowerCase());\n\t\t\t\t\t\t\treturn text.join(' ');\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tparseInt: function (_parseInt2) {\n\t\t\t\t\t\t\tfunction parseInt(_x3) {\n\t\t\t\t\t\t\t\treturn _parseInt2.apply(this, arguments);\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tparseInt.toString = function () {\n\t\t\t\t\t\t\t\treturn _parseInt2.toString();\n\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\treturn parseInt;\n\t\t\t\t\t\t}(function (string) {\n\t\t\t\t\t\t\t// native javascript parseInt is aggressive\n\t\t\t\t\t\t\t// there're cases we don't want a string to be parsed even though it is convertable\n\t\t\t\t\t\t\t// so that we don't convert a string silently before warning a user the potential error\n\t\t\t\t\t\t\t// this is to make sure the string is in an integer format before we parse it\n\t\t\t\t\t\t\tif (/^-?\\d+$/.test(string)) {\n\t\t\t\t\t\t\t\tvar num = parseInt(string, 10);\n\t\t\t\t\t\t\t\treturn !_.isNaN(num) ? num : string;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn string;\n\t\t\t\t\t\t})\n\t\t\t\t\t});\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 69 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(8), __webpack_require__(25), __webpack_require__(63), __webpack_require__(46), __webpack_require__(70), __webpack_require__(43)], __WEBPACK_AMD_DEFINE_RESULT__ = function ($, TemplateUtil, BaseInput, Keys) {\n\t\n\t\t\t\t\tvar className = 'okta-form-input-field input-fix';\n\t\n\t\t\t\t\tfunction hasTitleAndText(options) {\n\t\t\t\t\t\tvar title = options.title,\n\t\t\t\t\t\t text = options.text;\n\t\n\t\t\t\t\t\treturn title && text && title !== text;\n\t\t\t\t\t}\n\t\n\t\t\t\t\t// options may be a string or an object.\n\t\t\t\t\tfunction createQtipContent(options) {\n\t\t\t\t\t\tif (hasTitleAndText(options)) {\n\t\t\t\t\t\t\treturn options;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn { text: options.text || options };\n\t\t\t\t\t}\n\t\n\t\t\t\t\treturn BaseInput.extend({\n\t\t\t\t\t\ttemplate: TemplateUtil.tpl('\\\n\t\t {{#if params.innerTooltip}}\\\n\t\t \\\n\t\t {{/if}}\\\n\t\t {{#if params.icon}}\\\n\t\t \\\n\t\t {{/if}}\\\n\t\t \\\n\t\t {{#if params.iconDivider}}\\\n\t\t \\\n\t\t {{/if}}\\\n\t\t '),\n\t\t\t\t\t\t/**\n\t * @Override\n\t */\n\t\t\t\t\t\tevents: {\n\t\t\t\t\t\t\t'input input': 'update',\n\t\t\t\t\t\t\t'change input': 'update',\n\t\t\t\t\t\t\t'keydown input': 'update',\n\t\t\t\t\t\t\t'keyup input': function keyupInput(e) {\n\t\t\t\t\t\t\t\tif (Keys.isEnter(e)) {\n\t\t\t\t\t\t\t\t\tthis.model.trigger('form:save');\n\t\t\t\t\t\t\t\t} else if (Keys.isEsc(e)) {\n\t\t\t\t\t\t\t\t\tthis.model.trigger('form:cancel');\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\n\t\t\t\t\t\tconstructor: function constructor() {\n\t\t\t\t\t\t\tBaseInput.apply(this, arguments);\n\t\t\t\t\t\t\tthis.$el.addClass('o-form-control');\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * @Override\n\t */\n\t\t\t\t\t\teditMode: function editMode() {\n\t\t\t\t\t\t\tthis.$el.addClass(className);\n\t\t\t\t\t\t\tBaseInput.prototype.editMode.apply(this, arguments);\n\t\t\t\t\t\t\tthis.$('input').placeholder();\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * @Override\n\t */\n\t\t\t\t\t\treadMode: function readMode() {\n\t\t\t\t\t\t\tBaseInput.prototype.readMode.apply(this, arguments);\n\t\t\t\t\t\t\tif (this.options.type == 'password') {\n\t\t\t\t\t\t\t\tthis.$el.text('********');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tthis.$el.removeClass(className);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * @Override\n\t */\n\t\t\t\t\t\tval: function val() {\n\t\t\t\t\t\t\t//IE will only read clear text pw if type=\"password\" is explicitly in selector\n\t\t\t\t\t\t\tvar inputValue = this.$('input[type=\"' + this.options.type + '\"]').val();\n\t\n\t\t\t\t\t\t\tif (this.options.type !== 'password') {\n\t\t\t\t\t\t\t\tinputValue = $.trim(inputValue);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn inputValue;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * @Override\n\t */\n\t\t\t\t\t\tfocus: function focus() {\n\t\t\t\t\t\t\treturn this.$('input').focus();\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tpostRender: function postRender() {\n\t\t\t\t\t\t\tvar params = this.options.params,\n\t\t\t\t\t\t\t content;\n\t\n\t\t\t\t\t\t\tif (params && params.innerTooltip) {\n\t\t\t\t\t\t\t\tcontent = createQtipContent(params.innerTooltip);\n\t\t\t\t\t\t\t\tthis.$('.input-tooltip').qtip({\n\t\t\t\t\t\t\t\t\tcontent: content,\n\t\t\t\t\t\t\t\t\tstyle: { classes: 'okta-tooltip qtip-custom qtip-shadow' },\n\t\t\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\t\t\tmy: 'bottom left',\n\t\t\t\t\t\t\t\t\t\t// Note: qTip2 has a known issue calculating the tooltip offset when:\n\t\t\t\t\t\t\t\t\t\t// 1. A container element has both:\n\t\t\t\t\t\t\t\t\t\t// a) position: relative/absolute\n\t\t\t\t\t\t\t\t\t\t// b) overlay: value other than 'visible'\n\t\t\t\t\t\t\t\t\t\t// 2. The page is scrolled\n\t\t\t\t\t\t\t\t\t\t//\n\t\t\t\t\t\t\t\t\t\t// We set position:relative and overlay:auto on the body element,\n\t\t\t\t\t\t\t\t\t\t// where both are required for:\n\t\t\t\t\t\t\t\t\t\t// - Positioning the footer correctly\n\t\t\t\t\t\t\t\t\t\t// - Displaying long pages in embedded browsers\n\t\t\t\t\t\t\t\t\t\t//\n\t\t\t\t\t\t\t\t\t\t// The original design called for a fixed position relative to the\n\t\t\t\t\t\t\t\t\t\t// tooltip icon - this has been switched to \"relative to mouse, and\n\t\t\t\t\t\t\t\t\t\t// update position when mouse moves\" because of this constraint.\n\t\t\t\t\t\t\t\t\t\ttarget: 'mouse',\n\t\t\t\t\t\t\t\t\t\tadjust: {\n\t\t\t\t\t\t\t\t\t\t\tmethod: 'flip',\n\t\t\t\t\t\t\t\t\t\t\tmouse: true,\n\t\t\t\t\t\t\t\t\t\t\ty: -5,\n\t\t\t\t\t\t\t\t\t\t\tx: 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tviewport: $('body')\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});\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 70 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; /*! http://mths.be/placeholder v2.0.7 by @mathias */\n\t\t\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(9)], __WEBPACK_AMD_DEFINE_RESULT__ = function ($) {\n\t\n\t\t\t\t\tvar isInputSupported = 'placeholder' in document.createElement('input'),\n\t\t\t\t\t isTextareaSupported = 'placeholder' in document.createElement('textarea'),\n\t\t\t\t\t prototype = $.fn,\n\t\t\t\t\t valHooks = $.valHooks,\n\t\t\t\t\t hooks,\n\t\t\t\t\t placeholder;\n\t\n\t\t\t\t\tif (isInputSupported && isTextareaSupported) {\n\t\n\t\t\t\t\t\tplaceholder = prototype.placeholder = function () {\n\t\t\t\t\t\t\treturn this;\n\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\tplaceholder.input = placeholder.textarea = true;\n\t\t\t\t\t} else {\n\t\n\t\t\t\t\t\tplaceholder = prototype.placeholder = function () {\n\t\t\t\t\t\t\tvar $this = this;\n\t\t\t\t\t\t\t$this.filter((isInputSupported ? 'textarea' : ':input') + '[placeholder]').not('.placeholder').bind({\n\t\t\t\t\t\t\t\t'focus.placeholder': clearPlaceholder,\n\t\t\t\t\t\t\t\t'blur.placeholder': setPlaceholder\n\t\t\t\t\t\t\t}).data('placeholder-enabled', true).trigger('blur.placeholder');\n\t\t\t\t\t\t\treturn $this;\n\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\tplaceholder.input = isInputSupported;\n\t\t\t\t\t\tplaceholder.textarea = isTextareaSupported;\n\t\n\t\t\t\t\t\thooks = {\n\t\t\t\t\t\t\t'get': function get(element) {\n\t\t\t\t\t\t\t\tvar $element = $(element);\n\t\t\t\t\t\t\t\treturn $element.data('placeholder-enabled') && $element.hasClass('placeholder') ? '' : element.value;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t'set': function set(element, value) {\n\t\t\t\t\t\t\t\tvar $element = $(element);\n\t\t\t\t\t\t\t\tif (!$element.data('placeholder-enabled')) {\n\t\t\t\t\t\t\t\t\treturn element.value = value;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (value == '') {\n\t\t\t\t\t\t\t\t\telement.value = value;\n\t\t\t\t\t\t\t\t\t// Issue #56: Setting the placeholder causes problems if the element continues to have focus.\n\t\t\t\t\t\t\t\t\tif (element != document.activeElement) {\n\t\t\t\t\t\t\t\t\t\t// We can't use `triggerHandler` here because of dummy text/password inputs :(\n\t\t\t\t\t\t\t\t\t\tsetPlaceholder.call(element);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} else if ($element.hasClass('placeholder')) {\n\t\t\t\t\t\t\t\t\tclearPlaceholder.call(element, true, value) || (element.value = value);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\telement.value = value;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// `set` can not return `undefined`; see http://jsapi.info/jquery/1.7.1/val#L2363\n\t\t\t\t\t\t\t\treturn $element;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\tisInputSupported || (valHooks.input = hooks);\n\t\t\t\t\t\tisTextareaSupported || (valHooks.textarea = hooks);\n\t\n\t\t\t\t\t\t$(function () {\n\t\t\t\t\t\t\t// Look for forms\n\t\t\t\t\t\t\t$(document).delegate('form', 'submit.placeholder', function () {\n\t\t\t\t\t\t\t\t// Clear the placeholder values so they don't get submitted\n\t\t\t\t\t\t\t\tvar $inputs = $('.placeholder', this).each(clearPlaceholder);\n\t\t\t\t\t\t\t\tsetTimeout(function () {\n\t\t\t\t\t\t\t\t\t$inputs.each(setPlaceholder);\n\t\t\t\t\t\t\t\t}, 10);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t});\n\t\n\t\t\t\t\t\t// Clear placeholder values upon page reload\n\t\t\t\t\t\t$(window).bind('beforeunload.placeholder', function () {\n\t\t\t\t\t\t\t$('.placeholder').each(function () {\n\t\t\t\t\t\t\t\tthis.value = '';\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction args(elem) {\n\t\t\t\t\t\t// Return an object of element attributes\n\t\t\t\t\t\tvar newAttrs = {},\n\t\t\t\t\t\t rinlinejQuery = /^jQuery\\d+$/;\n\t\t\t\t\t\t$.each(elem.attributes, function (i, attr) {\n\t\t\t\t\t\t\tif (attr.specified && !rinlinejQuery.test(attr.name)) {\n\t\t\t\t\t\t\t\tnewAttrs[attr.name] = attr.value;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn newAttrs;\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction clearPlaceholder(event, value) {\n\t\t\t\t\t\tvar input = this,\n\t\t\t\t\t\t $input = $(input);\n\t\t\t\t\t\tif (input.value == $input.attr('placeholder') && $input.hasClass('placeholder')) {\n\t\t\t\t\t\t\tif ($input.data('placeholder-password')) {\n\t\t\t\t\t\t\t\t$input = $input.hide().next().show().attr('id', $input.removeAttr('id').data('placeholder-id'));\n\t\t\t\t\t\t\t\t// If `clearPlaceholder` was called from `$.valHooks.input.set`\n\t\t\t\t\t\t\t\tif (event === true) {\n\t\t\t\t\t\t\t\t\treturn $input[0].value = value;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t$input.focus();\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tinput.value = '';\n\t\t\t\t\t\t\t\t$input.removeClass('placeholder');\n\t\t\t\t\t\t\t\tinput == document.activeElement && input.select();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\n\t\t\t\t\tfunction setPlaceholder() {\n\t\t\t\t\t\tvar $replacement,\n\t\t\t\t\t\t input = this,\n\t\t\t\t\t\t $input = $(input),\n\t\t\t\t\t\t $origInput = $input,\n\t\t\t\t\t\t id = this.id;\n\t\t\t\t\t\tif (input.value == '') {\n\t\t\t\t\t\t\tif (input.type == 'password') {\n\t\t\t\t\t\t\t\tif (!$input.data('placeholder-textinput')) {\n\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\t$replacement = $input.clone().attr({ 'type': 'text' });\n\t\t\t\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t\t\t\t$replacement = $('').attr($.extend(args(this), { 'type': 'text' }));\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t$replacement.removeAttr('name').data({\n\t\t\t\t\t\t\t\t\t\t'placeholder-password': true,\n\t\t\t\t\t\t\t\t\t\t'placeholder-id': id\n\t\t\t\t\t\t\t\t\t}).bind('focus.placeholder', clearPlaceholder);\n\t\t\t\t\t\t\t\t\t$input.data({\n\t\t\t\t\t\t\t\t\t\t'placeholder-textinput': $replacement,\n\t\t\t\t\t\t\t\t\t\t'placeholder-id': id\n\t\t\t\t\t\t\t\t\t}).before($replacement);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t$input = $input.removeAttr('id').hide().prev().attr('id', id).show();\n\t\t\t\t\t\t\t\t// Note: `$input[0] != input` now!\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t$input.addClass('placeholder');\n\t\t\t\t\t\t\t$input[0].value = $input.attr('placeholder');\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$input.removeClass('placeholder');\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 71 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; /*!\n\t * Copyright (c) 2015-2018, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t\t\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(25), __webpack_require__(69)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, TemplateUtil, TextBox) {\n\t\n\t\t\t\t\tvar toggleTemplate = TemplateUtil.tpl('\\\n\t\t \\\n\t\t \\\n\t\t \\\n\t\t \\\n\t\t ');\n\t\n\t\t\t\t\tvar toggleTimeout = 30000;\n\t\n\t\t\t\t\treturn TextBox.extend({\n\t\t\t\t\t\tinitialize: function initialize() {\n\t\t\t\t\t\t\tif (this.__showPasswordToggle()) {\n\t\t\t\t\t\t\t\tthis.events['click .password-toggle .button-show'] = '__showPassword';\n\t\t\t\t\t\t\t\tthis.events['click .password-toggle .button-hide'] = '__hidePassword';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tthis.delegateEvents();\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\tpostRender: function postRender() {\n\t\t\t\t\t\t\tif (this.isEditMode() && this.__showPasswordToggle()) {\n\t\t\t\t\t\t\t\tthis.$el.append(toggleTemplate);\n\t\t\t\t\t\t\t\tthis.$el.find('input[type=\"password\"]').addClass('password-with-toggle');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tTextBox.prototype.postRender.apply(this, arguments);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t__showPasswordToggle: function __showPasswordToggle() {\n\t\t\t\t\t\t\treturn this.options.params && this.options.params.showPasswordToggle;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t__showPassword: function __showPassword() {\n\t\t\t\t\t\t\tvar _this2 = this;\n\t\n\t\t\t\t\t\t\tTextBox.prototype.changeType.apply(this, ['text']);\n\t\t\t\t\t\t\tthis.$('.password-toggle .button-show').hide();\n\t\t\t\t\t\t\tthis.$('.password-toggle .button-hide').show();\n\t\t\t\t\t\t\tthis.passwordToggleTimer = _.delay(function () {\n\t\t\t\t\t\t\t\t_this2.__hidePassword();\n\t\t\t\t\t\t\t}, toggleTimeout);\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t__hidePassword: function __hidePassword() {\n\t\t\t\t\t\t\tTextBox.prototype.changeType.apply(this, ['password']);\n\t\t\t\t\t\t\tthis.$('.password-toggle .button-show').show();\n\t\t\t\t\t\t\tthis.$('.password-toggle .button-hide').hide();\n\t\t\t\t\t\t\t// clear timeout\n\t\t\t\t\t\t\tif (this.passwordToggleTimer) {\n\t\t\t\t\t\t\t\tclearTimeout(this.passwordToggleTimer);\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}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 72 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(46), __webpack_require__(25), __webpack_require__(63), __webpack_require__(73)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, Keys, TemplateUtil, BaseInput) {\n\t\n\t\t\t\t\tvar template = TemplateUtil.tpl('\\\n\t\t \\\n\t\t \\\n\t\t ');\n\t\n\t\t\t\t\treturn BaseInput.extend({\n\t\t\t\t\t\ttemplate: template,\n\t\t\t\t\t\t/**\n\t * @Override\n\t */\n\t\t\t\t\t\tevents: {\n\t\t\t\t\t\t\t'change :checkbox': 'update',\n\t\t\t\t\t\t\t'keyup': function keyup(e) {\n\t\t\t\t\t\t\t\tif (Keys.isSpaceBar(e)) {\n\t\t\t\t\t\t\t\t\tthis.$(':checkbox').click();\n\t\t\t\t\t\t\t\t} else if (Keys.isEnter(e)) {\n\t\t\t\t\t\t\t\t\tthis.model.trigger('form:save');\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\n\t\t\t\t\t\t/**\n\t * @Override\n\t */\n\t\t\t\t\t\teditMode: function editMode() {\n\t\t\t\t\t\t\tvar placeholder = _.resultCtx(this.options, 'placeholder', this);\n\t\t\t\t\t\t\tif (placeholder === '') {\n\t\t\t\t\t\t\t\tplaceholder = _.resultCtx(this.options, 'label', this);\n\t\t\t\t\t\t\t} else if (placeholder === false) {\n\t\t\t\t\t\t\t\tplaceholder = '';\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tthis.$el.html(this.template(_.extend(_.omit(this.options, 'placeholder'), { placeholder: placeholder })));\n\t\t\t\t\t\t\tvar $input = this.$(':checkbox');\n\t\t\t\t\t\t\t$input.prop('checked', this.getModelValue() || false);\n\t\n\t\t\t\t\t\t\tthis.$('input').customInput();\n\t\t\t\t\t\t\tthis.model.trigger('form:resize');\n\t\n\t\t\t\t\t\t\treturn this;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * @Override\n\t */\n\t\t\t\t\t\treadMode: function readMode() {\n\t\t\t\t\t\t\tthis.editMode();\n\t\t\t\t\t\t\tthis.$(':checkbox').prop('disabled', true);\n\t\t\t\t\t\t\treturn this;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * @Override\n\t */\n\t\t\t\t\t\tval: function val() {\n\t\t\t\t\t\t\treturn this.$(':checkbox').prop('checked');\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * @Override\n\t */\n\t\t\t\t\t\tfocus: function focus() {\n\t\t\t\t\t\t\treturn this.$(':checkbox').focus();\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t});\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 73 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; /**\n\t * There are following local modifications:\n\t * - Author: Uzi Kilon ukilon@okta.com\n\t * Bug: OKTA-20830 - solves the conflict when there are multiple labels\n\t */\n\t\t\t\t/**\n\t * --------------------------------------------------------------------\n\t * jQuery customInput plugin\n\t * Author: Maggie Costello Wachs maggie@filamentgroup.com, Scott Jehl, scott@filamentgroup.com\n\t * Copyright (c) 2009 Filament Group\n\t * licensed under MIT (filamentgroup.com/examples/mit-license.txt)\n\t * --------------------------------------------------------------------\n\t */\n\t\t\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(9)], __WEBPACK_AMD_DEFINE_RESULT__ = function (jQuery) {\n\t\t\t\t\tvar $ = jQuery;\n\t\t\t\t\tjQuery.fn.customInput = function () {\n\t\t\t\t\t\treturn $(this).each(function () {\n\t\t\t\t\t\t\tif ($(this).is('[type=checkbox],[type=radio]')) {\n\t\t\t\t\t\t\t\tvar input = $(this);\n\t\n\t\t\t\t\t\t\t\t// get the associated label using the input's id\n\t\t\t\t\t\t\t\tvar label = input.siblings('label[for=\"' + input.attr('id') + '\"]:first');\n\t\t\t\t\t\t\t\tif (!label.length) {\n\t\t\t\t\t\t\t\t\tlabel = input.closest('label[for=\"' + input.attr('id') + '\"]:first');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// wrap the input + label in a div\n\t\t\t\t\t\t\t\tinput.add(label).wrapAll('
          ');\n\t\n\t\t\t\t\t\t\t\t// necessary for browsers that don't support the :hover pseudo class on labels\n\t\t\t\t\t\t\t\tlabel.hover(function () {\n\t\t\t\t\t\t\t\t\t$(this).addClass('hover');\n\t\t\t\t\t\t\t\t}, function () {\n\t\t\t\t\t\t\t\t\t$(this).removeClass('hover');\n\t\t\t\t\t\t\t\t});\n\t\n\t\t\t\t\t\t\t\t//bind custom event, trigger it, bind click,focus,blur events\n\t\t\t\t\t\t\t\tinput.bind('updateState', function () {\n\t\t\t\t\t\t\t\t\tinput.is(':checked') ? label.addClass('checked') : label.removeClass('checked checkedHover checkedFocus');\n\t\t\t\t\t\t\t\t}).trigger('updateState').click(function () {\n\t\t\t\t\t\t\t\t\t$('input[name=\"' + $(this).attr('name') + '\"]').trigger('updateState');\n\t\t\t\t\t\t\t\t}).focus(function () {\n\t\t\t\t\t\t\t\t\tlabel.addClass('focus');\n\t\t\t\t\t\t\t\t\tif (input.is(':checked')) {\n\t\t\t\t\t\t\t\t\t\t$(this).addClass('checkedFocus');\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}).blur(function () {\n\t\t\t\t\t\t\t\t\tlabel.removeClass('focus checkedFocus');\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};\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t},\n\t\t\t/* 74 */\n\t\t\t/***/function (module, exports, __webpack_require__) {\n\t\n\t\t\t\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; /* eslint max-statements: [2, 12], max-params: [2, 6] */\n\t\t\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(8), __webpack_require__(46), __webpack_require__(39), __webpack_require__(63), __webpack_require__(28), __webpack_require__(73)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, $, Keys, Util, BaseInput, BaseView) {\n\t\n\t\t\t\t\tvar isABaseView = Util.isABaseView;\n\t\n\t\t\t\t\tvar RadioOption = BaseView.extend({\n\t\t\t\t\t\ttemplate: '\\\n\t\t \\\n\t\t \\\n\t\t ',\n\t\t\t\t\t\tinitialize: function initialize(options) {\n\t\t\t\t\t\t\tvar explain;\n\t\n\t\t\t\t\t\t\texplain = options.explain;\n\t\t\t\t\t\t\tif (_.isFunction(explain) && !isABaseView(explain)) {\n\t\t\t\t\t\t\t\texplain = _.resultCtx(this.options, 'explain', this);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (!explain) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tif (isABaseView(explain)) {\n\t\t\t\t\t\t\t\tthis.add('

          ', '.radio-label');\n\t\t\t\t\t\t\t\tthis.add(explain, '.o-form-explain');\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.add('

          {{explain}}

          ', '.radio-label');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\n\t\t\t\t\treturn BaseInput.extend({\n\t\n\t\t\t\t\t\t/**\n\t * @Override\n\t */\n\t\t\t\t\t\tevents: {\n\t\t\t\t\t\t\t'change :radio': 'update',\n\t\t\t\t\t\t\t'keyup': function keyup(e) {\n\t\t\t\t\t\t\t\tif (Keys.isSpaceBar(e)) {\n\t\t\t\t\t\t\t\t\t$(e.target).click();\n\t\t\t\t\t\t\t\t} else if (Keys.isEnter(e)) {\n\t\t\t\t\t\t\t\t\tthis.model.trigger('form:save');\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\n\t\t\t\t\t\t/**\n\t * @Override\n\t */\n\t\t\t\t\t\teditMode: function editMode() {\n\t\t\t\t\t\t\tvar templates = [];\n\t\t\t\t\t\t\tthis.$el.empty();\n\t\n\t\t\t\t\t\t\t_.each(this.options.options, function (value, key) {\n\t\t\t\t\t\t\t\tvar options = {\n\t\t\t\t\t\t\t\t\toptionId: _.uniqueId('option'),\n\t\t\t\t\t\t\t\t\tname: this.options.inputId,\n\t\t\t\t\t\t\t\t\trealName: this.options.name,\n\t\t\t\t\t\t\t\t\tvalue: key\n\t\t\t\t\t\t\t\t};\n\t\n\t\t\t\t\t\t\t\tif (!_.isObject(value)) {\n\t\t\t\t\t\t\t\t\tvalue = { label: value };\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t_.extend(options, value);\n\t\n\t\t\t\t\t\t\t\ttemplates.push(new RadioOption(options).render().el);\n\t\t\t\t\t\t\t}, this);\n\t\t\t\t\t\t\tthis.$el.append(templates);\n\t\t\t\t\t\t\tvar value = this.getModelValue();\n\t\t\t\t\t\t\tif (value) {\n\t\t\t\t\t\t\t\tthis.$(':radio[value=' + value + ']').prop('checked', true);\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tthis.$('input').customInput();\n\t\t\t\t\t\t\tthis.model.trigger('form:resize');\n\t\n\t\t\t\t\t\t\tif (this.getParam('inline') === true) {\n\t\t\t\t\t\t\t\tthis.$('div.custom-radio').addClass('inline');\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\treturn this;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * @Override\n\t */\n\t\t\t\t\t\treadMode: function readMode() {\n\t\t\t\t\t\t\tthis.editMode();\n\t\t\t\t\t\t\tthis.$(':radio').prop('disabled', true);\n\t\t\t\t\t\t\treturn this;\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * @Override\n\t */\n\t\t\t\t\t\tval: function val() {\n\t\t\t\t\t\t\treturn this.$(':radio:checked').val();\n\t\t\t\t\t\t},\n\t\n\t\t\t\t\t\t/**\n\t * @Override\n\t */\n\t\t\t\t\t\tfocus: function focus() {\n\t\t\t\t\t\t\treturn this.$('label:eq(0)').focus();\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t});\n\t\t\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t\t\t\t/***/\n\t\t\t}\n\t\t\t/******/])\n\t\t);\n\t});\n\t;\n\t//# sourceMappingURL=courage-for-signin-widget.js.map\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(332)(module)))\n\n/***/ },\n/* 332 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function(module) {\r\n\t\tif(!module.webpackPolyfill) {\r\n\t\t\tmodule.deprecate = function() {};\r\n\t\t\tmodule.paths = [];\r\n\t\t\t// module.parent = undefined by default\r\n\t\t\tmodule.children = [];\r\n\t\t\tmodule.webpackPolyfill = 1;\r\n\t\t}\r\n\t\treturn module;\r\n\t}\r\n\n\n/***/ },\n/* 333 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(334), __esModule: true };\n\n/***/ },\n/* 334 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar core = __webpack_require__(335);\n\tvar $JSON = core.JSON || (core.JSON = { stringify: JSON.stringify });\n\tmodule.exports = function stringify(it) { // eslint-disable-line no-unused-vars\n\t return $JSON.stringify.apply($JSON, arguments);\n\t};\n\n\n/***/ },\n/* 335 */\n/***/ function(module, exports) {\n\n\tvar core = module.exports = { version: '2.5.7' };\n\tif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ },\n/* 336 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\tvar _iterator = __webpack_require__(337);\n\t\n\tvar _iterator2 = _interopRequireDefault(_iterator);\n\t\n\tvar _symbol = __webpack_require__(387);\n\t\n\tvar _symbol2 = _interopRequireDefault(_symbol);\n\t\n\tvar _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\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n\t return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n\t} : function (obj) {\n\t return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n\t};\n\n/***/ },\n/* 337 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(338), __esModule: true };\n\n/***/ },\n/* 338 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(339);\n\t__webpack_require__(382);\n\tmodule.exports = __webpack_require__(386).f('iterator');\n\n\n/***/ },\n/* 339 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $at = __webpack_require__(340)(true);\n\t\n\t// 21.1.3.27 String.prototype[@@iterator]()\n\t__webpack_require__(343)(String, 'String', function (iterated) {\n\t this._t = String(iterated); // target\n\t this._i = 0; // next index\n\t// 21.1.5.2.1 %StringIteratorPrototype%.next()\n\t}, function () {\n\t var O = this._t;\n\t var index = this._i;\n\t var point;\n\t if (index >= O.length) return { value: undefined, done: true };\n\t point = $at(O, index);\n\t this._i += point.length;\n\t return { value: point, done: false };\n\t});\n\n\n/***/ },\n/* 340 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar toInteger = __webpack_require__(341);\n\tvar defined = __webpack_require__(342);\n\t// true -> String#at\n\t// false -> String#codePointAt\n\tmodule.exports = function (TO_STRING) {\n\t return function (that, pos) {\n\t var s = String(defined(that));\n\t var i = toInteger(pos);\n\t var l = s.length;\n\t var a, b;\n\t if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n\t a = s.charCodeAt(i);\n\t return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n\t ? TO_STRING ? s.charAt(i) : a\n\t : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n\t };\n\t};\n\n\n/***/ },\n/* 341 */\n/***/ function(module, exports) {\n\n\t// 7.1.4 ToInteger\n\tvar ceil = Math.ceil;\n\tvar floor = Math.floor;\n\tmodule.exports = function (it) {\n\t return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n\t};\n\n\n/***/ },\n/* 342 */\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/***/ },\n/* 343 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar LIBRARY = __webpack_require__(344);\n\tvar $export = __webpack_require__(345);\n\tvar redefine = __webpack_require__(360);\n\tvar hide = __webpack_require__(349);\n\tvar Iterators = __webpack_require__(361);\n\tvar $iterCreate = __webpack_require__(362);\n\tvar setToStringTag = __webpack_require__(378);\n\tvar getPrototypeOf = __webpack_require__(380);\n\tvar ITERATOR = __webpack_require__(379)('iterator');\n\tvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\n\tvar FF_ITERATOR = '@@iterator';\n\tvar KEYS = 'keys';\n\tvar VALUES = 'values';\n\t\n\tvar returnThis = function () { return this; };\n\t\n\tmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n\t $iterCreate(Constructor, NAME, next);\n\t var getMethod = function (kind) {\n\t if (!BUGGY && kind in proto) return proto[kind];\n\t switch (kind) {\n\t case KEYS: return function keys() { return new Constructor(this, kind); };\n\t case VALUES: return function values() { return new Constructor(this, kind); };\n\t } return function entries() { return new Constructor(this, kind); };\n\t };\n\t var TAG = NAME + ' Iterator';\n\t var DEF_VALUES = DEFAULT == VALUES;\n\t var VALUES_BUG = false;\n\t var proto = Base.prototype;\n\t var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n\t var $default = $native || getMethod(DEFAULT);\n\t var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n\t var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n\t var methods, key, IteratorPrototype;\n\t // Fix native\n\t if ($anyNative) {\n\t IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n\t if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n\t // Set @@toStringTag to native iterators\n\t setToStringTag(IteratorPrototype, TAG, true);\n\t // fix for some old engines\n\t if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n\t }\n\t }\n\t // fix Array#{values, @@iterator}.name in V8 / FF\n\t if (DEF_VALUES && $native && $native.name !== VALUES) {\n\t VALUES_BUG = true;\n\t $default = function values() { return $native.call(this); };\n\t }\n\t // Define iterator\n\t if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n\t hide(proto, ITERATOR, $default);\n\t }\n\t // Plug for library\n\t Iterators[NAME] = $default;\n\t Iterators[TAG] = returnThis;\n\t if (DEFAULT) {\n\t methods = {\n\t values: DEF_VALUES ? $default : getMethod(VALUES),\n\t keys: IS_SET ? $default : getMethod(KEYS),\n\t entries: $entries\n\t };\n\t if (FORCED) for (key in methods) {\n\t if (!(key in proto)) redefine(proto, key, methods[key]);\n\t } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n\t }\n\t return methods;\n\t};\n\n\n/***/ },\n/* 344 */\n/***/ function(module, exports) {\n\n\tmodule.exports = true;\n\n\n/***/ },\n/* 345 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar global = __webpack_require__(346);\n\tvar core = __webpack_require__(335);\n\tvar ctx = __webpack_require__(347);\n\tvar hide = __webpack_require__(349);\n\tvar has = __webpack_require__(359);\n\tvar PROTOTYPE = 'prototype';\n\t\n\tvar $export = function (type, name, source) {\n\t var IS_FORCED = type & $export.F;\n\t var IS_GLOBAL = type & $export.G;\n\t var IS_STATIC = type & $export.S;\n\t var IS_PROTO = type & $export.P;\n\t var IS_BIND = type & $export.B;\n\t var IS_WRAP = type & $export.W;\n\t var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n\t var expProto = exports[PROTOTYPE];\n\t var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n\t var 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 && target[key] !== undefined;\n\t if (own && has(exports, key)) 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 (a, b, c) {\n\t if (this instanceof C) {\n\t switch (arguments.length) {\n\t case 0: return new C();\n\t case 1: return new C(a);\n\t case 2: return new C(a, b);\n\t } return new C(a, b, c);\n\t } return C.apply(this, arguments);\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 // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n\t if (IS_PROTO) {\n\t (exports.virtual || (exports.virtual = {}))[key] = out;\n\t // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n\t if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n\t }\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\t$export.U = 64; // safe\n\t$export.R = 128; // real proto method for `library`\n\tmodule.exports = $export;\n\n\n/***/ },\n/* 346 */\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\n\t // eslint-disable-next-line no-new-func\n\t : Function('return this')();\n\tif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ },\n/* 347 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// optional / simple context binding\n\tvar aFunction = __webpack_require__(348);\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/***/ },\n/* 348 */\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/***/ },\n/* 349 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar dP = __webpack_require__(350);\n\tvar createDesc = __webpack_require__(358);\n\tmodule.exports = __webpack_require__(354) ? function (object, key, value) {\n\t return dP.f(object, key, createDesc(1, value));\n\t} : function (object, key, value) {\n\t object[key] = value;\n\t return object;\n\t};\n\n\n/***/ },\n/* 350 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar anObject = __webpack_require__(351);\n\tvar IE8_DOM_DEFINE = __webpack_require__(353);\n\tvar toPrimitive = __webpack_require__(357);\n\tvar dP = Object.defineProperty;\n\t\n\texports.f = __webpack_require__(354) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n\t anObject(O);\n\t P = toPrimitive(P, true);\n\t anObject(Attributes);\n\t if (IE8_DOM_DEFINE) try {\n\t return dP(O, P, Attributes);\n\t } catch (e) { /* empty */ }\n\t if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n\t if ('value' in Attributes) O[P] = Attributes.value;\n\t return O;\n\t};\n\n\n/***/ },\n/* 351 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(352);\n\tmodule.exports = function (it) {\n\t if (!isObject(it)) throw TypeError(it + ' is not an object!');\n\t return it;\n\t};\n\n\n/***/ },\n/* 352 */\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/***/ },\n/* 353 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = !__webpack_require__(354) && !__webpack_require__(355)(function () {\n\t return Object.defineProperty(__webpack_require__(356)('div'), 'a', { get: function () { return 7; } }).a != 7;\n\t});\n\n\n/***/ },\n/* 354 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// Thank's IE8 for his funny defineProperty\n\tmodule.exports = !__webpack_require__(355)(function () {\n\t return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n\t});\n\n\n/***/ },\n/* 355 */\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/***/ },\n/* 356 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(352);\n\tvar document = __webpack_require__(346).document;\n\t// typeof document.createElement is 'object' in old IE\n\tvar is = isObject(document) && isObject(document.createElement);\n\tmodule.exports = function (it) {\n\t return is ? document.createElement(it) : {};\n\t};\n\n\n/***/ },\n/* 357 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 7.1.1 ToPrimitive(input [, PreferredType])\n\tvar isObject = __webpack_require__(352);\n\t// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n\t// and the second argument - flag - preferred type is a string\n\tmodule.exports = function (it, S) {\n\t if (!isObject(it)) return it;\n\t var fn, val;\n\t if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n\t if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n\t if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n\t throw TypeError(\"Can't convert object to primitive value\");\n\t};\n\n\n/***/ },\n/* 358 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function (bitmap, value) {\n\t return {\n\t enumerable: !(bitmap & 1),\n\t configurable: !(bitmap & 2),\n\t writable: !(bitmap & 4),\n\t value: value\n\t };\n\t};\n\n\n/***/ },\n/* 359 */\n/***/ function(module, exports) {\n\n\tvar hasOwnProperty = {}.hasOwnProperty;\n\tmodule.exports = function (it, key) {\n\t return hasOwnProperty.call(it, key);\n\t};\n\n\n/***/ },\n/* 360 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = __webpack_require__(349);\n\n\n/***/ },\n/* 361 */\n/***/ function(module, exports) {\n\n\tmodule.exports = {};\n\n\n/***/ },\n/* 362 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar create = __webpack_require__(363);\n\tvar descriptor = __webpack_require__(358);\n\tvar setToStringTag = __webpack_require__(378);\n\tvar IteratorPrototype = {};\n\t\n\t// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n\t__webpack_require__(349)(IteratorPrototype, __webpack_require__(379)('iterator'), function () { return this; });\n\t\n\tmodule.exports = function (Constructor, NAME, next) {\n\t Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n\t setToStringTag(Constructor, NAME + ' Iterator');\n\t};\n\n\n/***/ },\n/* 363 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n\tvar anObject = __webpack_require__(351);\n\tvar dPs = __webpack_require__(364);\n\tvar enumBugKeys = __webpack_require__(376);\n\tvar IE_PROTO = __webpack_require__(373)('IE_PROTO');\n\tvar Empty = function () { /* empty */ };\n\tvar PROTOTYPE = 'prototype';\n\t\n\t// Create object with fake `null` prototype: use iframe Object with cleared prototype\n\tvar createDict = function () {\n\t // Thrash, waste and sodomy: IE GC bug\n\t var iframe = __webpack_require__(356)('iframe');\n\t var i = enumBugKeys.length;\n\t var lt = '<';\n\t var gt = '>';\n\t var iframeDocument;\n\t iframe.style.display = 'none';\n\t __webpack_require__(377).appendChild(iframe);\n\t iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n\t // createDict = iframe.contentWindow.Object;\n\t // html.removeChild(iframe);\n\t iframeDocument = iframe.contentWindow.document;\n\t iframeDocument.open();\n\t iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n\t iframeDocument.close();\n\t createDict = iframeDocument.F;\n\t while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n\t return createDict();\n\t};\n\t\n\tmodule.exports = Object.create || function create(O, Properties) {\n\t var result;\n\t if (O !== null) {\n\t Empty[PROTOTYPE] = anObject(O);\n\t result = new Empty();\n\t Empty[PROTOTYPE] = null;\n\t // add \"__proto__\" for Object.getPrototypeOf polyfill\n\t result[IE_PROTO] = O;\n\t } else result = createDict();\n\t return Properties === undefined ? result : dPs(result, Properties);\n\t};\n\n\n/***/ },\n/* 364 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar dP = __webpack_require__(350);\n\tvar anObject = __webpack_require__(351);\n\tvar getKeys = __webpack_require__(365);\n\t\n\tmodule.exports = __webpack_require__(354) ? Object.defineProperties : function defineProperties(O, Properties) {\n\t anObject(O);\n\t var keys = getKeys(Properties);\n\t var length = keys.length;\n\t var i = 0;\n\t var P;\n\t while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n\t return O;\n\t};\n\n\n/***/ },\n/* 365 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.14 / 15.2.3.14 Object.keys(O)\n\tvar $keys = __webpack_require__(366);\n\tvar enumBugKeys = __webpack_require__(376);\n\t\n\tmodule.exports = Object.keys || function keys(O) {\n\t return $keys(O, enumBugKeys);\n\t};\n\n\n/***/ },\n/* 366 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar has = __webpack_require__(359);\n\tvar toIObject = __webpack_require__(367);\n\tvar arrayIndexOf = __webpack_require__(370)(false);\n\tvar IE_PROTO = __webpack_require__(373)('IE_PROTO');\n\t\n\tmodule.exports = function (object, names) {\n\t var O = toIObject(object);\n\t var i = 0;\n\t var result = [];\n\t var key;\n\t for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n\t // Don't enum bug & hidden keys\n\t while (names.length > i) if (has(O, key = names[i++])) {\n\t ~arrayIndexOf(result, key) || result.push(key);\n\t }\n\t return result;\n\t};\n\n\n/***/ },\n/* 367 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// to indexed object, toObject with fallback for non-array-like ES3 strings\n\tvar IObject = __webpack_require__(368);\n\tvar defined = __webpack_require__(342);\n\tmodule.exports = function (it) {\n\t return IObject(defined(it));\n\t};\n\n\n/***/ },\n/* 368 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// fallback for non-array-like ES3 and non-enumerable old V8 strings\n\tvar cof = __webpack_require__(369);\n\t// eslint-disable-next-line no-prototype-builtins\n\tmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n\t return cof(it) == 'String' ? it.split('') : Object(it);\n\t};\n\n\n/***/ },\n/* 369 */\n/***/ function(module, exports) {\n\n\tvar toString = {}.toString;\n\t\n\tmodule.exports = function (it) {\n\t return toString.call(it).slice(8, -1);\n\t};\n\n\n/***/ },\n/* 370 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// false -> Array#indexOf\n\t// true -> Array#includes\n\tvar toIObject = __webpack_require__(367);\n\tvar toLength = __webpack_require__(371);\n\tvar toAbsoluteIndex = __webpack_require__(372);\n\tmodule.exports = function (IS_INCLUDES) {\n\t return function ($this, el, fromIndex) {\n\t var O = toIObject($this);\n\t var length = toLength(O.length);\n\t var index = toAbsoluteIndex(fromIndex, length);\n\t var value;\n\t // Array#includes uses SameValueZero equality algorithm\n\t // eslint-disable-next-line no-self-compare\n\t if (IS_INCLUDES && el != el) while (length > index) {\n\t value = O[index++];\n\t // eslint-disable-next-line no-self-compare\n\t if (value != value) return true;\n\t // Array#indexOf ignores holes, Array#includes - not\n\t } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n\t if (O[index] === el) return IS_INCLUDES || index || 0;\n\t } return !IS_INCLUDES && -1;\n\t };\n\t};\n\n\n/***/ },\n/* 371 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 7.1.15 ToLength\n\tvar toInteger = __webpack_require__(341);\n\tvar min = Math.min;\n\tmodule.exports = function (it) {\n\t return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n\t};\n\n\n/***/ },\n/* 372 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar toInteger = __webpack_require__(341);\n\tvar max = Math.max;\n\tvar min = Math.min;\n\tmodule.exports = function (index, length) {\n\t index = toInteger(index);\n\t return index < 0 ? max(index + length, 0) : min(index, length);\n\t};\n\n\n/***/ },\n/* 373 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar shared = __webpack_require__(374)('keys');\n\tvar uid = __webpack_require__(375);\n\tmodule.exports = function (key) {\n\t return shared[key] || (shared[key] = uid(key));\n\t};\n\n\n/***/ },\n/* 374 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar core = __webpack_require__(335);\n\tvar global = __webpack_require__(346);\n\tvar SHARED = '__core-js_shared__';\n\tvar store = global[SHARED] || (global[SHARED] = {});\n\t\n\t(module.exports = function (key, value) {\n\t return store[key] || (store[key] = value !== undefined ? value : {});\n\t})('versions', []).push({\n\t version: core.version,\n\t mode: __webpack_require__(344) ? 'pure' : 'global',\n\t copyright: '© 2018 Denis Pushkarev (zloirock.ru)'\n\t});\n\n\n/***/ },\n/* 375 */\n/***/ function(module, exports) {\n\n\tvar id = 0;\n\tvar px = Math.random();\n\tmodule.exports = function (key) {\n\t return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n\t};\n\n\n/***/ },\n/* 376 */\n/***/ function(module, exports) {\n\n\t// IE 8- don't enum bug keys\n\tmodule.exports = (\n\t 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n\t).split(',');\n\n\n/***/ },\n/* 377 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar document = __webpack_require__(346).document;\n\tmodule.exports = document && document.documentElement;\n\n\n/***/ },\n/* 378 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar def = __webpack_require__(350).f;\n\tvar has = __webpack_require__(359);\n\tvar TAG = __webpack_require__(379)('toStringTag');\n\t\n\tmodule.exports = function (it, tag, stat) {\n\t if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n\t};\n\n\n/***/ },\n/* 379 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar store = __webpack_require__(374)('wks');\n\tvar uid = __webpack_require__(375);\n\tvar Symbol = __webpack_require__(346).Symbol;\n\tvar USE_SYMBOL = typeof Symbol == 'function';\n\t\n\tvar $exports = module.exports = function (name) {\n\t return store[name] || (store[name] =\n\t USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n\t};\n\t\n\t$exports.store = store;\n\n\n/***/ },\n/* 380 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\n\tvar has = __webpack_require__(359);\n\tvar toObject = __webpack_require__(381);\n\tvar IE_PROTO = __webpack_require__(373)('IE_PROTO');\n\tvar ObjectProto = Object.prototype;\n\t\n\tmodule.exports = Object.getPrototypeOf || function (O) {\n\t O = toObject(O);\n\t if (has(O, IE_PROTO)) return O[IE_PROTO];\n\t if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n\t return O.constructor.prototype;\n\t } return O instanceof Object ? ObjectProto : null;\n\t};\n\n\n/***/ },\n/* 381 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 7.1.13 ToObject(argument)\n\tvar defined = __webpack_require__(342);\n\tmodule.exports = function (it) {\n\t return Object(defined(it));\n\t};\n\n\n/***/ },\n/* 382 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(383);\n\tvar global = __webpack_require__(346);\n\tvar hide = __webpack_require__(349);\n\tvar Iterators = __webpack_require__(361);\n\tvar TO_STRING_TAG = __webpack_require__(379)('toStringTag');\n\t\n\tvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n\t 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n\t 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n\t 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n\t 'TextTrackList,TouchList').split(',');\n\t\n\tfor (var i = 0; i < DOMIterables.length; i++) {\n\t var NAME = DOMIterables[i];\n\t var Collection = global[NAME];\n\t var proto = Collection && Collection.prototype;\n\t if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n\t Iterators[NAME] = Iterators.Array;\n\t}\n\n\n/***/ },\n/* 383 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar addToUnscopables = __webpack_require__(384);\n\tvar step = __webpack_require__(385);\n\tvar Iterators = __webpack_require__(361);\n\tvar toIObject = __webpack_require__(367);\n\t\n\t// 22.1.3.4 Array.prototype.entries()\n\t// 22.1.3.13 Array.prototype.keys()\n\t// 22.1.3.29 Array.prototype.values()\n\t// 22.1.3.30 Array.prototype[@@iterator]()\n\tmodule.exports = __webpack_require__(343)(Array, 'Array', function (iterated, kind) {\n\t this._t = toIObject(iterated); // target\n\t this._i = 0; // next index\n\t this._k = kind; // kind\n\t// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n\t}, function () {\n\t var O = this._t;\n\t var kind = this._k;\n\t var index = this._i++;\n\t if (!O || index >= O.length) {\n\t this._t = undefined;\n\t return step(1);\n\t }\n\t if (kind == 'keys') return step(0, index);\n\t if (kind == 'values') return step(0, O[index]);\n\t return step(0, [index, O[index]]);\n\t}, 'values');\n\t\n\t// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\n\tIterators.Arguments = Iterators.Array;\n\t\n\taddToUnscopables('keys');\n\taddToUnscopables('values');\n\taddToUnscopables('entries');\n\n\n/***/ },\n/* 384 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function () { /* empty */ };\n\n\n/***/ },\n/* 385 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function (done, value) {\n\t return { value: value, done: !!done };\n\t};\n\n\n/***/ },\n/* 386 */\n/***/ function(module, exports, __webpack_require__) {\n\n\texports.f = __webpack_require__(379);\n\n\n/***/ },\n/* 387 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(388), __esModule: true };\n\n/***/ },\n/* 388 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(389);\n\t__webpack_require__(399);\n\t__webpack_require__(400);\n\t__webpack_require__(401);\n\tmodule.exports = __webpack_require__(335).Symbol;\n\n\n/***/ },\n/* 389 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// ECMAScript 6 symbols shim\n\tvar global = __webpack_require__(346);\n\tvar has = __webpack_require__(359);\n\tvar DESCRIPTORS = __webpack_require__(354);\n\tvar $export = __webpack_require__(345);\n\tvar redefine = __webpack_require__(360);\n\tvar META = __webpack_require__(390).KEY;\n\tvar $fails = __webpack_require__(355);\n\tvar shared = __webpack_require__(374);\n\tvar setToStringTag = __webpack_require__(378);\n\tvar uid = __webpack_require__(375);\n\tvar wks = __webpack_require__(379);\n\tvar wksExt = __webpack_require__(386);\n\tvar wksDefine = __webpack_require__(391);\n\tvar enumKeys = __webpack_require__(392);\n\tvar isArray = __webpack_require__(395);\n\tvar anObject = __webpack_require__(351);\n\tvar isObject = __webpack_require__(352);\n\tvar toIObject = __webpack_require__(367);\n\tvar toPrimitive = __webpack_require__(357);\n\tvar createDesc = __webpack_require__(358);\n\tvar _create = __webpack_require__(363);\n\tvar gOPNExt = __webpack_require__(396);\n\tvar $GOPD = __webpack_require__(398);\n\tvar $DP = __webpack_require__(350);\n\tvar $keys = __webpack_require__(365);\n\tvar gOPD = $GOPD.f;\n\tvar dP = $DP.f;\n\tvar gOPN = gOPNExt.f;\n\tvar $Symbol = global.Symbol;\n\tvar $JSON = global.JSON;\n\tvar _stringify = $JSON && $JSON.stringify;\n\tvar PROTOTYPE = 'prototype';\n\tvar HIDDEN = wks('_hidden');\n\tvar TO_PRIMITIVE = wks('toPrimitive');\n\tvar isEnum = {}.propertyIsEnumerable;\n\tvar SymbolRegistry = shared('symbol-registry');\n\tvar AllSymbols = shared('symbols');\n\tvar OPSymbols = shared('op-symbols');\n\tvar ObjectProto = Object[PROTOTYPE];\n\tvar USE_NATIVE = typeof $Symbol == 'function';\n\tvar QObject = global.QObject;\n\t// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\n\tvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\t\n\t// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\n\tvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n\t return _create(dP({}, 'a', {\n\t get: function () { return dP(this, 'a', { value: 7 }).a; }\n\t })).a != 7;\n\t}) ? function (it, key, D) {\n\t var protoDesc = gOPD(ObjectProto, key);\n\t if (protoDesc) delete ObjectProto[key];\n\t dP(it, key, D);\n\t if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n\t} : dP;\n\t\n\tvar wrap = function (tag) {\n\t var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n\t sym._k = tag;\n\t return sym;\n\t};\n\t\n\tvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n\t return typeof it == 'symbol';\n\t} : function (it) {\n\t return it instanceof $Symbol;\n\t};\n\t\n\tvar $defineProperty = function defineProperty(it, key, D) {\n\t if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n\t anObject(it);\n\t key = toPrimitive(key, true);\n\t anObject(D);\n\t if (has(AllSymbols, key)) {\n\t if (!D.enumerable) {\n\t if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n\t it[HIDDEN][key] = true;\n\t } else {\n\t if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n\t D = _create(D, { enumerable: createDesc(0, false) });\n\t } return setSymbolDesc(it, key, D);\n\t } return dP(it, key, D);\n\t};\n\tvar $defineProperties = function defineProperties(it, P) {\n\t anObject(it);\n\t var keys = enumKeys(P = toIObject(P));\n\t var i = 0;\n\t var l = keys.length;\n\t var key;\n\t while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n\t return it;\n\t};\n\tvar $create = function create(it, P) {\n\t return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n\t};\n\tvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n\t var E = isEnum.call(this, key = toPrimitive(key, true));\n\t if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n\t return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n\t};\n\tvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n\t it = toIObject(it);\n\t key = toPrimitive(key, true);\n\t if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n\t var D = gOPD(it, key);\n\t if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n\t return D;\n\t};\n\tvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n\t var names = gOPN(toIObject(it));\n\t var result = [];\n\t var i = 0;\n\t var key;\n\t while (names.length > i) {\n\t if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n\t } return result;\n\t};\n\tvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n\t var IS_OP = it === ObjectProto;\n\t var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n\t var result = [];\n\t var i = 0;\n\t var key;\n\t while (names.length > i) {\n\t if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n\t } return result;\n\t};\n\t\n\t// 19.4.1.1 Symbol([description])\n\tif (!USE_NATIVE) {\n\t $Symbol = function Symbol() {\n\t if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n\t var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n\t var $set = function (value) {\n\t if (this === ObjectProto) $set.call(OPSymbols, value);\n\t if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n\t setSymbolDesc(this, tag, createDesc(1, value));\n\t };\n\t if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n\t return wrap(tag);\n\t };\n\t redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n\t return this._k;\n\t });\n\t\n\t $GOPD.f = $getOwnPropertyDescriptor;\n\t $DP.f = $defineProperty;\n\t __webpack_require__(397).f = gOPNExt.f = $getOwnPropertyNames;\n\t __webpack_require__(394).f = $propertyIsEnumerable;\n\t __webpack_require__(393).f = $getOwnPropertySymbols;\n\t\n\t if (DESCRIPTORS && !__webpack_require__(344)) {\n\t redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n\t }\n\t\n\t wksExt.f = function (name) {\n\t return wrap(wks(name));\n\t };\n\t}\n\t\n\t$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\t\n\tfor (var es6Symbols = (\n\t // 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\t 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n\t).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\t\n\tfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\t\n\t$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n\t // 19.4.2.1 Symbol.for(key)\n\t 'for': function (key) {\n\t return has(SymbolRegistry, key += '')\n\t ? SymbolRegistry[key]\n\t : SymbolRegistry[key] = $Symbol(key);\n\t },\n\t // 19.4.2.5 Symbol.keyFor(sym)\n\t keyFor: function keyFor(sym) {\n\t if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n\t for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n\t },\n\t useSetter: function () { setter = true; },\n\t useSimple: function () { setter = false; }\n\t});\n\t\n\t$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n\t // 19.1.2.2 Object.create(O [, Properties])\n\t create: $create,\n\t // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n\t defineProperty: $defineProperty,\n\t // 19.1.2.3 Object.defineProperties(O, Properties)\n\t defineProperties: $defineProperties,\n\t // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n\t getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n\t // 19.1.2.7 Object.getOwnPropertyNames(O)\n\t getOwnPropertyNames: $getOwnPropertyNames,\n\t // 19.1.2.8 Object.getOwnPropertySymbols(O)\n\t getOwnPropertySymbols: $getOwnPropertySymbols\n\t});\n\t\n\t// 24.3.2 JSON.stringify(value [, replacer [, space]])\n\t$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n\t var S = $Symbol();\n\t // MS Edge converts symbol values to JSON as {}\n\t // WebKit converts symbol values to JSON as null\n\t // V8 throws on boxed symbols\n\t return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n\t})), 'JSON', {\n\t stringify: function stringify(it) {\n\t var args = [it];\n\t var i = 1;\n\t var replacer, $replacer;\n\t while (arguments.length > i) args.push(arguments[i++]);\n\t $replacer = replacer = args[1];\n\t if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n\t if (!isArray(replacer)) replacer = function (key, value) {\n\t if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n\t if (!isSymbol(value)) return value;\n\t };\n\t args[1] = replacer;\n\t return _stringify.apply($JSON, args);\n\t }\n\t});\n\t\n\t// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n\t$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(349)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n\t// 19.4.3.5 Symbol.prototype[@@toStringTag]\n\tsetToStringTag($Symbol, 'Symbol');\n\t// 20.2.1.9 Math[@@toStringTag]\n\tsetToStringTag(Math, 'Math', true);\n\t// 24.3.3 JSON[@@toStringTag]\n\tsetToStringTag(global.JSON, 'JSON', true);\n\n\n/***/ },\n/* 390 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar META = __webpack_require__(375)('meta');\n\tvar isObject = __webpack_require__(352);\n\tvar has = __webpack_require__(359);\n\tvar setDesc = __webpack_require__(350).f;\n\tvar id = 0;\n\tvar isExtensible = Object.isExtensible || function () {\n\t return true;\n\t};\n\tvar FREEZE = !__webpack_require__(355)(function () {\n\t return isExtensible(Object.preventExtensions({}));\n\t});\n\tvar setMeta = function (it) {\n\t setDesc(it, META, { value: {\n\t i: 'O' + ++id, // object ID\n\t w: {} // weak collections IDs\n\t } });\n\t};\n\tvar fastKey = function (it, create) {\n\t // return primitive with prefix\n\t if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n\t if (!has(it, META)) {\n\t // can't set metadata to uncaught frozen object\n\t if (!isExtensible(it)) return 'F';\n\t // not necessary to add metadata\n\t if (!create) return 'E';\n\t // add missing metadata\n\t setMeta(it);\n\t // return object ID\n\t } return it[META].i;\n\t};\n\tvar getWeak = function (it, create) {\n\t if (!has(it, META)) {\n\t // can't set metadata to uncaught frozen object\n\t if (!isExtensible(it)) return true;\n\t // not necessary to add metadata\n\t if (!create) return false;\n\t // add missing metadata\n\t setMeta(it);\n\t // return hash weak collections IDs\n\t } return it[META].w;\n\t};\n\t// add metadata on freeze-family methods calling\n\tvar onFreeze = function (it) {\n\t if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n\t return it;\n\t};\n\tvar meta = module.exports = {\n\t KEY: META,\n\t NEED: false,\n\t fastKey: fastKey,\n\t getWeak: getWeak,\n\t onFreeze: onFreeze\n\t};\n\n\n/***/ },\n/* 391 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar global = __webpack_require__(346);\n\tvar core = __webpack_require__(335);\n\tvar LIBRARY = __webpack_require__(344);\n\tvar wksExt = __webpack_require__(386);\n\tvar defineProperty = __webpack_require__(350).f;\n\tmodule.exports = function (name) {\n\t var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n\t if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n\t};\n\n\n/***/ },\n/* 392 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// all enumerable object keys, includes symbols\n\tvar getKeys = __webpack_require__(365);\n\tvar gOPS = __webpack_require__(393);\n\tvar pIE = __webpack_require__(394);\n\tmodule.exports = function (it) {\n\t var result = getKeys(it);\n\t var getSymbols = gOPS.f;\n\t if (getSymbols) {\n\t var symbols = getSymbols(it);\n\t var isEnum = pIE.f;\n\t var i = 0;\n\t var key;\n\t while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n\t } return result;\n\t};\n\n\n/***/ },\n/* 393 */\n/***/ function(module, exports) {\n\n\texports.f = Object.getOwnPropertySymbols;\n\n\n/***/ },\n/* 394 */\n/***/ function(module, exports) {\n\n\texports.f = {}.propertyIsEnumerable;\n\n\n/***/ },\n/* 395 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 7.2.2 IsArray(argument)\n\tvar cof = __webpack_require__(369);\n\tmodule.exports = Array.isArray || function isArray(arg) {\n\t return cof(arg) == 'Array';\n\t};\n\n\n/***/ },\n/* 396 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\n\tvar toIObject = __webpack_require__(367);\n\tvar gOPN = __webpack_require__(397).f;\n\tvar toString = {}.toString;\n\t\n\tvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n\t ? Object.getOwnPropertyNames(window) : [];\n\t\n\tvar getWindowNames = function (it) {\n\t try {\n\t return gOPN(it);\n\t } catch (e) {\n\t return windowNames.slice();\n\t }\n\t};\n\t\n\tmodule.exports.f = function getOwnPropertyNames(it) {\n\t return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n\t};\n\n\n/***/ },\n/* 397 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\n\tvar $keys = __webpack_require__(366);\n\tvar hiddenKeys = __webpack_require__(376).concat('length', 'prototype');\n\t\n\texports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n\t return $keys(O, hiddenKeys);\n\t};\n\n\n/***/ },\n/* 398 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar pIE = __webpack_require__(394);\n\tvar createDesc = __webpack_require__(358);\n\tvar toIObject = __webpack_require__(367);\n\tvar toPrimitive = __webpack_require__(357);\n\tvar has = __webpack_require__(359);\n\tvar IE8_DOM_DEFINE = __webpack_require__(353);\n\tvar gOPD = Object.getOwnPropertyDescriptor;\n\t\n\texports.f = __webpack_require__(354) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n\t O = toIObject(O);\n\t P = toPrimitive(P, true);\n\t if (IE8_DOM_DEFINE) try {\n\t return gOPD(O, P);\n\t } catch (e) { /* empty */ }\n\t if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n\t};\n\n\n/***/ },\n/* 399 */\n/***/ function(module, exports) {\n\n\n\n/***/ },\n/* 400 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(391)('asyncIterator');\n\n\n/***/ },\n/* 401 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(391)('observable');\n\n\n/***/ },\n/* 402 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**!\n\t\n\t @license\n\t handlebars v4.0.11\n\t\n\tCopyright (C) 2011-2017 by Yehuda Katz\n\t\n\tPermission is hereby granted, free of charge, to any person obtaining a copy\n\tof this software and associated documentation files (the \"Software\"), to deal\n\tin the Software without restriction, including without limitation the rights\n\tto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n\tcopies of the Software, and to permit persons to whom the Software is\n\tfurnished to do so, subject to the following conditions:\n\t\n\tThe above copyright notice and this permission notice shall be included in\n\tall copies or substantial portions of the Software.\n\t\n\tTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n\tIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n\tFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n\tAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n\tLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n\tOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n\tTHE SOFTWARE.\n\t\n\t*/\n\t(function webpackUniversalModuleDefinition(root, factory) {\n\t\tif(true)\n\t\t\tmodule.exports = factory();\n\t\telse if(typeof define === 'function' && define.amd)\n\t\t\tdefine([], factory);\n\t\telse if(typeof exports === 'object')\n\t\t\texports[\"Handlebars\"] = factory();\n\t\telse\n\t\t\troot[\"Handlebars\"] = factory();\n\t})(this, function() {\n\treturn /******/ (function(modules) { // webpackBootstrap\n\t/******/ \t// The module cache\n\t/******/ \tvar installedModules = {};\n\t\n\t/******/ \t// The require function\n\t/******/ \tfunction __webpack_require__(moduleId) {\n\t\n\t/******/ \t\t// Check if module is in cache\n\t/******/ \t\tif(installedModules[moduleId])\n\t/******/ \t\t\treturn installedModules[moduleId].exports;\n\t\n\t/******/ \t\t// Create a new module (and put it into the cache)\n\t/******/ \t\tvar module = installedModules[moduleId] = {\n\t/******/ \t\t\texports: {},\n\t/******/ \t\t\tid: moduleId,\n\t/******/ \t\t\tloaded: false\n\t/******/ \t\t};\n\t\n\t/******/ \t\t// Execute the module function\n\t/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\t\n\t/******/ \t\t// Flag the module as loaded\n\t/******/ \t\tmodule.loaded = true;\n\t\n\t/******/ \t\t// Return the exports of the module\n\t/******/ \t\treturn module.exports;\n\t/******/ \t}\n\t\n\t\n\t/******/ \t// expose the modules object (__webpack_modules__)\n\t/******/ \t__webpack_require__.m = modules;\n\t\n\t/******/ \t// expose the module cache\n\t/******/ \t__webpack_require__.c = installedModules;\n\t\n\t/******/ \t// __webpack_public_path__\n\t/******/ \t__webpack_require__.p = \"\";\n\t\n\t/******/ \t// Load entry module and return exports\n\t/******/ \treturn __webpack_require__(0);\n\t/******/ })\n\t/************************************************************************/\n\t/******/ ([\n\t/* 0 */\n\t/***/ (function(module, exports, __webpack_require__) {\n\t\n\t\t'use strict';\n\t\n\t\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\t\n\t\texports.__esModule = true;\n\t\n\t\tvar _handlebarsRuntime = __webpack_require__(2);\n\t\n\t\tvar _handlebarsRuntime2 = _interopRequireDefault(_handlebarsRuntime);\n\t\n\t\t// Compiler imports\n\t\n\t\tvar _handlebarsCompilerAst = __webpack_require__(35);\n\t\n\t\tvar _handlebarsCompilerAst2 = _interopRequireDefault(_handlebarsCompilerAst);\n\t\n\t\tvar _handlebarsCompilerBase = __webpack_require__(36);\n\t\n\t\tvar _handlebarsCompilerCompiler = __webpack_require__(41);\n\t\n\t\tvar _handlebarsCompilerJavascriptCompiler = __webpack_require__(42);\n\t\n\t\tvar _handlebarsCompilerJavascriptCompiler2 = _interopRequireDefault(_handlebarsCompilerJavascriptCompiler);\n\t\n\t\tvar _handlebarsCompilerVisitor = __webpack_require__(39);\n\t\n\t\tvar _handlebarsCompilerVisitor2 = _interopRequireDefault(_handlebarsCompilerVisitor);\n\t\n\t\tvar _handlebarsNoConflict = __webpack_require__(34);\n\t\n\t\tvar _handlebarsNoConflict2 = _interopRequireDefault(_handlebarsNoConflict);\n\t\n\t\tvar _create = _handlebarsRuntime2['default'].create;\n\t\tfunction create() {\n\t\t var hb = _create();\n\t\n\t\t hb.compile = function (input, options) {\n\t\t return _handlebarsCompilerCompiler.compile(input, options, hb);\n\t\t };\n\t\t hb.precompile = function (input, options) {\n\t\t return _handlebarsCompilerCompiler.precompile(input, options, hb);\n\t\t };\n\t\n\t\t hb.AST = _handlebarsCompilerAst2['default'];\n\t\t hb.Compiler = _handlebarsCompilerCompiler.Compiler;\n\t\t hb.JavaScriptCompiler = _handlebarsCompilerJavascriptCompiler2['default'];\n\t\t hb.Parser = _handlebarsCompilerBase.parser;\n\t\t hb.parse = _handlebarsCompilerBase.parse;\n\t\n\t\t return hb;\n\t\t}\n\t\n\t\tvar inst = create();\n\t\tinst.create = create;\n\t\n\t\t_handlebarsNoConflict2['default'](inst);\n\t\n\t\tinst.Visitor = _handlebarsCompilerVisitor2['default'];\n\t\n\t\tinst['default'] = inst;\n\t\n\t\texports['default'] = inst;\n\t\tmodule.exports = exports['default'];\n\t\n\t/***/ }),\n\t/* 1 */\n\t/***/ (function(module, exports) {\n\t\n\t\t\"use strict\";\n\t\n\t\texports[\"default\"] = function (obj) {\n\t\t return obj && obj.__esModule ? obj : {\n\t\t \"default\": obj\n\t\t };\n\t\t};\n\t\n\t\texports.__esModule = true;\n\t\n\t/***/ }),\n\t/* 2 */\n\t/***/ (function(module, exports, __webpack_require__) {\n\t\n\t\t'use strict';\n\t\n\t\tvar _interopRequireWildcard = __webpack_require__(3)['default'];\n\t\n\t\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\t\n\t\texports.__esModule = true;\n\t\n\t\tvar _handlebarsBase = __webpack_require__(4);\n\t\n\t\tvar base = _interopRequireWildcard(_handlebarsBase);\n\t\n\t\t// Each of these augment the Handlebars object. No need to setup here.\n\t\t// (This is done to easily share code between commonjs and browse envs)\n\t\n\t\tvar _handlebarsSafeString = __webpack_require__(21);\n\t\n\t\tvar _handlebarsSafeString2 = _interopRequireDefault(_handlebarsSafeString);\n\t\n\t\tvar _handlebarsException = __webpack_require__(6);\n\t\n\t\tvar _handlebarsException2 = _interopRequireDefault(_handlebarsException);\n\t\n\t\tvar _handlebarsUtils = __webpack_require__(5);\n\t\n\t\tvar Utils = _interopRequireWildcard(_handlebarsUtils);\n\t\n\t\tvar _handlebarsRuntime = __webpack_require__(22);\n\t\n\t\tvar runtime = _interopRequireWildcard(_handlebarsRuntime);\n\t\n\t\tvar _handlebarsNoConflict = __webpack_require__(34);\n\t\n\t\tvar _handlebarsNoConflict2 = _interopRequireDefault(_handlebarsNoConflict);\n\t\n\t\t// For compatibility and usage outside of module systems, make the Handlebars object a namespace\n\t\tfunction create() {\n\t\t var hb = new base.HandlebarsEnvironment();\n\t\n\t\t Utils.extend(hb, base);\n\t\t hb.SafeString = _handlebarsSafeString2['default'];\n\t\t hb.Exception = _handlebarsException2['default'];\n\t\t hb.Utils = Utils;\n\t\t hb.escapeExpression = Utils.escapeExpression;\n\t\n\t\t hb.VM = runtime;\n\t\t hb.template = function (spec) {\n\t\t return runtime.template(spec, hb);\n\t\t };\n\t\n\t\t return hb;\n\t\t}\n\t\n\t\tvar inst = create();\n\t\tinst.create = create;\n\t\n\t\t_handlebarsNoConflict2['default'](inst);\n\t\n\t\tinst['default'] = inst;\n\t\n\t\texports['default'] = inst;\n\t\tmodule.exports = exports['default'];\n\t\n\t/***/ }),\n\t/* 3 */\n\t/***/ (function(module, exports) {\n\t\n\t\t\"use strict\";\n\t\n\t\texports[\"default\"] = function (obj) {\n\t\t if (obj && obj.__esModule) {\n\t\t return obj;\n\t\t } else {\n\t\t var newObj = {};\n\t\n\t\t if (obj != null) {\n\t\t for (var key in obj) {\n\t\t if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];\n\t\t }\n\t\t }\n\t\n\t\t newObj[\"default\"] = obj;\n\t\t return newObj;\n\t\t }\n\t\t};\n\t\n\t\texports.__esModule = true;\n\t\n\t/***/ }),\n\t/* 4 */\n\t/***/ (function(module, exports, __webpack_require__) {\n\t\n\t\t'use strict';\n\t\n\t\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\t\n\t\texports.__esModule = true;\n\t\texports.HandlebarsEnvironment = HandlebarsEnvironment;\n\t\n\t\tvar _utils = __webpack_require__(5);\n\t\n\t\tvar _exception = __webpack_require__(6);\n\t\n\t\tvar _exception2 = _interopRequireDefault(_exception);\n\t\n\t\tvar _helpers = __webpack_require__(10);\n\t\n\t\tvar _decorators = __webpack_require__(18);\n\t\n\t\tvar _logger = __webpack_require__(20);\n\t\n\t\tvar _logger2 = _interopRequireDefault(_logger);\n\t\n\t\tvar VERSION = '4.0.11';\n\t\texports.VERSION = VERSION;\n\t\tvar COMPILER_REVISION = 7;\n\t\n\t\texports.COMPILER_REVISION = COMPILER_REVISION;\n\t\tvar REVISION_CHANGES = {\n\t\t 1: '<= 1.0.rc.2', // 1.0.rc.2 is actually rev2 but doesn't report it\n\t\t 2: '== 1.0.0-rc.3',\n\t\t 3: '== 1.0.0-rc.4',\n\t\t 4: '== 1.x.x',\n\t\t 5: '== 2.0.0-alpha.x',\n\t\t 6: '>= 2.0.0-beta.1',\n\t\t 7: '>= 4.0.0'\n\t\t};\n\t\n\t\texports.REVISION_CHANGES = REVISION_CHANGES;\n\t\tvar objectType = '[object Object]';\n\t\n\t\tfunction HandlebarsEnvironment(helpers, partials, decorators) {\n\t\t this.helpers = helpers || {};\n\t\t this.partials = partials || {};\n\t\t this.decorators = decorators || {};\n\t\n\t\t _helpers.registerDefaultHelpers(this);\n\t\t _decorators.registerDefaultDecorators(this);\n\t\t}\n\t\n\t\tHandlebarsEnvironment.prototype = {\n\t\t constructor: HandlebarsEnvironment,\n\t\n\t\t logger: _logger2['default'],\n\t\t log: _logger2['default'].log,\n\t\n\t\t registerHelper: function registerHelper(name, fn) {\n\t\t if (_utils.toString.call(name) === objectType) {\n\t\t if (fn) {\n\t\t throw new _exception2['default']('Arg not supported with multiple helpers');\n\t\t }\n\t\t _utils.extend(this.helpers, name);\n\t\t } else {\n\t\t this.helpers[name] = fn;\n\t\t }\n\t\t },\n\t\t unregisterHelper: function unregisterHelper(name) {\n\t\t delete this.helpers[name];\n\t\t },\n\t\n\t\t registerPartial: function registerPartial(name, partial) {\n\t\t if (_utils.toString.call(name) === objectType) {\n\t\t _utils.extend(this.partials, name);\n\t\t } else {\n\t\t if (typeof partial === 'undefined') {\n\t\t throw new _exception2['default']('Attempting to register a partial called \"' + name + '\" as undefined');\n\t\t }\n\t\t this.partials[name] = partial;\n\t\t }\n\t\t },\n\t\t unregisterPartial: function unregisterPartial(name) {\n\t\t delete this.partials[name];\n\t\t },\n\t\n\t\t registerDecorator: function registerDecorator(name, fn) {\n\t\t if (_utils.toString.call(name) === objectType) {\n\t\t if (fn) {\n\t\t throw new _exception2['default']('Arg not supported with multiple decorators');\n\t\t }\n\t\t _utils.extend(this.decorators, name);\n\t\t } else {\n\t\t this.decorators[name] = fn;\n\t\t }\n\t\t },\n\t\t unregisterDecorator: function unregisterDecorator(name) {\n\t\t delete this.decorators[name];\n\t\t }\n\t\t};\n\t\n\t\tvar log = _logger2['default'].log;\n\t\n\t\texports.log = log;\n\t\texports.createFrame = _utils.createFrame;\n\t\texports.logger = _logger2['default'];\n\t\n\t/***/ }),\n\t/* 5 */\n\t/***/ (function(module, exports) {\n\t\n\t\t'use strict';\n\t\n\t\texports.__esModule = true;\n\t\texports.extend = extend;\n\t\texports.indexOf = indexOf;\n\t\texports.escapeExpression = escapeExpression;\n\t\texports.isEmpty = isEmpty;\n\t\texports.createFrame = createFrame;\n\t\texports.blockParams = blockParams;\n\t\texports.appendContextPath = appendContextPath;\n\t\tvar escape = {\n\t\t '&': '&',\n\t\t '<': '<',\n\t\t '>': '>',\n\t\t '\"': '"',\n\t\t \"'\": ''',\n\t\t '`': '`',\n\t\t '=': '='\n\t\t};\n\t\n\t\tvar badChars = /[&<>\"'`=]/g,\n\t\t possible = /[&<>\"'`=]/;\n\t\n\t\tfunction escapeChar(chr) {\n\t\t return escape[chr];\n\t\t}\n\t\n\t\tfunction extend(obj /* , ...source */) {\n\t\t for (var i = 1; i < arguments.length; i++) {\n\t\t for (var key in arguments[i]) {\n\t\t if (Object.prototype.hasOwnProperty.call(arguments[i], key)) {\n\t\t obj[key] = arguments[i][key];\n\t\t }\n\t\t }\n\t\t }\n\t\n\t\t return obj;\n\t\t}\n\t\n\t\tvar toString = Object.prototype.toString;\n\t\n\t\texports.toString = toString;\n\t\t// Sourced from lodash\n\t\t// https://github.com/bestiejs/lodash/blob/master/LICENSE.txt\n\t\t/* eslint-disable func-style */\n\t\tvar isFunction = function isFunction(value) {\n\t\t return typeof value === 'function';\n\t\t};\n\t\t// fallback for older versions of Chrome and Safari\n\t\t/* istanbul ignore next */\n\t\tif (isFunction(/x/)) {\n\t\t exports.isFunction = isFunction = function (value) {\n\t\t return typeof value === 'function' && toString.call(value) === '[object Function]';\n\t\t };\n\t\t}\n\t\texports.isFunction = isFunction;\n\t\n\t\t/* eslint-enable func-style */\n\t\n\t\t/* istanbul ignore next */\n\t\tvar isArray = Array.isArray || function (value) {\n\t\t return value && typeof value === 'object' ? toString.call(value) === '[object Array]' : false;\n\t\t};\n\t\n\t\texports.isArray = isArray;\n\t\t// Older IE versions do not directly support indexOf so we must implement our own, sadly.\n\t\n\t\tfunction indexOf(array, value) {\n\t\t for (var i = 0, len = array.length; i < len; i++) {\n\t\t if (array[i] === value) {\n\t\t return i;\n\t\t }\n\t\t }\n\t\t return -1;\n\t\t}\n\t\n\t\tfunction escapeExpression(string) {\n\t\t if (typeof string !== 'string') {\n\t\t // don't escape SafeStrings, since they're already safe\n\t\t if (string && string.toHTML) {\n\t\t return string.toHTML();\n\t\t } else if (string == null) {\n\t\t return '';\n\t\t } else if (!string) {\n\t\t return string + '';\n\t\t }\n\t\n\t\t // Force a string conversion as this will be done by the append regardless and\n\t\t // the regex test will do this transparently behind the scenes, causing issues if\n\t\t // an object's to string has escaped characters in it.\n\t\t string = '' + string;\n\t\t }\n\t\n\t\t if (!possible.test(string)) {\n\t\t return string;\n\t\t }\n\t\t return string.replace(badChars, escapeChar);\n\t\t}\n\t\n\t\tfunction isEmpty(value) {\n\t\t if (!value && value !== 0) {\n\t\t return true;\n\t\t } else if (isArray(value) && value.length === 0) {\n\t\t return true;\n\t\t } else {\n\t\t return false;\n\t\t }\n\t\t}\n\t\n\t\tfunction createFrame(object) {\n\t\t var frame = extend({}, object);\n\t\t frame._parent = object;\n\t\t return frame;\n\t\t}\n\t\n\t\tfunction blockParams(params, ids) {\n\t\t params.path = ids;\n\t\t return params;\n\t\t}\n\t\n\t\tfunction appendContextPath(contextPath, id) {\n\t\t return (contextPath ? contextPath + '.' : '') + id;\n\t\t}\n\t\n\t/***/ }),\n\t/* 6 */\n\t/***/ (function(module, exports, __webpack_require__) {\n\t\n\t\t'use strict';\n\t\n\t\tvar _Object$defineProperty = __webpack_require__(7)['default'];\n\t\n\t\texports.__esModule = true;\n\t\n\t\tvar errorProps = ['description', 'fileName', 'lineNumber', 'message', 'name', 'number', 'stack'];\n\t\n\t\tfunction Exception(message, node) {\n\t\t var loc = node && node.loc,\n\t\t line = undefined,\n\t\t column = undefined;\n\t\t if (loc) {\n\t\t line = loc.start.line;\n\t\t column = loc.start.column;\n\t\n\t\t message += ' - ' + line + ':' + column;\n\t\t }\n\t\n\t\t var tmp = Error.prototype.constructor.call(this, message);\n\t\n\t\t // Unfortunately errors are not enumerable in Chrome (at least), so `for prop in tmp` doesn't work.\n\t\t for (var idx = 0; idx < errorProps.length; idx++) {\n\t\t this[errorProps[idx]] = tmp[errorProps[idx]];\n\t\t }\n\t\n\t\t /* istanbul ignore else */\n\t\t if (Error.captureStackTrace) {\n\t\t Error.captureStackTrace(this, Exception);\n\t\t }\n\t\n\t\t try {\n\t\t if (loc) {\n\t\t this.lineNumber = line;\n\t\n\t\t // Work around issue under safari where we can't directly set the column value\n\t\t /* istanbul ignore next */\n\t\t if (_Object$defineProperty) {\n\t\t Object.defineProperty(this, 'column', {\n\t\t value: column,\n\t\t enumerable: true\n\t\t });\n\t\t } else {\n\t\t this.column = column;\n\t\t }\n\t\t }\n\t\t } catch (nop) {\n\t\t /* Ignore if the browser is very particular */\n\t\t }\n\t\t}\n\t\n\t\tException.prototype = new Error();\n\t\n\t\texports['default'] = Exception;\n\t\tmodule.exports = exports['default'];\n\t\n\t/***/ }),\n\t/* 7 */\n\t/***/ (function(module, exports, __webpack_require__) {\n\t\n\t\tmodule.exports = { \"default\": __webpack_require__(8), __esModule: true };\n\t\n\t/***/ }),\n\t/* 8 */\n\t/***/ (function(module, exports, __webpack_require__) {\n\t\n\t\tvar $ = __webpack_require__(9);\n\t\tmodule.exports = function defineProperty(it, key, desc){\n\t\t return $.setDesc(it, key, desc);\n\t\t};\n\t\n\t/***/ }),\n\t/* 9 */\n\t/***/ (function(module, exports) {\n\t\n\t\tvar $Object = Object;\n\t\tmodule.exports = {\n\t\t create: $Object.create,\n\t\t getProto: $Object.getPrototypeOf,\n\t\t isEnum: {}.propertyIsEnumerable,\n\t\t getDesc: $Object.getOwnPropertyDescriptor,\n\t\t setDesc: $Object.defineProperty,\n\t\t setDescs: $Object.defineProperties,\n\t\t getKeys: $Object.keys,\n\t\t getNames: $Object.getOwnPropertyNames,\n\t\t getSymbols: $Object.getOwnPropertySymbols,\n\t\t each: [].forEach\n\t\t};\n\t\n\t/***/ }),\n\t/* 10 */\n\t/***/ (function(module, exports, __webpack_require__) {\n\t\n\t\t'use strict';\n\t\n\t\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\t\n\t\texports.__esModule = true;\n\t\texports.registerDefaultHelpers = registerDefaultHelpers;\n\t\n\t\tvar _helpersBlockHelperMissing = __webpack_require__(11);\n\t\n\t\tvar _helpersBlockHelperMissing2 = _interopRequireDefault(_helpersBlockHelperMissing);\n\t\n\t\tvar _helpersEach = __webpack_require__(12);\n\t\n\t\tvar _helpersEach2 = _interopRequireDefault(_helpersEach);\n\t\n\t\tvar _helpersHelperMissing = __webpack_require__(13);\n\t\n\t\tvar _helpersHelperMissing2 = _interopRequireDefault(_helpersHelperMissing);\n\t\n\t\tvar _helpersIf = __webpack_require__(14);\n\t\n\t\tvar _helpersIf2 = _interopRequireDefault(_helpersIf);\n\t\n\t\tvar _helpersLog = __webpack_require__(15);\n\t\n\t\tvar _helpersLog2 = _interopRequireDefault(_helpersLog);\n\t\n\t\tvar _helpersLookup = __webpack_require__(16);\n\t\n\t\tvar _helpersLookup2 = _interopRequireDefault(_helpersLookup);\n\t\n\t\tvar _helpersWith = __webpack_require__(17);\n\t\n\t\tvar _helpersWith2 = _interopRequireDefault(_helpersWith);\n\t\n\t\tfunction registerDefaultHelpers(instance) {\n\t\t _helpersBlockHelperMissing2['default'](instance);\n\t\t _helpersEach2['default'](instance);\n\t\t _helpersHelperMissing2['default'](instance);\n\t\t _helpersIf2['default'](instance);\n\t\t _helpersLog2['default'](instance);\n\t\t _helpersLookup2['default'](instance);\n\t\t _helpersWith2['default'](instance);\n\t\t}\n\t\n\t/***/ }),\n\t/* 11 */\n\t/***/ (function(module, exports, __webpack_require__) {\n\t\n\t\t'use strict';\n\t\n\t\texports.__esModule = true;\n\t\n\t\tvar _utils = __webpack_require__(5);\n\t\n\t\texports['default'] = function (instance) {\n\t\t instance.registerHelper('blockHelperMissing', function (context, options) {\n\t\t var inverse = options.inverse,\n\t\t fn = options.fn;\n\t\n\t\t if (context === true) {\n\t\t return fn(this);\n\t\t } else if (context === false || context == null) {\n\t\t return inverse(this);\n\t\t } else if (_utils.isArray(context)) {\n\t\t if (context.length > 0) {\n\t\t if (options.ids) {\n\t\t options.ids = [options.name];\n\t\t }\n\t\n\t\t return instance.helpers.each(context, options);\n\t\t } else {\n\t\t return inverse(this);\n\t\t }\n\t\t } else {\n\t\t if (options.data && options.ids) {\n\t\t var data = _utils.createFrame(options.data);\n\t\t data.contextPath = _utils.appendContextPath(options.data.contextPath, options.name);\n\t\t options = { data: data };\n\t\t }\n\t\n\t\t return fn(context, options);\n\t\t }\n\t\t });\n\t\t};\n\t\n\t\tmodule.exports = exports['default'];\n\t\n\t/***/ }),\n\t/* 12 */\n\t/***/ (function(module, exports, __webpack_require__) {\n\t\n\t\t'use strict';\n\t\n\t\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\t\n\t\texports.__esModule = true;\n\t\n\t\tvar _utils = __webpack_require__(5);\n\t\n\t\tvar _exception = __webpack_require__(6);\n\t\n\t\tvar _exception2 = _interopRequireDefault(_exception);\n\t\n\t\texports['default'] = function (instance) {\n\t\t instance.registerHelper('each', function (context, options) {\n\t\t if (!options) {\n\t\t throw new _exception2['default']('Must pass iterator to #each');\n\t\t }\n\t\n\t\t var fn = options.fn,\n\t\t inverse = options.inverse,\n\t\t i = 0,\n\t\t ret = '',\n\t\t data = undefined,\n\t\t contextPath = undefined;\n\t\n\t\t if (options.data && options.ids) {\n\t\t contextPath = _utils.appendContextPath(options.data.contextPath, options.ids[0]) + '.';\n\t\t }\n\t\n\t\t if (_utils.isFunction(context)) {\n\t\t context = context.call(this);\n\t\t }\n\t\n\t\t if (options.data) {\n\t\t data = _utils.createFrame(options.data);\n\t\t }\n\t\n\t\t function execIteration(field, index, last) {\n\t\t if (data) {\n\t\t data.key = field;\n\t\t data.index = index;\n\t\t data.first = index === 0;\n\t\t data.last = !!last;\n\t\n\t\t if (contextPath) {\n\t\t data.contextPath = contextPath + field;\n\t\t }\n\t\t }\n\t\n\t\t ret = ret + fn(context[field], {\n\t\t data: data,\n\t\t blockParams: _utils.blockParams([context[field], field], [contextPath + field, null])\n\t\t });\n\t\t }\n\t\n\t\t if (context && typeof context === 'object') {\n\t\t if (_utils.isArray(context)) {\n\t\t for (var j = context.length; i < j; i++) {\n\t\t if (i in context) {\n\t\t execIteration(i, i, i === context.length - 1);\n\t\t }\n\t\t }\n\t\t } else {\n\t\t var priorKey = undefined;\n\t\n\t\t for (var key in context) {\n\t\t if (context.hasOwnProperty(key)) {\n\t\t // We're running the iterations one step out of sync so we can detect\n\t\t // the last iteration without have to scan the object twice and create\n\t\t // an itermediate keys array.\n\t\t if (priorKey !== undefined) {\n\t\t execIteration(priorKey, i - 1);\n\t\t }\n\t\t priorKey = key;\n\t\t i++;\n\t\t }\n\t\t }\n\t\t if (priorKey !== undefined) {\n\t\t execIteration(priorKey, i - 1, true);\n\t\t }\n\t\t }\n\t\t }\n\t\n\t\t if (i === 0) {\n\t\t ret = inverse(this);\n\t\t }\n\t\n\t\t return ret;\n\t\t });\n\t\t};\n\t\n\t\tmodule.exports = exports['default'];\n\t\n\t/***/ }),\n\t/* 13 */\n\t/***/ (function(module, exports, __webpack_require__) {\n\t\n\t\t'use strict';\n\t\n\t\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\t\n\t\texports.__esModule = true;\n\t\n\t\tvar _exception = __webpack_require__(6);\n\t\n\t\tvar _exception2 = _interopRequireDefault(_exception);\n\t\n\t\texports['default'] = function (instance) {\n\t\t instance.registerHelper('helperMissing', function () /* [args, ]options */{\n\t\t if (arguments.length === 1) {\n\t\t // A missing field in a {{foo}} construct.\n\t\t return undefined;\n\t\t } else {\n\t\t // Someone is actually trying to call something, blow up.\n\t\t throw new _exception2['default']('Missing helper: \"' + arguments[arguments.length - 1].name + '\"');\n\t\t }\n\t\t });\n\t\t};\n\t\n\t\tmodule.exports = exports['default'];\n\t\n\t/***/ }),\n\t/* 14 */\n\t/***/ (function(module, exports, __webpack_require__) {\n\t\n\t\t'use strict';\n\t\n\t\texports.__esModule = true;\n\t\n\t\tvar _utils = __webpack_require__(5);\n\t\n\t\texports['default'] = function (instance) {\n\t\t instance.registerHelper('if', function (conditional, options) {\n\t\t if (_utils.isFunction(conditional)) {\n\t\t conditional = conditional.call(this);\n\t\t }\n\t\n\t\t // Default behavior is to render the positive path if the value is truthy and not empty.\n\t\t // The `includeZero` option may be set to treat the condtional as purely not empty based on the\n\t\t // behavior of isEmpty. Effectively this determines if 0 is handled by the positive path or negative.\n\t\t if (!options.hash.includeZero && !conditional || _utils.isEmpty(conditional)) {\n\t\t return options.inverse(this);\n\t\t } else {\n\t\t return options.fn(this);\n\t\t }\n\t\t });\n\t\n\t\t instance.registerHelper('unless', function (conditional, options) {\n\t\t return instance.helpers['if'].call(this, conditional, { fn: options.inverse, inverse: options.fn, hash: options.hash });\n\t\t });\n\t\t};\n\t\n\t\tmodule.exports = exports['default'];\n\t\n\t/***/ }),\n\t/* 15 */\n\t/***/ (function(module, exports) {\n\t\n\t\t'use strict';\n\t\n\t\texports.__esModule = true;\n\t\n\t\texports['default'] = function (instance) {\n\t\t instance.registerHelper('log', function () /* message, options */{\n\t\t var args = [undefined],\n\t\t options = arguments[arguments.length - 1];\n\t\t for (var i = 0; i < arguments.length - 1; i++) {\n\t\t args.push(arguments[i]);\n\t\t }\n\t\n\t\t var level = 1;\n\t\t if (options.hash.level != null) {\n\t\t level = options.hash.level;\n\t\t } else if (options.data && options.data.level != null) {\n\t\t level = options.data.level;\n\t\t }\n\t\t args[0] = level;\n\t\n\t\t instance.log.apply(instance, args);\n\t\t });\n\t\t};\n\t\n\t\tmodule.exports = exports['default'];\n\t\n\t/***/ }),\n\t/* 16 */\n\t/***/ (function(module, exports) {\n\t\n\t\t'use strict';\n\t\n\t\texports.__esModule = true;\n\t\n\t\texports['default'] = function (instance) {\n\t\t instance.registerHelper('lookup', function (obj, field) {\n\t\t return obj && obj[field];\n\t\t });\n\t\t};\n\t\n\t\tmodule.exports = exports['default'];\n\t\n\t/***/ }),\n\t/* 17 */\n\t/***/ (function(module, exports, __webpack_require__) {\n\t\n\t\t'use strict';\n\t\n\t\texports.__esModule = true;\n\t\n\t\tvar _utils = __webpack_require__(5);\n\t\n\t\texports['default'] = function (instance) {\n\t\t instance.registerHelper('with', function (context, options) {\n\t\t if (_utils.isFunction(context)) {\n\t\t context = context.call(this);\n\t\t }\n\t\n\t\t var fn = options.fn;\n\t\n\t\t if (!_utils.isEmpty(context)) {\n\t\t var data = options.data;\n\t\t if (options.data && options.ids) {\n\t\t data = _utils.createFrame(options.data);\n\t\t data.contextPath = _utils.appendContextPath(options.data.contextPath, options.ids[0]);\n\t\t }\n\t\n\t\t return fn(context, {\n\t\t data: data,\n\t\t blockParams: _utils.blockParams([context], [data && data.contextPath])\n\t\t });\n\t\t } else {\n\t\t return options.inverse(this);\n\t\t }\n\t\t });\n\t\t};\n\t\n\t\tmodule.exports = exports['default'];\n\t\n\t/***/ }),\n\t/* 18 */\n\t/***/ (function(module, exports, __webpack_require__) {\n\t\n\t\t'use strict';\n\t\n\t\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\t\n\t\texports.__esModule = true;\n\t\texports.registerDefaultDecorators = registerDefaultDecorators;\n\t\n\t\tvar _decoratorsInline = __webpack_require__(19);\n\t\n\t\tvar _decoratorsInline2 = _interopRequireDefault(_decoratorsInline);\n\t\n\t\tfunction registerDefaultDecorators(instance) {\n\t\t _decoratorsInline2['default'](instance);\n\t\t}\n\t\n\t/***/ }),\n\t/* 19 */\n\t/***/ (function(module, exports, __webpack_require__) {\n\t\n\t\t'use strict';\n\t\n\t\texports.__esModule = true;\n\t\n\t\tvar _utils = __webpack_require__(5);\n\t\n\t\texports['default'] = function (instance) {\n\t\t instance.registerDecorator('inline', function (fn, props, container, options) {\n\t\t var ret = fn;\n\t\t if (!props.partials) {\n\t\t props.partials = {};\n\t\t ret = function (context, options) {\n\t\t // Create a new partials stack frame prior to exec.\n\t\t var original = container.partials;\n\t\t container.partials = _utils.extend({}, original, props.partials);\n\t\t var ret = fn(context, options);\n\t\t container.partials = original;\n\t\t return ret;\n\t\t };\n\t\t }\n\t\n\t\t props.partials[options.args[0]] = options.fn;\n\t\n\t\t return ret;\n\t\t });\n\t\t};\n\t\n\t\tmodule.exports = exports['default'];\n\t\n\t/***/ }),\n\t/* 20 */\n\t/***/ (function(module, exports, __webpack_require__) {\n\t\n\t\t'use strict';\n\t\n\t\texports.__esModule = true;\n\t\n\t\tvar _utils = __webpack_require__(5);\n\t\n\t\tvar logger = {\n\t\t methodMap: ['debug', 'info', 'warn', 'error'],\n\t\t level: 'info',\n\t\n\t\t // Maps a given level value to the `methodMap` indexes above.\n\t\t lookupLevel: function lookupLevel(level) {\n\t\t if (typeof level === 'string') {\n\t\t var levelMap = _utils.indexOf(logger.methodMap, level.toLowerCase());\n\t\t if (levelMap >= 0) {\n\t\t level = levelMap;\n\t\t } else {\n\t\t level = parseInt(level, 10);\n\t\t }\n\t\t }\n\t\n\t\t return level;\n\t\t },\n\t\n\t\t // Can be overridden in the host environment\n\t\t log: function log(level) {\n\t\t level = logger.lookupLevel(level);\n\t\n\t\t if (typeof console !== 'undefined' && logger.lookupLevel(logger.level) <= level) {\n\t\t var method = logger.methodMap[level];\n\t\t if (!console[method]) {\n\t\t // eslint-disable-line no-console\n\t\t method = 'log';\n\t\t }\n\t\n\t\t for (var _len = arguments.length, message = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n\t\t message[_key - 1] = arguments[_key];\n\t\t }\n\t\n\t\t console[method].apply(console, message); // eslint-disable-line no-console\n\t\t }\n\t\t }\n\t\t};\n\t\n\t\texports['default'] = logger;\n\t\tmodule.exports = exports['default'];\n\t\n\t/***/ }),\n\t/* 21 */\n\t/***/ (function(module, exports) {\n\t\n\t\t// Build out our basic SafeString type\n\t\t'use strict';\n\t\n\t\texports.__esModule = true;\n\t\tfunction SafeString(string) {\n\t\t this.string = string;\n\t\t}\n\t\n\t\tSafeString.prototype.toString = SafeString.prototype.toHTML = function () {\n\t\t return '' + this.string;\n\t\t};\n\t\n\t\texports['default'] = SafeString;\n\t\tmodule.exports = exports['default'];\n\t\n\t/***/ }),\n\t/* 22 */\n\t/***/ (function(module, exports, __webpack_require__) {\n\t\n\t\t'use strict';\n\t\n\t\tvar _Object$seal = __webpack_require__(23)['default'];\n\t\n\t\tvar _interopRequireWildcard = __webpack_require__(3)['default'];\n\t\n\t\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\t\n\t\texports.__esModule = true;\n\t\texports.checkRevision = checkRevision;\n\t\texports.template = template;\n\t\texports.wrapProgram = wrapProgram;\n\t\texports.resolvePartial = resolvePartial;\n\t\texports.invokePartial = invokePartial;\n\t\texports.noop = noop;\n\t\n\t\tvar _utils = __webpack_require__(5);\n\t\n\t\tvar Utils = _interopRequireWildcard(_utils);\n\t\n\t\tvar _exception = __webpack_require__(6);\n\t\n\t\tvar _exception2 = _interopRequireDefault(_exception);\n\t\n\t\tvar _base = __webpack_require__(4);\n\t\n\t\tfunction checkRevision(compilerInfo) {\n\t\t var compilerRevision = compilerInfo && compilerInfo[0] || 1,\n\t\t currentRevision = _base.COMPILER_REVISION;\n\t\n\t\t if (compilerRevision !== currentRevision) {\n\t\t if (compilerRevision < currentRevision) {\n\t\t var runtimeVersions = _base.REVISION_CHANGES[currentRevision],\n\t\t compilerVersions = _base.REVISION_CHANGES[compilerRevision];\n\t\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\t } else {\n\t\t // Use the embedded version info since the runtime doesn't know about this revision yet\n\t\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\t }\n\t\t }\n\t\t}\n\t\n\t\tfunction template(templateSpec, env) {\n\t\t /* istanbul ignore next */\n\t\t if (!env) {\n\t\t throw new _exception2['default']('No environment passed to template');\n\t\t }\n\t\t if (!templateSpec || !templateSpec.main) {\n\t\t throw new _exception2['default']('Unknown template object: ' + typeof templateSpec);\n\t\t }\n\t\n\t\t templateSpec.main.decorator = templateSpec.main_d;\n\t\n\t\t // Note: Using env.VM references rather than local var references throughout this section to allow\n\t\t // for external users to override these as psuedo-supported APIs.\n\t\t env.VM.checkRevision(templateSpec.compiler);\n\t\n\t\t function invokePartialWrapper(partial, context, options) {\n\t\t if (options.hash) {\n\t\t context = Utils.extend({}, context, options.hash);\n\t\t if (options.ids) {\n\t\t options.ids[0] = true;\n\t\t }\n\t\t }\n\t\n\t\t partial = env.VM.resolvePartial.call(this, partial, context, options);\n\t\t var result = env.VM.invokePartial.call(this, partial, context, options);\n\t\n\t\t if (result == null && env.compile) {\n\t\t options.partials[options.name] = env.compile(partial, templateSpec.compilerOptions, env);\n\t\t result = options.partials[options.name](context, options);\n\t\t }\n\t\t if (result != null) {\n\t\t if (options.indent) {\n\t\t var lines = result.split('\\n');\n\t\t for (var i = 0, l = lines.length; i < l; i++) {\n\t\t if (!lines[i] && i + 1 === l) {\n\t\t break;\n\t\t }\n\t\n\t\t lines[i] = options.indent + lines[i];\n\t\t }\n\t\t result = lines.join('\\n');\n\t\t }\n\t\t return result;\n\t\t } else {\n\t\t throw new _exception2['default']('The partial ' + options.name + ' could not be compiled when running in runtime-only mode');\n\t\t }\n\t\t }\n\t\n\t\t // Just add water\n\t\t var container = {\n\t\t strict: function strict(obj, name) {\n\t\t if (!(name in obj)) {\n\t\t throw new _exception2['default']('\"' + name + '\" not defined in ' + obj);\n\t\t }\n\t\t return obj[name];\n\t\t },\n\t\t lookup: function lookup(depths, name) {\n\t\t var len = depths.length;\n\t\t for (var i = 0; i < len; i++) {\n\t\t if (depths[i] && depths[i][name] != null) {\n\t\t return depths[i][name];\n\t\t }\n\t\t }\n\t\t },\n\t\t lambda: function lambda(current, context) {\n\t\t return typeof current === 'function' ? current.call(context) : current;\n\t\t },\n\t\n\t\t escapeExpression: Utils.escapeExpression,\n\t\t invokePartial: invokePartialWrapper,\n\t\n\t\t fn: function fn(i) {\n\t\t var ret = templateSpec[i];\n\t\t ret.decorator = templateSpec[i + '_d'];\n\t\t return ret;\n\t\t },\n\t\n\t\t programs: [],\n\t\t program: function program(i, data, declaredBlockParams, blockParams, depths) {\n\t\t var programWrapper = this.programs[i],\n\t\t fn = this.fn(i);\n\t\t if (data || depths || blockParams || declaredBlockParams) {\n\t\t programWrapper = wrapProgram(this, i, fn, data, declaredBlockParams, blockParams, depths);\n\t\t } else if (!programWrapper) {\n\t\t programWrapper = this.programs[i] = wrapProgram(this, i, fn);\n\t\t }\n\t\t return programWrapper;\n\t\t },\n\t\n\t\t data: function data(value, depth) {\n\t\t while (value && depth--) {\n\t\t value = value._parent;\n\t\t }\n\t\t return value;\n\t\t },\n\t\t merge: function merge(param, common) {\n\t\t var obj = param || common;\n\t\n\t\t if (param && common && param !== common) {\n\t\t obj = Utils.extend({}, common, param);\n\t\t }\n\t\n\t\t return obj;\n\t\t },\n\t\t // An empty object to use as replacement for null-contexts\n\t\t nullContext: _Object$seal({}),\n\t\n\t\t noop: env.VM.noop,\n\t\t compilerInfo: templateSpec.compiler\n\t\t };\n\t\n\t\t function ret(context) {\n\t\t var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\t\n\t\t var data = options.data;\n\t\n\t\t ret._setup(options);\n\t\t if (!options.partial && templateSpec.useData) {\n\t\t data = initData(context, data);\n\t\t }\n\t\t var depths = undefined,\n\t\t blockParams = templateSpec.useBlockParams ? [] : undefined;\n\t\t if (templateSpec.useDepths) {\n\t\t if (options.depths) {\n\t\t depths = context != options.depths[0] ? [context].concat(options.depths) : options.depths;\n\t\t } else {\n\t\t depths = [context];\n\t\t }\n\t\t }\n\t\n\t\t function main(context /*, options*/) {\n\t\t return '' + templateSpec.main(container, context, container.helpers, container.partials, data, blockParams, depths);\n\t\t }\n\t\t main = executeDecorators(templateSpec.main, main, container, options.depths || [], data, blockParams);\n\t\t return main(context, options);\n\t\t }\n\t\t ret.isTop = true;\n\t\n\t\t ret._setup = function (options) {\n\t\t if (!options.partial) {\n\t\t container.helpers = container.merge(options.helpers, env.helpers);\n\t\n\t\t if (templateSpec.usePartial) {\n\t\t container.partials = container.merge(options.partials, env.partials);\n\t\t }\n\t\t if (templateSpec.usePartial || templateSpec.useDecorators) {\n\t\t container.decorators = container.merge(options.decorators, env.decorators);\n\t\t }\n\t\t } else {\n\t\t container.helpers = options.helpers;\n\t\t container.partials = options.partials;\n\t\t container.decorators = options.decorators;\n\t\t }\n\t\t };\n\t\n\t\t ret._child = function (i, data, blockParams, depths) {\n\t\t if (templateSpec.useBlockParams && !blockParams) {\n\t\t throw new _exception2['default']('must pass block params');\n\t\t }\n\t\t if (templateSpec.useDepths && !depths) {\n\t\t throw new _exception2['default']('must pass parent depths');\n\t\t }\n\t\n\t\t return wrapProgram(container, i, templateSpec[i], data, 0, blockParams, depths);\n\t\t };\n\t\t return ret;\n\t\t}\n\t\n\t\tfunction wrapProgram(container, i, fn, data, declaredBlockParams, blockParams, depths) {\n\t\t function prog(context) {\n\t\t var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\t\n\t\t var currentDepths = depths;\n\t\t if (depths && context != depths[0] && !(context === container.nullContext && depths[0] === null)) {\n\t\t currentDepths = [context].concat(depths);\n\t\t }\n\t\n\t\t return fn(container, context, container.helpers, container.partials, options.data || data, blockParams && [options.blockParams].concat(blockParams), currentDepths);\n\t\t }\n\t\n\t\t prog = executeDecorators(fn, prog, container, depths, data, blockParams);\n\t\n\t\t prog.program = i;\n\t\t prog.depth = depths ? depths.length : 0;\n\t\t prog.blockParams = declaredBlockParams || 0;\n\t\t return prog;\n\t\t}\n\t\n\t\tfunction resolvePartial(partial, context, options) {\n\t\t if (!partial) {\n\t\t if (options.name === '@partial-block') {\n\t\t partial = options.data['partial-block'];\n\t\t } else {\n\t\t partial = options.partials[options.name];\n\t\t }\n\t\t } else if (!partial.call && !options.name) {\n\t\t // This is a dynamic partial that returned a string\n\t\t options.name = partial;\n\t\t partial = options.partials[partial];\n\t\t }\n\t\t return partial;\n\t\t}\n\t\n\t\tfunction invokePartial(partial, context, options) {\n\t\t // Use the current closure context to save the partial-block if this partial\n\t\t var currentPartialBlock = options.data && options.data['partial-block'];\n\t\t options.partial = true;\n\t\t if (options.ids) {\n\t\t options.data.contextPath = options.ids[0] || options.data.contextPath;\n\t\t }\n\t\n\t\t var partialBlock = undefined;\n\t\t if (options.fn && options.fn !== noop) {\n\t\t (function () {\n\t\t options.data = _base.createFrame(options.data);\n\t\t // Wrapper function to get access to currentPartialBlock from the closure\n\t\t var fn = options.fn;\n\t\t partialBlock = options.data['partial-block'] = function partialBlockWrapper(context) {\n\t\t var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\t\n\t\t // Restore the partial-block from the closure for the execution of the block\n\t\t // i.e. the part inside the block of the partial call.\n\t\t options.data = _base.createFrame(options.data);\n\t\t options.data['partial-block'] = currentPartialBlock;\n\t\t return fn(context, options);\n\t\t };\n\t\t if (fn.partials) {\n\t\t options.partials = Utils.extend({}, options.partials, fn.partials);\n\t\t }\n\t\t })();\n\t\t }\n\t\n\t\t if (partial === undefined && partialBlock) {\n\t\t partial = partialBlock;\n\t\t }\n\t\n\t\t if (partial === undefined) {\n\t\t throw new _exception2['default']('The partial ' + options.name + ' could not be found');\n\t\t } else if (partial instanceof Function) {\n\t\t return partial(context, options);\n\t\t }\n\t\t}\n\t\n\t\tfunction noop() {\n\t\t return '';\n\t\t}\n\t\n\t\tfunction initData(context, data) {\n\t\t if (!data || !('root' in data)) {\n\t\t data = data ? _base.createFrame(data) : {};\n\t\t data.root = context;\n\t\t }\n\t\t return data;\n\t\t}\n\t\n\t\tfunction executeDecorators(fn, prog, container, depths, data, blockParams) {\n\t\t if (fn.decorator) {\n\t\t var props = {};\n\t\t prog = fn.decorator(prog, props, container, depths && depths[0], data, blockParams, depths);\n\t\t Utils.extend(prog, props);\n\t\t }\n\t\t return prog;\n\t\t}\n\t\n\t/***/ }),\n\t/* 23 */\n\t/***/ (function(module, exports, __webpack_require__) {\n\t\n\t\tmodule.exports = { \"default\": __webpack_require__(24), __esModule: true };\n\t\n\t/***/ }),\n\t/* 24 */\n\t/***/ (function(module, exports, __webpack_require__) {\n\t\n\t\t__webpack_require__(25);\n\t\tmodule.exports = __webpack_require__(30).Object.seal;\n\t\n\t/***/ }),\n\t/* 25 */\n\t/***/ (function(module, exports, __webpack_require__) {\n\t\n\t\t// 19.1.2.17 Object.seal(O)\n\t\tvar isObject = __webpack_require__(26);\n\t\n\t\t__webpack_require__(27)('seal', function($seal){\n\t\t return function seal(it){\n\t\t return $seal && isObject(it) ? $seal(it) : it;\n\t\t };\n\t\t});\n\t\n\t/***/ }),\n\t/* 26 */\n\t/***/ (function(module, exports) {\n\t\n\t\tmodule.exports = function(it){\n\t\t return typeof it === 'object' ? it !== null : typeof it === 'function';\n\t\t};\n\t\n\t/***/ }),\n\t/* 27 */\n\t/***/ (function(module, exports, __webpack_require__) {\n\t\n\t\t// most Object methods by ES6 should accept primitives\n\t\tvar $export = __webpack_require__(28)\n\t\t , core = __webpack_require__(30)\n\t\t , fails = __webpack_require__(33);\n\t\tmodule.exports = function(KEY, exec){\n\t\t var fn = (core.Object || {})[KEY] || Object[KEY]\n\t\t , exp = {};\n\t\t exp[KEY] = exec(fn);\n\t\t $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp);\n\t\t};\n\t\n\t/***/ }),\n\t/* 28 */\n\t/***/ (function(module, exports, __webpack_require__) {\n\t\n\t\tvar global = __webpack_require__(29)\n\t\t , core = __webpack_require__(30)\n\t\t , ctx = __webpack_require__(31)\n\t\t , PROTOTYPE = 'prototype';\n\t\n\t\tvar $export = function(type, name, source){\n\t\t var IS_FORCED = type & $export.F\n\t\t , IS_GLOBAL = type & $export.G\n\t\t , IS_STATIC = type & $export.S\n\t\t , IS_PROTO = type & $export.P\n\t\t , IS_BIND = type & $export.B\n\t\t , IS_WRAP = type & $export.W\n\t\t , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})\n\t\t , target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]\n\t\t , key, own, out;\n\t\t if(IS_GLOBAL)source = name;\n\t\t for(key in source){\n\t\t // contains in native\n\t\t own = !IS_FORCED && target && key in target;\n\t\t if(own && key in exports)continue;\n\t\t // export native or passed\n\t\t out = own ? target[key] : source[key];\n\t\t // prevent global pollution for namespaces\n\t\t exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n\t\t // bind timers to global for call from export context\n\t\t : IS_BIND && own ? ctx(out, global)\n\t\t // wrap global constructors for prevent change them in library\n\t\t : IS_WRAP && target[key] == out ? (function(C){\n\t\t var F = function(param){\n\t\t return this instanceof C ? new C(param) : C(param);\n\t\t };\n\t\t F[PROTOTYPE] = C[PROTOTYPE];\n\t\t return F;\n\t\t // make static versions for prototype methods\n\t\t })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n\t\t if(IS_PROTO)(exports[PROTOTYPE] || (exports[PROTOTYPE] = {}))[key] = out;\n\t\t }\n\t\t};\n\t\t// type bitmap\n\t\t$export.F = 1; // forced\n\t\t$export.G = 2; // global\n\t\t$export.S = 4; // static\n\t\t$export.P = 8; // proto\n\t\t$export.B = 16; // bind\n\t\t$export.W = 32; // wrap\n\t\tmodule.exports = $export;\n\t\n\t/***/ }),\n\t/* 29 */\n\t/***/ (function(module, exports) {\n\t\n\t\t// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\n\t\tvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n\t\t ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\n\t\tif(typeof __g == 'number')__g = global; // eslint-disable-line no-undef\n\t\n\t/***/ }),\n\t/* 30 */\n\t/***/ (function(module, exports) {\n\t\n\t\tvar core = module.exports = {version: '1.2.6'};\n\t\tif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef\n\t\n\t/***/ }),\n\t/* 31 */\n\t/***/ (function(module, exports, __webpack_require__) {\n\t\n\t\t// optional / simple context binding\n\t\tvar aFunction = __webpack_require__(32);\n\t\tmodule.exports = function(fn, that, length){\n\t\t aFunction(fn);\n\t\t if(that === undefined)return fn;\n\t\t switch(length){\n\t\t case 1: return function(a){\n\t\t return fn.call(that, a);\n\t\t };\n\t\t case 2: return function(a, b){\n\t\t return fn.call(that, a, b);\n\t\t };\n\t\t case 3: return function(a, b, c){\n\t\t return fn.call(that, a, b, c);\n\t\t };\n\t\t }\n\t\t return function(/* ...args */){\n\t\t return fn.apply(that, arguments);\n\t\t };\n\t\t};\n\t\n\t/***/ }),\n\t/* 32 */\n\t/***/ (function(module, exports) {\n\t\n\t\tmodule.exports = function(it){\n\t\t if(typeof it != 'function')throw TypeError(it + ' is not a function!');\n\t\t return it;\n\t\t};\n\t\n\t/***/ }),\n\t/* 33 */\n\t/***/ (function(module, exports) {\n\t\n\t\tmodule.exports = function(exec){\n\t\t try {\n\t\t return !!exec();\n\t\t } catch(e){\n\t\t return true;\n\t\t }\n\t\t};\n\t\n\t/***/ }),\n\t/* 34 */\n\t/***/ (function(module, exports) {\n\t\n\t\t/* WEBPACK VAR INJECTION */(function(global) {/* global window */\n\t\t'use strict';\n\t\n\t\texports.__esModule = true;\n\t\n\t\texports['default'] = function (Handlebars) {\n\t\t /* istanbul ignore next */\n\t\t var root = typeof global !== 'undefined' ? global : window,\n\t\t $Handlebars = root.Handlebars;\n\t\t /* istanbul ignore next */\n\t\t Handlebars.noConflict = function () {\n\t\t if (root.Handlebars === Handlebars) {\n\t\t root.Handlebars = $Handlebars;\n\t\t }\n\t\t return Handlebars;\n\t\t };\n\t\t};\n\t\n\t\tmodule.exports = exports['default'];\n\t\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\t\n\t/***/ }),\n\t/* 35 */\n\t/***/ (function(module, exports) {\n\t\n\t\t'use strict';\n\t\n\t\texports.__esModule = true;\n\t\tvar AST = {\n\t\t // Public API used to evaluate derived attributes regarding AST nodes\n\t\t helpers: {\n\t\t // a mustache is definitely a helper if:\n\t\t // * it is an eligible helper, and\n\t\t // * it has at least one parameter or hash segment\n\t\t helperExpression: function helperExpression(node) {\n\t\t return node.type === 'SubExpression' || (node.type === 'MustacheStatement' || node.type === 'BlockStatement') && !!(node.params && node.params.length || node.hash);\n\t\t },\n\t\n\t\t scopedId: function scopedId(path) {\n\t\t return (/^\\.|this\\b/.test(path.original)\n\t\t );\n\t\t },\n\t\n\t\t // an ID is simple if it only has one part, and that part is not\n\t\t // `..` or `this`.\n\t\t simpleId: function simpleId(path) {\n\t\t return path.parts.length === 1 && !AST.helpers.scopedId(path) && !path.depth;\n\t\t }\n\t\t }\n\t\t};\n\t\n\t\t// Must be exported as an object rather than the root of the module as the jison lexer\n\t\t// must modify the object to operate properly.\n\t\texports['default'] = AST;\n\t\tmodule.exports = exports['default'];\n\t\n\t/***/ }),\n\t/* 36 */\n\t/***/ (function(module, exports, __webpack_require__) {\n\t\n\t\t'use strict';\n\t\n\t\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\t\n\t\tvar _interopRequireWildcard = __webpack_require__(3)['default'];\n\t\n\t\texports.__esModule = true;\n\t\texports.parse = parse;\n\t\n\t\tvar _parser = __webpack_require__(37);\n\t\n\t\tvar _parser2 = _interopRequireDefault(_parser);\n\t\n\t\tvar _whitespaceControl = __webpack_require__(38);\n\t\n\t\tvar _whitespaceControl2 = _interopRequireDefault(_whitespaceControl);\n\t\n\t\tvar _helpers = __webpack_require__(40);\n\t\n\t\tvar Helpers = _interopRequireWildcard(_helpers);\n\t\n\t\tvar _utils = __webpack_require__(5);\n\t\n\t\texports.parser = _parser2['default'];\n\t\n\t\tvar yy = {};\n\t\t_utils.extend(yy, Helpers);\n\t\n\t\tfunction parse(input, options) {\n\t\t // Just return if an already-compiled AST was passed in.\n\t\t if (input.type === 'Program') {\n\t\t return input;\n\t\t }\n\t\n\t\t _parser2['default'].yy = yy;\n\t\n\t\t // Altering the shared object here, but this is ok as parser is a sync operation\n\t\t yy.locInfo = function (locInfo) {\n\t\t return new yy.SourceLocation(options && options.srcName, locInfo);\n\t\t };\n\t\n\t\t var strip = new _whitespaceControl2['default'](options);\n\t\t return strip.accept(_parser2['default'].parse(input));\n\t\t}\n\t\n\t/***/ }),\n\t/* 37 */\n\t/***/ (function(module, exports) {\n\t\n\t\t// File ignored in coverage tests via setting in .istanbul.yml\n\t\t/* Jison generated parser */\n\t\t\"use strict\";\n\t\n\t\texports.__esModule = true;\n\t\tvar handlebars = (function () {\n\t\t var parser = { trace: function trace() {},\n\t\t yy: {},\n\t\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_repetition_plus0\": 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\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\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, 1], [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\t performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$\n\t\t /**/) {\n\t\n\t\t var $0 = $$.length - 1;\n\t\t switch (yystate) {\n\t\t case 1:\n\t\t return $$[$0 - 1];\n\t\t break;\n\t\t case 2:\n\t\t this.$ = yy.prepareProgram($$[$0]);\n\t\t break;\n\t\t case 3:\n\t\t this.$ = $$[$0];\n\t\t break;\n\t\t case 4:\n\t\t this.$ = $$[$0];\n\t\t break;\n\t\t case 5:\n\t\t this.$ = $$[$0];\n\t\t break;\n\t\t case 6:\n\t\t this.$ = $$[$0];\n\t\t break;\n\t\t case 7:\n\t\t this.$ = $$[$0];\n\t\t break;\n\t\t case 8:\n\t\t this.$ = $$[$0];\n\t\t break;\n\t\t case 9:\n\t\t this.$ = {\n\t\t type: 'CommentStatement',\n\t\t value: yy.stripComment($$[$0]),\n\t\t strip: yy.stripFlags($$[$0], $$[$0]),\n\t\t loc: yy.locInfo(this._$)\n\t\t };\n\t\n\t\t break;\n\t\t case 10:\n\t\t this.$ = {\n\t\t type: 'ContentStatement',\n\t\t original: $$[$0],\n\t\t value: $$[$0],\n\t\t loc: yy.locInfo(this._$)\n\t\t };\n\t\n\t\t break;\n\t\t case 11:\n\t\t this.$ = yy.prepareRawBlock($$[$0 - 2], $$[$0 - 1], $$[$0], this._$);\n\t\t break;\n\t\t case 12:\n\t\t this.$ = { path: $$[$0 - 3], params: $$[$0 - 2], hash: $$[$0 - 1] };\n\t\t break;\n\t\t case 13:\n\t\t this.$ = yy.prepareBlock($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0], false, this._$);\n\t\t break;\n\t\t case 14:\n\t\t this.$ = yy.prepareBlock($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0], true, this._$);\n\t\t break;\n\t\t case 15:\n\t\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\t break;\n\t\t case 16:\n\t\t this.$ = { path: $$[$0 - 4], params: $$[$0 - 3], hash: $$[$0 - 2], blockParams: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 5], $$[$0]) };\n\t\t break;\n\t\t case 17:\n\t\t this.$ = { path: $$[$0 - 4], params: $$[$0 - 3], hash: $$[$0 - 2], blockParams: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 5], $$[$0]) };\n\t\t break;\n\t\t case 18:\n\t\t this.$ = { strip: yy.stripFlags($$[$0 - 1], $$[$0 - 1]), program: $$[$0] };\n\t\t break;\n\t\t case 19:\n\t\t var inverse = yy.prepareBlock($$[$0 - 2], $$[$0 - 1], $$[$0], $$[$0], false, this._$),\n\t\t program = yy.prepareProgram([inverse], $$[$0 - 1].loc);\n\t\t program.chained = true;\n\t\n\t\t this.$ = { strip: $$[$0 - 2].strip, program: program, chain: true };\n\t\n\t\t break;\n\t\t case 20:\n\t\t this.$ = $$[$0];\n\t\t break;\n\t\t case 21:\n\t\t this.$ = { path: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 2], $$[$0]) };\n\t\t break;\n\t\t case 22:\n\t\t this.$ = yy.prepareMustache($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0 - 4], yy.stripFlags($$[$0 - 4], $$[$0]), this._$);\n\t\t break;\n\t\t case 23:\n\t\t this.$ = yy.prepareMustache($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0 - 4], yy.stripFlags($$[$0 - 4], $$[$0]), this._$);\n\t\t break;\n\t\t case 24:\n\t\t this.$ = {\n\t\t type: 'PartialStatement',\n\t\t name: $$[$0 - 3],\n\t\t params: $$[$0 - 2],\n\t\t hash: $$[$0 - 1],\n\t\t indent: '',\n\t\t strip: yy.stripFlags($$[$0 - 4], $$[$0]),\n\t\t loc: yy.locInfo(this._$)\n\t\t };\n\t\n\t\t break;\n\t\t case 25:\n\t\t this.$ = yy.preparePartialBlock($$[$0 - 2], $$[$0 - 1], $$[$0], this._$);\n\t\t break;\n\t\t case 26:\n\t\t this.$ = { path: $$[$0 - 3], params: $$[$0 - 2], hash: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 4], $$[$0]) };\n\t\t break;\n\t\t case 27:\n\t\t this.$ = $$[$0];\n\t\t break;\n\t\t case 28:\n\t\t this.$ = $$[$0];\n\t\t break;\n\t\t case 29:\n\t\t this.$ = {\n\t\t type: 'SubExpression',\n\t\t path: $$[$0 - 3],\n\t\t params: $$[$0 - 2],\n\t\t hash: $$[$0 - 1],\n\t\t loc: yy.locInfo(this._$)\n\t\t };\n\t\n\t\t break;\n\t\t case 30:\n\t\t this.$ = { type: 'Hash', pairs: $$[$0], loc: yy.locInfo(this._$) };\n\t\t break;\n\t\t case 31:\n\t\t this.$ = { type: 'HashPair', key: yy.id($$[$0 - 2]), value: $$[$0], loc: yy.locInfo(this._$) };\n\t\t break;\n\t\t case 32:\n\t\t this.$ = yy.id($$[$0 - 1]);\n\t\t break;\n\t\t case 33:\n\t\t this.$ = $$[$0];\n\t\t break;\n\t\t case 34:\n\t\t this.$ = $$[$0];\n\t\t break;\n\t\t case 35:\n\t\t this.$ = { type: 'StringLiteral', value: $$[$0], original: $$[$0], loc: yy.locInfo(this._$) };\n\t\t break;\n\t\t case 36:\n\t\t this.$ = { type: 'NumberLiteral', value: Number($$[$0]), original: Number($$[$0]), loc: yy.locInfo(this._$) };\n\t\t break;\n\t\t case 37:\n\t\t this.$ = { type: 'BooleanLiteral', value: $$[$0] === 'true', original: $$[$0] === 'true', loc: yy.locInfo(this._$) };\n\t\t break;\n\t\t case 38:\n\t\t this.$ = { type: 'UndefinedLiteral', original: undefined, value: undefined, loc: yy.locInfo(this._$) };\n\t\t break;\n\t\t case 39:\n\t\t this.$ = { type: 'NullLiteral', original: null, value: null, loc: yy.locInfo(this._$) };\n\t\t break;\n\t\t case 40:\n\t\t this.$ = $$[$0];\n\t\t break;\n\t\t case 41:\n\t\t this.$ = $$[$0];\n\t\t break;\n\t\t case 42:\n\t\t this.$ = yy.preparePath(true, $$[$0], this._$);\n\t\t break;\n\t\t case 43:\n\t\t this.$ = yy.preparePath(false, $$[$0], this._$);\n\t\t break;\n\t\t case 44:\n\t\t $$[$0 - 2].push({ part: yy.id($$[$0]), original: $$[$0], separator: $$[$0 - 1] });this.$ = $$[$0 - 2];\n\t\t break;\n\t\t case 45:\n\t\t this.$ = [{ part: yy.id($$[$0]), original: $$[$0] }];\n\t\t break;\n\t\t case 46:\n\t\t this.$ = [];\n\t\t break;\n\t\t case 47:\n\t\t $$[$0 - 1].push($$[$0]);\n\t\t break;\n\t\t case 48:\n\t\t this.$ = [$$[$0]];\n\t\t break;\n\t\t case 49:\n\t\t $$[$0 - 1].push($$[$0]);\n\t\t break;\n\t\t case 50:\n\t\t this.$ = [];\n\t\t break;\n\t\t case 51:\n\t\t $$[$0 - 1].push($$[$0]);\n\t\t break;\n\t\t case 58:\n\t\t this.$ = [];\n\t\t break;\n\t\t case 59:\n\t\t $$[$0 - 1].push($$[$0]);\n\t\t break;\n\t\t case 64:\n\t\t this.$ = [];\n\t\t break;\n\t\t case 65:\n\t\t $$[$0 - 1].push($$[$0]);\n\t\t break;\n\t\t case 70:\n\t\t this.$ = [];\n\t\t break;\n\t\t case 71:\n\t\t $$[$0 - 1].push($$[$0]);\n\t\t break;\n\t\t case 78:\n\t\t this.$ = [];\n\t\t break;\n\t\t case 79:\n\t\t $$[$0 - 1].push($$[$0]);\n\t\t break;\n\t\t case 82:\n\t\t this.$ = [];\n\t\t break;\n\t\t case 83:\n\t\t $$[$0 - 1].push($$[$0]);\n\t\t break;\n\t\t case 86:\n\t\t this.$ = [];\n\t\t break;\n\t\t case 87:\n\t\t $$[$0 - 1].push($$[$0]);\n\t\t break;\n\t\t case 90:\n\t\t this.$ = [];\n\t\t break;\n\t\t case 91:\n\t\t $$[$0 - 1].push($$[$0]);\n\t\t break;\n\t\t case 94:\n\t\t this.$ = [];\n\t\t break;\n\t\t case 95:\n\t\t $$[$0 - 1].push($$[$0]);\n\t\t break;\n\t\t case 98:\n\t\t this.$ = [$$[$0]];\n\t\t break;\n\t\t case 99:\n\t\t $$[$0 - 1].push($$[$0]);\n\t\t break;\n\t\t case 100:\n\t\t this.$ = [$$[$0]];\n\t\t break;\n\t\t case 101:\n\t\t $$[$0 - 1].push($$[$0]);\n\t\t break;\n\t\t }\n\t\t },\n\t\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] }, { 13: 40, 15: [1, 20], 17: 39 }, { 20: 42, 56: 41, 64: 43, 65: [1, 44], 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: 45, 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: 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: 48, 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: 42, 56: 49, 64: 43, 65: [1, 44], 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: 50, 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, 51] }, { 72: [1, 35], 86: 52 }, { 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: 53, 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: 54, 38: 56, 39: [1, 58], 43: 57, 44: [1, 59], 45: 55, 47: [2, 54] }, { 28: 60, 43: 61, 44: [1, 59], 47: [2, 56] }, { 13: 63, 15: [1, 20], 18: [1, 62] }, { 15: [2, 48], 18: [2, 48] }, { 33: [2, 86], 57: 64, 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: 65, 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: 66, 47: [1, 67] }, { 30: 68, 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: 69, 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: 70, 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: 71, 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: 75, 33: [2, 80], 50: 72, 63: 73, 64: 76, 65: [1, 44], 69: 74, 70: 77, 71: 78, 72: [1, 79], 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, 80] }, { 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, 51] }, { 20: 75, 53: 81, 54: [2, 84], 63: 82, 64: 76, 65: [1, 44], 69: 83, 70: 77, 71: 78, 72: [1, 79], 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: 84, 47: [1, 67] }, { 47: [2, 55] }, { 4: 85, 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: 86, 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: 87, 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: 88, 47: [1, 67] }, { 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: 75, 33: [2, 88], 58: 89, 63: 90, 64: 76, 65: [1, 44], 69: 91, 70: 77, 71: 78, 72: [1, 79], 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: 92, 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: 93, 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: 75, 31: 94, 33: [2, 60], 63: 95, 64: 76, 65: [1, 44], 69: 96, 70: 77, 71: 78, 72: [1, 79], 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: 75, 33: [2, 66], 36: 97, 63: 98, 64: 76, 65: [1, 44], 69: 99, 70: 77, 71: 78, 72: [1, 79], 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: 75, 22: 100, 23: [2, 52], 63: 101, 64: 76, 65: [1, 44], 69: 102, 70: 77, 71: 78, 72: [1, 79], 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: 75, 33: [2, 92], 62: 103, 63: 104, 64: 76, 65: [1, 44], 69: 105, 70: 77, 71: 78, 72: [1, 79], 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, 106] }, { 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: 107, 72: [1, 108], 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, 109], 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, 110] }, { 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: 56, 39: [1, 58], 43: 57, 44: [1, 59], 45: 112, 46: 111, 47: [2, 76] }, { 33: [2, 70], 40: 113, 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, 114] }, { 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: 75, 63: 116, 64: 76, 65: [1, 44], 67: 115, 68: [2, 96], 69: 117, 70: 77, 71: 78, 72: [1, 79], 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, 118] }, { 32: 119, 33: [2, 62], 74: 120, 75: [1, 121] }, { 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: 122, 74: 123, 75: [1, 121] }, { 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, 124] }, { 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, 125] }, { 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, 109] }, { 20: 75, 63: 126, 64: 76, 65: [1, 44], 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: 75, 33: [2, 72], 41: 127, 63: 128, 64: 76, 65: [1, 44], 69: 129, 70: 77, 71: 78, 72: [1, 79], 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, 130] }, { 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, 131] }, { 33: [2, 63] }, { 72: [1, 133], 76: 132 }, { 33: [1, 134] }, { 33: [2, 69] }, { 15: [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: 135, 74: 136, 75: [1, 121] }, { 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, 138], 77: [1, 137] }, { 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, 139] }, { 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\t defaultActions: { 4: [2, 1], 55: [2, 55], 57: [2, 20], 61: [2, 57], 74: [2, 81], 83: [2, 85], 87: [2, 18], 91: [2, 89], 102: [2, 53], 105: [2, 93], 111: [2, 19], 112: [2, 77], 117: [2, 97], 120: [2, 63], 123: [2, 69], 124: [2, 12], 136: [2, 75], 137: [2, 32] },\n\t\t parseError: function parseError(str, hash) {\n\t\t throw new Error(str);\n\t\t },\n\t\t parse: function parse(input) {\n\t\t var self = this,\n\t\t stack = [0],\n\t\t vstack = [null],\n\t\t lstack = [],\n\t\t table = this.table,\n\t\t yytext = \"\",\n\t\t yylineno = 0,\n\t\t yyleng = 0,\n\t\t recovering = 0,\n\t\t TERROR = 2,\n\t\t EOF = 1;\n\t\t this.lexer.setInput(input);\n\t\t this.lexer.yy = this.yy;\n\t\t this.yy.lexer = this.lexer;\n\t\t this.yy.parser = this;\n\t\t if (typeof this.lexer.yylloc == \"undefined\") this.lexer.yylloc = {};\n\t\t var yyloc = this.lexer.yylloc;\n\t\t lstack.push(yyloc);\n\t\t var ranges = this.lexer.options && this.lexer.options.ranges;\n\t\t if (typeof this.yy.parseError === \"function\") this.parseError = this.yy.parseError;\n\t\t function popStack(n) {\n\t\t stack.length = stack.length - 2 * n;\n\t\t vstack.length = vstack.length - n;\n\t\t lstack.length = lstack.length - n;\n\t\t }\n\t\t function lex() {\n\t\t var token;\n\t\t token = self.lexer.lex() || 1;\n\t\t if (typeof token !== \"number\") {\n\t\t token = self.symbols_[token] || token;\n\t\t }\n\t\t return token;\n\t\t }\n\t\t var symbol,\n\t\t preErrorSymbol,\n\t\t state,\n\t\t action,\n\t\t a,\n\t\t r,\n\t\t yyval = {},\n\t\t p,\n\t\t len,\n\t\t newState,\n\t\t expected;\n\t\t while (true) {\n\t\t state = stack[stack.length - 1];\n\t\t if (this.defaultActions[state]) {\n\t\t action = this.defaultActions[state];\n\t\t } else {\n\t\t if (symbol === null || typeof symbol == \"undefined\") {\n\t\t symbol = lex();\n\t\t }\n\t\t action = table[state] && table[state][symbol];\n\t\t }\n\t\t if (typeof action === \"undefined\" || !action.length || !action[0]) {\n\t\t var errStr = \"\";\n\t\t if (!recovering) {\n\t\t expected = [];\n\t\t for (p in table[state]) if (this.terminals_[p] && p > 2) {\n\t\t expected.push(\"'\" + this.terminals_[p] + \"'\");\n\t\t }\n\t\t if (this.lexer.showPosition) {\n\t\t errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + this.lexer.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n\t\t } else {\n\t\t errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == 1 ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n\t\t }\n\t\t this.parseError(errStr, { text: this.lexer.match, token: this.terminals_[symbol] || symbol, line: this.lexer.yylineno, loc: yyloc, expected: expected });\n\t\t }\n\t\t }\n\t\t if (action[0] instanceof Array && action.length > 1) {\n\t\t throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n\t\t }\n\t\t switch (action[0]) {\n\t\t case 1:\n\t\t stack.push(symbol);\n\t\t vstack.push(this.lexer.yytext);\n\t\t lstack.push(this.lexer.yylloc);\n\t\t stack.push(action[1]);\n\t\t symbol = null;\n\t\t if (!preErrorSymbol) {\n\t\t yyleng = this.lexer.yyleng;\n\t\t yytext = this.lexer.yytext;\n\t\t yylineno = this.lexer.yylineno;\n\t\t yyloc = this.lexer.yylloc;\n\t\t if (recovering > 0) recovering--;\n\t\t } else {\n\t\t symbol = preErrorSymbol;\n\t\t preErrorSymbol = null;\n\t\t }\n\t\t break;\n\t\t case 2:\n\t\t len = this.productions_[action[1]][1];\n\t\t yyval.$ = vstack[vstack.length - len];\n\t\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\t if (ranges) {\n\t\t yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]];\n\t\t }\n\t\t r = this.performAction.call(yyval, yytext, yyleng, yylineno, this.yy, action[1], vstack, lstack);\n\t\t if (typeof r !== \"undefined\") {\n\t\t return r;\n\t\t }\n\t\t if (len) {\n\t\t stack = stack.slice(0, -1 * len * 2);\n\t\t vstack = vstack.slice(0, -1 * len);\n\t\t lstack = lstack.slice(0, -1 * len);\n\t\t }\n\t\t stack.push(this.productions_[action[1]][0]);\n\t\t vstack.push(yyval.$);\n\t\t lstack.push(yyval._$);\n\t\t newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n\t\t stack.push(newState);\n\t\t break;\n\t\t case 3:\n\t\t return true;\n\t\t }\n\t\t }\n\t\t return true;\n\t\t }\n\t\t };\n\t\t /* Jison generated lexer */\n\t\t var lexer = (function () {\n\t\t var lexer = { EOF: 1,\n\t\t parseError: function parseError(str, hash) {\n\t\t if (this.yy.parser) {\n\t\t this.yy.parser.parseError(str, hash);\n\t\t } else {\n\t\t throw new Error(str);\n\t\t }\n\t\t },\n\t\t setInput: function setInput(input) {\n\t\t this._input = input;\n\t\t this._more = this._less = this.done = false;\n\t\t this.yylineno = this.yyleng = 0;\n\t\t this.yytext = this.matched = this.match = '';\n\t\t this.conditionStack = ['INITIAL'];\n\t\t this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 };\n\t\t if (this.options.ranges) this.yylloc.range = [0, 0];\n\t\t this.offset = 0;\n\t\t return this;\n\t\t },\n\t\t input: function input() {\n\t\t var ch = this._input[0];\n\t\t this.yytext += ch;\n\t\t this.yyleng++;\n\t\t this.offset++;\n\t\t this.match += ch;\n\t\t this.matched += ch;\n\t\t var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n\t\t if (lines) {\n\t\t this.yylineno++;\n\t\t this.yylloc.last_line++;\n\t\t } else {\n\t\t this.yylloc.last_column++;\n\t\t }\n\t\t if (this.options.ranges) this.yylloc.range[1]++;\n\t\n\t\t this._input = this._input.slice(1);\n\t\t return ch;\n\t\t },\n\t\t unput: function unput(ch) {\n\t\t var len = ch.length;\n\t\t var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n\t\n\t\t this._input = ch + this._input;\n\t\t this.yytext = this.yytext.substr(0, this.yytext.length - len - 1);\n\t\t //this.yyleng -= len;\n\t\t this.offset -= len;\n\t\t var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n\t\t this.match = this.match.substr(0, this.match.length - 1);\n\t\t this.matched = this.matched.substr(0, this.matched.length - 1);\n\t\n\t\t if (lines.length - 1) this.yylineno -= lines.length - 1;\n\t\t var r = this.yylloc.range;\n\t\n\t\t this.yylloc = { first_line: this.yylloc.first_line,\n\t\t last_line: this.yylineno + 1,\n\t\t first_column: this.yylloc.first_column,\n\t\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\t };\n\t\n\t\t if (this.options.ranges) {\n\t\t this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n\t\t }\n\t\t return this;\n\t\t },\n\t\t more: function more() {\n\t\t this._more = true;\n\t\t return this;\n\t\t },\n\t\t less: function less(n) {\n\t\t this.unput(this.match.slice(n));\n\t\t },\n\t\t pastInput: function pastInput() {\n\t\t var past = this.matched.substr(0, this.matched.length - this.match.length);\n\t\t return (past.length > 20 ? '...' : '') + past.substr(-20).replace(/\\n/g, \"\");\n\t\t },\n\t\t upcomingInput: function upcomingInput() {\n\t\t var next = this.match;\n\t\t if (next.length < 20) {\n\t\t next += this._input.substr(0, 20 - next.length);\n\t\t }\n\t\t return (next.substr(0, 20) + (next.length > 20 ? '...' : '')).replace(/\\n/g, \"\");\n\t\t },\n\t\t showPosition: function showPosition() {\n\t\t var pre = this.pastInput();\n\t\t var c = new Array(pre.length + 1).join(\"-\");\n\t\t return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n\t\t },\n\t\t next: function next() {\n\t\t if (this.done) {\n\t\t return this.EOF;\n\t\t }\n\t\t if (!this._input) this.done = true;\n\t\n\t\t var token, match, tempMatch, index, col, lines;\n\t\t if (!this._more) {\n\t\t this.yytext = '';\n\t\t this.match = '';\n\t\t }\n\t\t var rules = this._currentRules();\n\t\t for (var i = 0; i < rules.length; i++) {\n\t\t tempMatch = this._input.match(this.rules[rules[i]]);\n\t\t if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n\t\t match = tempMatch;\n\t\t index = i;\n\t\t if (!this.options.flex) break;\n\t\t }\n\t\t }\n\t\t if (match) {\n\t\t lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n\t\t if (lines) this.yylineno += lines.length;\n\t\t this.yylloc = { first_line: this.yylloc.last_line,\n\t\t last_line: this.yylineno + 1,\n\t\t first_column: this.yylloc.last_column,\n\t\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\t this.yytext += match[0];\n\t\t this.match += match[0];\n\t\t this.matches = match;\n\t\t this.yyleng = this.yytext.length;\n\t\t if (this.options.ranges) {\n\t\t this.yylloc.range = [this.offset, this.offset += this.yyleng];\n\t\t }\n\t\t this._more = false;\n\t\t this._input = this._input.slice(match[0].length);\n\t\t this.matched += match[0];\n\t\t token = this.performAction.call(this, this.yy, this, rules[index], this.conditionStack[this.conditionStack.length - 1]);\n\t\t if (this.done && this._input) this.done = false;\n\t\t if (token) return token;else return;\n\t\t }\n\t\t if (this._input === \"\") {\n\t\t return this.EOF;\n\t\t } else {\n\t\t return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\\n' + this.showPosition(), { text: \"\", token: null, line: this.yylineno });\n\t\t }\n\t\t },\n\t\t lex: function lex() {\n\t\t var r = this.next();\n\t\t if (typeof r !== 'undefined') {\n\t\t return r;\n\t\t } else {\n\t\t return this.lex();\n\t\t }\n\t\t },\n\t\t begin: function begin(condition) {\n\t\t this.conditionStack.push(condition);\n\t\t },\n\t\t popState: function popState() {\n\t\t return this.conditionStack.pop();\n\t\t },\n\t\t _currentRules: function _currentRules() {\n\t\t return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n\t\t },\n\t\t topState: function topState() {\n\t\t return this.conditionStack[this.conditionStack.length - 2];\n\t\t },\n\t\t pushState: function begin(condition) {\n\t\t this.begin(condition);\n\t\t } };\n\t\t lexer.options = {};\n\t\t lexer.performAction = function anonymous(yy, yy_, $avoiding_name_collisions, YY_START\n\t\t /**/) {\n\t\n\t\t function strip(start, end) {\n\t\t return yy_.yytext = yy_.yytext.substr(start, yy_.yyleng - end);\n\t\t }\n\t\n\t\t var YYSTATE = YY_START;\n\t\t switch ($avoiding_name_collisions) {\n\t\t case 0:\n\t\t if (yy_.yytext.slice(-2) === \"\\\\\\\\\") {\n\t\t strip(0, 1);\n\t\t this.begin(\"mu\");\n\t\t } else if (yy_.yytext.slice(-1) === \"\\\\\") {\n\t\t strip(0, 1);\n\t\t this.begin(\"emu\");\n\t\t } else {\n\t\t this.begin(\"mu\");\n\t\t }\n\t\t if (yy_.yytext) return 15;\n\t\n\t\t break;\n\t\t case 1:\n\t\t return 15;\n\t\t break;\n\t\t case 2:\n\t\t this.popState();\n\t\t return 15;\n\t\n\t\t break;\n\t\t case 3:\n\t\t this.begin('raw');return 15;\n\t\t break;\n\t\t case 4:\n\t\t this.popState();\n\t\t // Should be using `this.topState()` below, but it currently\n\t\t // returns the second top instead of the first top. Opened an\n\t\t // issue about it at https://github.com/zaach/jison/issues/291\n\t\t if (this.conditionStack[this.conditionStack.length - 1] === 'raw') {\n\t\t return 15;\n\t\t } else {\n\t\t yy_.yytext = yy_.yytext.substr(5, yy_.yyleng - 9);\n\t\t return 'END_RAW_BLOCK';\n\t\t }\n\t\n\t\t break;\n\t\t case 5:\n\t\t return 15;\n\t\t break;\n\t\t case 6:\n\t\t this.popState();\n\t\t return 14;\n\t\n\t\t break;\n\t\t case 7:\n\t\t return 65;\n\t\t break;\n\t\t case 8:\n\t\t return 68;\n\t\t break;\n\t\t case 9:\n\t\t return 19;\n\t\t break;\n\t\t case 10:\n\t\t this.popState();\n\t\t this.begin('raw');\n\t\t return 23;\n\t\n\t\t break;\n\t\t case 11:\n\t\t return 55;\n\t\t break;\n\t\t case 12:\n\t\t return 60;\n\t\t break;\n\t\t case 13:\n\t\t return 29;\n\t\t break;\n\t\t case 14:\n\t\t return 47;\n\t\t break;\n\t\t case 15:\n\t\t this.popState();return 44;\n\t\t break;\n\t\t case 16:\n\t\t this.popState();return 44;\n\t\t break;\n\t\t case 17:\n\t\t return 34;\n\t\t break;\n\t\t case 18:\n\t\t return 39;\n\t\t break;\n\t\t case 19:\n\t\t return 51;\n\t\t break;\n\t\t case 20:\n\t\t return 48;\n\t\t break;\n\t\t case 21:\n\t\t this.unput(yy_.yytext);\n\t\t this.popState();\n\t\t this.begin('com');\n\t\n\t\t break;\n\t\t case 22:\n\t\t this.popState();\n\t\t return 14;\n\t\n\t\t break;\n\t\t case 23:\n\t\t return 48;\n\t\t break;\n\t\t case 24:\n\t\t return 73;\n\t\t break;\n\t\t case 25:\n\t\t return 72;\n\t\t break;\n\t\t case 26:\n\t\t return 72;\n\t\t break;\n\t\t case 27:\n\t\t return 87;\n\t\t break;\n\t\t case 28:\n\t\t // ignore whitespace\n\t\t break;\n\t\t case 29:\n\t\t this.popState();return 54;\n\t\t break;\n\t\t case 30:\n\t\t this.popState();return 33;\n\t\t break;\n\t\t case 31:\n\t\t yy_.yytext = strip(1, 2).replace(/\\\\\"/g, '\"');return 80;\n\t\t break;\n\t\t case 32:\n\t\t yy_.yytext = strip(1, 2).replace(/\\\\'/g, \"'\");return 80;\n\t\t break;\n\t\t case 33:\n\t\t return 85;\n\t\t break;\n\t\t case 34:\n\t\t return 82;\n\t\t break;\n\t\t case 35:\n\t\t return 82;\n\t\t break;\n\t\t case 36:\n\t\t return 83;\n\t\t break;\n\t\t case 37:\n\t\t return 84;\n\t\t break;\n\t\t case 38:\n\t\t return 81;\n\t\t break;\n\t\t case 39:\n\t\t return 75;\n\t\t break;\n\t\t case 40:\n\t\t return 77;\n\t\t break;\n\t\t case 41:\n\t\t return 72;\n\t\t break;\n\t\t case 42:\n\t\t yy_.yytext = yy_.yytext.replace(/\\\\([\\\\\\]])/g, '$1');return 72;\n\t\t break;\n\t\t case 43:\n\t\t return 'INVALID';\n\t\t break;\n\t\t case 44:\n\t\t return 5;\n\t\t break;\n\t\t }\n\t\t };\n\t\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\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\t return lexer;\n\t\t })();\n\t\t parser.lexer = lexer;\n\t\t function Parser() {\n\t\t this.yy = {};\n\t\t }Parser.prototype = parser;parser.Parser = Parser;\n\t\t return new Parser();\n\t\t})();exports[\"default\"] = handlebars;\n\t\tmodule.exports = exports[\"default\"];\n\t\n\t/***/ }),\n\t/* 38 */\n\t/***/ (function(module, exports, __webpack_require__) {\n\t\n\t\t'use strict';\n\t\n\t\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\t\n\t\texports.__esModule = true;\n\t\n\t\tvar _visitor = __webpack_require__(39);\n\t\n\t\tvar _visitor2 = _interopRequireDefault(_visitor);\n\t\n\t\tfunction WhitespaceControl() {\n\t\t var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\t\n\t\t this.options = options;\n\t\t}\n\t\tWhitespaceControl.prototype = new _visitor2['default']();\n\t\n\t\tWhitespaceControl.prototype.Program = function (program) {\n\t\t var doStandalone = !this.options.ignoreStandalone;\n\t\n\t\t var isRoot = !this.isRootSeen;\n\t\t this.isRootSeen = true;\n\t\n\t\t var body = program.body;\n\t\t for (var i = 0, l = body.length; i < l; i++) {\n\t\t var current = body[i],\n\t\t strip = this.accept(current);\n\t\n\t\t if (!strip) {\n\t\t continue;\n\t\t }\n\t\n\t\t var _isPrevWhitespace = isPrevWhitespace(body, i, isRoot),\n\t\t _isNextWhitespace = isNextWhitespace(body, i, isRoot),\n\t\t openStandalone = strip.openStandalone && _isPrevWhitespace,\n\t\t closeStandalone = strip.closeStandalone && _isNextWhitespace,\n\t\t inlineStandalone = strip.inlineStandalone && _isPrevWhitespace && _isNextWhitespace;\n\t\n\t\t if (strip.close) {\n\t\t omitRight(body, i, true);\n\t\t }\n\t\t if (strip.open) {\n\t\t omitLeft(body, i, true);\n\t\t }\n\t\n\t\t if (doStandalone && inlineStandalone) {\n\t\t omitRight(body, i);\n\t\n\t\t if (omitLeft(body, i)) {\n\t\t // If we are on a standalone node, save the indent info for partials\n\t\t if (current.type === 'PartialStatement') {\n\t\t // Pull out the whitespace from the final line\n\t\t current.indent = /([ \\t]+$)/.exec(body[i - 1].original)[1];\n\t\t }\n\t\t }\n\t\t }\n\t\t if (doStandalone && openStandalone) {\n\t\t omitRight((current.program || current.inverse).body);\n\t\n\t\t // Strip out the previous content node if it's whitespace only\n\t\t omitLeft(body, i);\n\t\t }\n\t\t if (doStandalone && closeStandalone) {\n\t\t // Always strip the next node\n\t\t omitRight(body, i);\n\t\n\t\t omitLeft((current.inverse || current.program).body);\n\t\t }\n\t\t }\n\t\n\t\t return program;\n\t\t};\n\t\n\t\tWhitespaceControl.prototype.BlockStatement = WhitespaceControl.prototype.DecoratorBlock = WhitespaceControl.prototype.PartialBlockStatement = function (block) {\n\t\t this.accept(block.program);\n\t\t this.accept(block.inverse);\n\t\n\t\t // Find the inverse program that is involed with whitespace stripping.\n\t\t var program = block.program || block.inverse,\n\t\t inverse = block.program && block.inverse,\n\t\t firstInverse = inverse,\n\t\t lastInverse = inverse;\n\t\n\t\t if (inverse && inverse.chained) {\n\t\t firstInverse = inverse.body[0].program;\n\t\n\t\t // Walk the inverse chain to find the last inverse that is actually in the chain.\n\t\t while (lastInverse.chained) {\n\t\t lastInverse = lastInverse.body[lastInverse.body.length - 1].program;\n\t\t }\n\t\t }\n\t\n\t\t var strip = {\n\t\t open: block.openStrip.open,\n\t\t close: block.closeStrip.close,\n\t\n\t\t // Determine the standalone candiacy. Basically flag our content as being possibly standalone\n\t\t // so our parent can determine if we actually are standalone\n\t\t openStandalone: isNextWhitespace(program.body),\n\t\t closeStandalone: isPrevWhitespace((firstInverse || program).body)\n\t\t };\n\t\n\t\t if (block.openStrip.close) {\n\t\t omitRight(program.body, null, true);\n\t\t }\n\t\n\t\t if (inverse) {\n\t\t var inverseStrip = block.inverseStrip;\n\t\n\t\t if (inverseStrip.open) {\n\t\t omitLeft(program.body, null, true);\n\t\t }\n\t\n\t\t if (inverseStrip.close) {\n\t\t omitRight(firstInverse.body, null, true);\n\t\t }\n\t\t if (block.closeStrip.open) {\n\t\t omitLeft(lastInverse.body, null, true);\n\t\t }\n\t\n\t\t // Find standalone else statments\n\t\t if (!this.options.ignoreStandalone && isPrevWhitespace(program.body) && isNextWhitespace(firstInverse.body)) {\n\t\t omitLeft(program.body);\n\t\t omitRight(firstInverse.body);\n\t\t }\n\t\t } else if (block.closeStrip.open) {\n\t\t omitLeft(program.body, null, true);\n\t\t }\n\t\n\t\t return strip;\n\t\t};\n\t\n\t\tWhitespaceControl.prototype.Decorator = WhitespaceControl.prototype.MustacheStatement = function (mustache) {\n\t\t return mustache.strip;\n\t\t};\n\t\n\t\tWhitespaceControl.prototype.PartialStatement = WhitespaceControl.prototype.CommentStatement = function (node) {\n\t\t /* istanbul ignore next */\n\t\t var strip = node.strip || {};\n\t\t return {\n\t\t inlineStandalone: true,\n\t\t open: strip.open,\n\t\t close: strip.close\n\t\t };\n\t\t};\n\t\n\t\tfunction isPrevWhitespace(body, i, isRoot) {\n\t\t if (i === undefined) {\n\t\t i = body.length;\n\t\t }\n\t\n\t\t // Nodes that end with newlines are considered whitespace (but are special\n\t\t // cased for strip operations)\n\t\t var prev = body[i - 1],\n\t\t sibling = body[i - 2];\n\t\t if (!prev) {\n\t\t return isRoot;\n\t\t }\n\t\n\t\t if (prev.type === 'ContentStatement') {\n\t\t return (sibling || !isRoot ? /\\r?\\n\\s*?$/ : /(^|\\r?\\n)\\s*?$/).test(prev.original);\n\t\t }\n\t\t}\n\t\tfunction isNextWhitespace(body, i, isRoot) {\n\t\t if (i === undefined) {\n\t\t i = -1;\n\t\t }\n\t\n\t\t var next = body[i + 1],\n\t\t sibling = body[i + 2];\n\t\t if (!next) {\n\t\t return isRoot;\n\t\t }\n\t\n\t\t if (next.type === 'ContentStatement') {\n\t\t return (sibling || !isRoot ? /^\\s*?\\r?\\n/ : /^\\s*?(\\r?\\n|$)/).test(next.original);\n\t\t }\n\t\t}\n\t\n\t\t// Marks the node to the right of the position as omitted.\n\t\t// I.e. {{foo}}' ' will mark the ' ' node as omitted.\n\t\t//\n\t\t// If i is undefined, then the first child will be marked as such.\n\t\t//\n\t\t// If mulitple is truthy then all whitespace will be stripped out until non-whitespace\n\t\t// content is met.\n\t\tfunction omitRight(body, i, multiple) {\n\t\t var current = body[i == null ? 0 : i + 1];\n\t\t if (!current || current.type !== 'ContentStatement' || !multiple && current.rightStripped) {\n\t\t return;\n\t\t }\n\t\n\t\t var original = current.value;\n\t\t current.value = current.value.replace(multiple ? /^\\s+/ : /^[ \\t]*\\r?\\n?/, '');\n\t\t current.rightStripped = current.value !== original;\n\t\t}\n\t\n\t\t// Marks the node to the left of the position as omitted.\n\t\t// I.e. ' '{{foo}} will mark the ' ' node as omitted.\n\t\t//\n\t\t// If i is undefined then the last child will be marked as such.\n\t\t//\n\t\t// If mulitple is truthy then all whitespace will be stripped out until non-whitespace\n\t\t// content is met.\n\t\tfunction omitLeft(body, i, multiple) {\n\t\t var current = body[i == null ? body.length - 1 : i - 1];\n\t\t if (!current || current.type !== 'ContentStatement' || !multiple && current.leftStripped) {\n\t\t return;\n\t\t }\n\t\n\t\t // We omit the last node if it's whitespace only and not preceeded by a non-content node.\n\t\t var original = current.value;\n\t\t current.value = current.value.replace(multiple ? /\\s+$/ : /[ \\t]+$/, '');\n\t\t current.leftStripped = current.value !== original;\n\t\t return current.leftStripped;\n\t\t}\n\t\n\t\texports['default'] = WhitespaceControl;\n\t\tmodule.exports = exports['default'];\n\t\n\t/***/ }),\n\t/* 39 */\n\t/***/ (function(module, exports, __webpack_require__) {\n\t\n\t\t'use strict';\n\t\n\t\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\t\n\t\texports.__esModule = true;\n\t\n\t\tvar _exception = __webpack_require__(6);\n\t\n\t\tvar _exception2 = _interopRequireDefault(_exception);\n\t\n\t\tfunction Visitor() {\n\t\t this.parents = [];\n\t\t}\n\t\n\t\tVisitor.prototype = {\n\t\t constructor: Visitor,\n\t\t mutating: false,\n\t\n\t\t // Visits a given value. If mutating, will replace the value if necessary.\n\t\t acceptKey: function acceptKey(node, name) {\n\t\t var value = this.accept(node[name]);\n\t\t if (this.mutating) {\n\t\t // Hacky sanity check: This may have a few false positives for type for the helper\n\t\t // methods but will generally do the right thing without a lot of overhead.\n\t\t if (value && !Visitor.prototype[value.type]) {\n\t\t throw new _exception2['default']('Unexpected node type \"' + value.type + '\" found when accepting ' + name + ' on ' + node.type);\n\t\t }\n\t\t node[name] = value;\n\t\t }\n\t\t },\n\t\n\t\t // Performs an accept operation with added sanity check to ensure\n\t\t // required keys are not removed.\n\t\t acceptRequired: function acceptRequired(node, name) {\n\t\t this.acceptKey(node, name);\n\t\n\t\t if (!node[name]) {\n\t\t throw new _exception2['default'](node.type + ' requires ' + name);\n\t\t }\n\t\t },\n\t\n\t\t // Traverses a given array. If mutating, empty respnses will be removed\n\t\t // for child elements.\n\t\t acceptArray: function acceptArray(array) {\n\t\t for (var i = 0, l = array.length; i < l; i++) {\n\t\t this.acceptKey(array, i);\n\t\n\t\t if (!array[i]) {\n\t\t array.splice(i, 1);\n\t\t i--;\n\t\t l--;\n\t\t }\n\t\t }\n\t\t },\n\t\n\t\t accept: function accept(object) {\n\t\t if (!object) {\n\t\t return;\n\t\t }\n\t\n\t\t /* istanbul ignore next: Sanity code */\n\t\t if (!this[object.type]) {\n\t\t throw new _exception2['default']('Unknown type: ' + object.type, object);\n\t\t }\n\t\n\t\t if (this.current) {\n\t\t this.parents.unshift(this.current);\n\t\t }\n\t\t this.current = object;\n\t\n\t\t var ret = this[object.type](object);\n\t\n\t\t this.current = this.parents.shift();\n\t\n\t\t if (!this.mutating || ret) {\n\t\t return ret;\n\t\t } else if (ret !== false) {\n\t\t return object;\n\t\t }\n\t\t },\n\t\n\t\t Program: function Program(program) {\n\t\t this.acceptArray(program.body);\n\t\t },\n\t\n\t\t MustacheStatement: visitSubExpression,\n\t\t Decorator: visitSubExpression,\n\t\n\t\t BlockStatement: visitBlock,\n\t\t DecoratorBlock: visitBlock,\n\t\n\t\t PartialStatement: visitPartial,\n\t\t PartialBlockStatement: function PartialBlockStatement(partial) {\n\t\t visitPartial.call(this, partial);\n\t\n\t\t this.acceptKey(partial, 'program');\n\t\t },\n\t\n\t\t ContentStatement: function ContentStatement() /* content */{},\n\t\t CommentStatement: function CommentStatement() /* comment */{},\n\t\n\t\t SubExpression: visitSubExpression,\n\t\n\t\t PathExpression: function PathExpression() /* path */{},\n\t\n\t\t StringLiteral: function StringLiteral() /* string */{},\n\t\t NumberLiteral: function NumberLiteral() /* number */{},\n\t\t BooleanLiteral: function BooleanLiteral() /* bool */{},\n\t\t UndefinedLiteral: function UndefinedLiteral() /* literal */{},\n\t\t NullLiteral: function NullLiteral() /* literal */{},\n\t\n\t\t Hash: function Hash(hash) {\n\t\t this.acceptArray(hash.pairs);\n\t\t },\n\t\t HashPair: function HashPair(pair) {\n\t\t this.acceptRequired(pair, 'value');\n\t\t }\n\t\t};\n\t\n\t\tfunction visitSubExpression(mustache) {\n\t\t this.acceptRequired(mustache, 'path');\n\t\t this.acceptArray(mustache.params);\n\t\t this.acceptKey(mustache, 'hash');\n\t\t}\n\t\tfunction visitBlock(block) {\n\t\t visitSubExpression.call(this, block);\n\t\n\t\t this.acceptKey(block, 'program');\n\t\t this.acceptKey(block, 'inverse');\n\t\t}\n\t\tfunction visitPartial(partial) {\n\t\t this.acceptRequired(partial, 'name');\n\t\t this.acceptArray(partial.params);\n\t\t this.acceptKey(partial, 'hash');\n\t\t}\n\t\n\t\texports['default'] = Visitor;\n\t\tmodule.exports = exports['default'];\n\t\n\t/***/ }),\n\t/* 40 */\n\t/***/ (function(module, exports, __webpack_require__) {\n\t\n\t\t'use strict';\n\t\n\t\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\t\n\t\texports.__esModule = true;\n\t\texports.SourceLocation = SourceLocation;\n\t\texports.id = id;\n\t\texports.stripFlags = stripFlags;\n\t\texports.stripComment = stripComment;\n\t\texports.preparePath = preparePath;\n\t\texports.prepareMustache = prepareMustache;\n\t\texports.prepareRawBlock = prepareRawBlock;\n\t\texports.prepareBlock = prepareBlock;\n\t\texports.prepareProgram = prepareProgram;\n\t\texports.preparePartialBlock = preparePartialBlock;\n\t\n\t\tvar _exception = __webpack_require__(6);\n\t\n\t\tvar _exception2 = _interopRequireDefault(_exception);\n\t\n\t\tfunction validateClose(open, close) {\n\t\t close = close.path ? close.path.original : close;\n\t\n\t\t if (open.path.original !== close) {\n\t\t var errorNode = { loc: open.path.loc };\n\t\n\t\t throw new _exception2['default'](open.path.original + \" doesn't match \" + close, errorNode);\n\t\t }\n\t\t}\n\t\n\t\tfunction SourceLocation(source, locInfo) {\n\t\t this.source = source;\n\t\t this.start = {\n\t\t line: locInfo.first_line,\n\t\t column: locInfo.first_column\n\t\t };\n\t\t this.end = {\n\t\t line: locInfo.last_line,\n\t\t column: locInfo.last_column\n\t\t };\n\t\t}\n\t\n\t\tfunction id(token) {\n\t\t if (/^\\[.*\\]$/.test(token)) {\n\t\t return token.substr(1, token.length - 2);\n\t\t } else {\n\t\t return token;\n\t\t }\n\t\t}\n\t\n\t\tfunction stripFlags(open, close) {\n\t\t return {\n\t\t open: open.charAt(2) === '~',\n\t\t close: close.charAt(close.length - 3) === '~'\n\t\t };\n\t\t}\n\t\n\t\tfunction stripComment(comment) {\n\t\t return comment.replace(/^\\{\\{~?\\!-?-?/, '').replace(/-?-?~?\\}\\}$/, '');\n\t\t}\n\t\n\t\tfunction preparePath(data, parts, loc) {\n\t\t loc = this.locInfo(loc);\n\t\n\t\t var original = data ? '@' : '',\n\t\t dig = [],\n\t\t depth = 0,\n\t\t depthString = '';\n\t\n\t\t for (var i = 0, l = parts.length; i < l; i++) {\n\t\t var part = parts[i].part,\n\t\n\t\t // If we have [] syntax then we do not treat path references as operators,\n\t\t // i.e. foo.[this] resolves to approximately context.foo['this']\n\t\t isLiteral = parts[i].original !== part;\n\t\t original += (parts[i].separator || '') + part;\n\t\n\t\t if (!isLiteral && (part === '..' || part === '.' || part === 'this')) {\n\t\t if (dig.length > 0) {\n\t\t throw new _exception2['default']('Invalid path: ' + original, { loc: loc });\n\t\t } else if (part === '..') {\n\t\t depth++;\n\t\t depthString += '../';\n\t\t }\n\t\t } else {\n\t\t dig.push(part);\n\t\t }\n\t\t }\n\t\n\t\t return {\n\t\t type: 'PathExpression',\n\t\t data: data,\n\t\t depth: depth,\n\t\t parts: dig,\n\t\t original: original,\n\t\t loc: loc\n\t\t };\n\t\t}\n\t\n\t\tfunction prepareMustache(path, params, hash, open, strip, locInfo) {\n\t\t // Must use charAt to support IE pre-10\n\t\t var escapeFlag = open.charAt(3) || open.charAt(2),\n\t\t escaped = escapeFlag !== '{' && escapeFlag !== '&';\n\t\n\t\t var decorator = /\\*/.test(open);\n\t\t return {\n\t\t type: decorator ? 'Decorator' : 'MustacheStatement',\n\t\t path: path,\n\t\t params: params,\n\t\t hash: hash,\n\t\t escaped: escaped,\n\t\t strip: strip,\n\t\t loc: this.locInfo(locInfo)\n\t\t };\n\t\t}\n\t\n\t\tfunction prepareRawBlock(openRawBlock, contents, close, locInfo) {\n\t\t validateClose(openRawBlock, close);\n\t\n\t\t locInfo = this.locInfo(locInfo);\n\t\t var program = {\n\t\t type: 'Program',\n\t\t body: contents,\n\t\t strip: {},\n\t\t loc: locInfo\n\t\t };\n\t\n\t\t return {\n\t\t type: 'BlockStatement',\n\t\t path: openRawBlock.path,\n\t\t params: openRawBlock.params,\n\t\t hash: openRawBlock.hash,\n\t\t program: program,\n\t\t openStrip: {},\n\t\t inverseStrip: {},\n\t\t closeStrip: {},\n\t\t loc: locInfo\n\t\t };\n\t\t}\n\t\n\t\tfunction prepareBlock(openBlock, program, inverseAndProgram, close, inverted, locInfo) {\n\t\t if (close && close.path) {\n\t\t validateClose(openBlock, close);\n\t\t }\n\t\n\t\t var decorator = /\\*/.test(openBlock.open);\n\t\n\t\t program.blockParams = openBlock.blockParams;\n\t\n\t\t var inverse = undefined,\n\t\t inverseStrip = undefined;\n\t\n\t\t if (inverseAndProgram) {\n\t\t if (decorator) {\n\t\t throw new _exception2['default']('Unexpected inverse block on decorator', inverseAndProgram);\n\t\t }\n\t\n\t\t if (inverseAndProgram.chain) {\n\t\t inverseAndProgram.program.body[0].closeStrip = close.strip;\n\t\t }\n\t\n\t\t inverseStrip = inverseAndProgram.strip;\n\t\t inverse = inverseAndProgram.program;\n\t\t }\n\t\n\t\t if (inverted) {\n\t\t inverted = inverse;\n\t\t inverse = program;\n\t\t program = inverted;\n\t\t }\n\t\n\t\t return {\n\t\t type: decorator ? 'DecoratorBlock' : 'BlockStatement',\n\t\t path: openBlock.path,\n\t\t params: openBlock.params,\n\t\t hash: openBlock.hash,\n\t\t program: program,\n\t\t inverse: inverse,\n\t\t openStrip: openBlock.strip,\n\t\t inverseStrip: inverseStrip,\n\t\t closeStrip: close && close.strip,\n\t\t loc: this.locInfo(locInfo)\n\t\t };\n\t\t}\n\t\n\t\tfunction prepareProgram(statements, loc) {\n\t\t if (!loc && statements.length) {\n\t\t var firstLoc = statements[0].loc,\n\t\t lastLoc = statements[statements.length - 1].loc;\n\t\n\t\t /* istanbul ignore else */\n\t\t if (firstLoc && lastLoc) {\n\t\t loc = {\n\t\t source: firstLoc.source,\n\t\t start: {\n\t\t line: firstLoc.start.line,\n\t\t column: firstLoc.start.column\n\t\t },\n\t\t end: {\n\t\t line: lastLoc.end.line,\n\t\t column: lastLoc.end.column\n\t\t }\n\t\t };\n\t\t }\n\t\t }\n\t\n\t\t return {\n\t\t type: 'Program',\n\t\t body: statements,\n\t\t strip: {},\n\t\t loc: loc\n\t\t };\n\t\t}\n\t\n\t\tfunction preparePartialBlock(open, program, close, locInfo) {\n\t\t validateClose(open, close);\n\t\n\t\t return {\n\t\t type: 'PartialBlockStatement',\n\t\t name: open.path,\n\t\t params: open.params,\n\t\t hash: open.hash,\n\t\t program: program,\n\t\t openStrip: open.strip,\n\t\t closeStrip: close && close.strip,\n\t\t loc: this.locInfo(locInfo)\n\t\t };\n\t\t}\n\t\n\t/***/ }),\n\t/* 41 */\n\t/***/ (function(module, exports, __webpack_require__) {\n\t\n\t\t/* eslint-disable new-cap */\n\t\n\t\t'use strict';\n\t\n\t\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\t\n\t\texports.__esModule = true;\n\t\texports.Compiler = Compiler;\n\t\texports.precompile = precompile;\n\t\texports.compile = compile;\n\t\n\t\tvar _exception = __webpack_require__(6);\n\t\n\t\tvar _exception2 = _interopRequireDefault(_exception);\n\t\n\t\tvar _utils = __webpack_require__(5);\n\t\n\t\tvar _ast = __webpack_require__(35);\n\t\n\t\tvar _ast2 = _interopRequireDefault(_ast);\n\t\n\t\tvar slice = [].slice;\n\t\n\t\tfunction Compiler() {}\n\t\n\t\t// the foundHelper register will disambiguate helper lookup from finding a\n\t\t// function in a context. This is necessary for mustache compatibility, which\n\t\t// requires that context functions in blocks are evaluated by blockHelperMissing,\n\t\t// and then proceed as if the resulting value was provided to blockHelperMissing.\n\t\n\t\tCompiler.prototype = {\n\t\t compiler: Compiler,\n\t\n\t\t equals: function equals(other) {\n\t\t var len = this.opcodes.length;\n\t\t if (other.opcodes.length !== len) {\n\t\t return false;\n\t\t }\n\t\n\t\t for (var i = 0; i < len; i++) {\n\t\t var opcode = this.opcodes[i],\n\t\t otherOpcode = other.opcodes[i];\n\t\t if (opcode.opcode !== otherOpcode.opcode || !argEquals(opcode.args, otherOpcode.args)) {\n\t\t return false;\n\t\t }\n\t\t }\n\t\n\t\t // We know that length is the same between the two arrays because they are directly tied\n\t\t // to the opcode behavior above.\n\t\t len = this.children.length;\n\t\t for (var i = 0; i < len; i++) {\n\t\t if (!this.children[i].equals(other.children[i])) {\n\t\t return false;\n\t\t }\n\t\t }\n\t\n\t\t return true;\n\t\t },\n\t\n\t\t guid: 0,\n\t\n\t\t compile: function compile(program, options) {\n\t\t this.sourceNode = [];\n\t\t this.opcodes = [];\n\t\t this.children = [];\n\t\t this.options = options;\n\t\t this.stringParams = options.stringParams;\n\t\t this.trackIds = options.trackIds;\n\t\n\t\t options.blockParams = options.blockParams || [];\n\t\n\t\t // These changes will propagate to the other compiler components\n\t\t var knownHelpers = options.knownHelpers;\n\t\t options.knownHelpers = {\n\t\t 'helperMissing': true,\n\t\t 'blockHelperMissing': true,\n\t\t 'each': true,\n\t\t 'if': true,\n\t\t 'unless': true,\n\t\t 'with': true,\n\t\t 'log': true,\n\t\t 'lookup': true\n\t\t };\n\t\t if (knownHelpers) {\n\t\t for (var _name in knownHelpers) {\n\t\t /* istanbul ignore else */\n\t\t if (_name in knownHelpers) {\n\t\t this.options.knownHelpers[_name] = knownHelpers[_name];\n\t\t }\n\t\t }\n\t\t }\n\t\n\t\t return this.accept(program);\n\t\t },\n\t\n\t\t compileProgram: function compileProgram(program) {\n\t\t var childCompiler = new this.compiler(),\n\t\t // eslint-disable-line new-cap\n\t\t result = childCompiler.compile(program, this.options),\n\t\t guid = this.guid++;\n\t\n\t\t this.usePartial = this.usePartial || result.usePartial;\n\t\n\t\t this.children[guid] = result;\n\t\t this.useDepths = this.useDepths || result.useDepths;\n\t\n\t\t return guid;\n\t\t },\n\t\n\t\t accept: function accept(node) {\n\t\t /* istanbul ignore next: Sanity code */\n\t\t if (!this[node.type]) {\n\t\t throw new _exception2['default']('Unknown type: ' + node.type, node);\n\t\t }\n\t\n\t\t this.sourceNode.unshift(node);\n\t\t var ret = this[node.type](node);\n\t\t this.sourceNode.shift();\n\t\t return ret;\n\t\t },\n\t\n\t\t Program: function Program(program) {\n\t\t this.options.blockParams.unshift(program.blockParams);\n\t\n\t\t var body = program.body,\n\t\t bodyLength = body.length;\n\t\t for (var i = 0; i < bodyLength; i++) {\n\t\t this.accept(body[i]);\n\t\t }\n\t\n\t\t this.options.blockParams.shift();\n\t\n\t\t this.isSimple = bodyLength === 1;\n\t\t this.blockParams = program.blockParams ? program.blockParams.length : 0;\n\t\n\t\t return this;\n\t\t },\n\t\n\t\t BlockStatement: function BlockStatement(block) {\n\t\t transformLiteralToPath(block);\n\t\n\t\t var program = block.program,\n\t\t inverse = block.inverse;\n\t\n\t\t program = program && this.compileProgram(program);\n\t\t inverse = inverse && this.compileProgram(inverse);\n\t\n\t\t var type = this.classifySexpr(block);\n\t\n\t\t if (type === 'helper') {\n\t\t this.helperSexpr(block, program, inverse);\n\t\t } else if (type === 'simple') {\n\t\t this.simpleSexpr(block);\n\t\n\t\t // now that the simple mustache is resolved, we need to\n\t\t // evaluate it by executing `blockHelperMissing`\n\t\t this.opcode('pushProgram', program);\n\t\t this.opcode('pushProgram', inverse);\n\t\t this.opcode('emptyHash');\n\t\t this.opcode('blockValue', block.path.original);\n\t\t } else {\n\t\t this.ambiguousSexpr(block, program, inverse);\n\t\n\t\t // now that the simple mustache is resolved, we need to\n\t\t // evaluate it by executing `blockHelperMissing`\n\t\t this.opcode('pushProgram', program);\n\t\t this.opcode('pushProgram', inverse);\n\t\t this.opcode('emptyHash');\n\t\t this.opcode('ambiguousBlockValue');\n\t\t }\n\t\n\t\t this.opcode('append');\n\t\t },\n\t\n\t\t DecoratorBlock: function DecoratorBlock(decorator) {\n\t\t var program = decorator.program && this.compileProgram(decorator.program);\n\t\t var params = this.setupFullMustacheParams(decorator, program, undefined),\n\t\t path = decorator.path;\n\t\n\t\t this.useDecorators = true;\n\t\t this.opcode('registerDecorator', params.length, path.original);\n\t\t },\n\t\n\t\t PartialStatement: function PartialStatement(partial) {\n\t\t this.usePartial = true;\n\t\n\t\t var program = partial.program;\n\t\t if (program) {\n\t\t program = this.compileProgram(partial.program);\n\t\t }\n\t\n\t\t var params = partial.params;\n\t\t if (params.length > 1) {\n\t\t throw new _exception2['default']('Unsupported number of partial arguments: ' + params.length, partial);\n\t\t } else if (!params.length) {\n\t\t if (this.options.explicitPartialContext) {\n\t\t this.opcode('pushLiteral', 'undefined');\n\t\t } else {\n\t\t params.push({ type: 'PathExpression', parts: [], depth: 0 });\n\t\t }\n\t\t }\n\t\n\t\t var partialName = partial.name.original,\n\t\t isDynamic = partial.name.type === 'SubExpression';\n\t\t if (isDynamic) {\n\t\t this.accept(partial.name);\n\t\t }\n\t\n\t\t this.setupFullMustacheParams(partial, program, undefined, true);\n\t\n\t\t var indent = partial.indent || '';\n\t\t if (this.options.preventIndent && indent) {\n\t\t this.opcode('appendContent', indent);\n\t\t indent = '';\n\t\t }\n\t\n\t\t this.opcode('invokePartial', isDynamic, partialName, indent);\n\t\t this.opcode('append');\n\t\t },\n\t\t PartialBlockStatement: function PartialBlockStatement(partialBlock) {\n\t\t this.PartialStatement(partialBlock);\n\t\t },\n\t\n\t\t MustacheStatement: function MustacheStatement(mustache) {\n\t\t this.SubExpression(mustache);\n\t\n\t\t if (mustache.escaped && !this.options.noEscape) {\n\t\t this.opcode('appendEscaped');\n\t\t } else {\n\t\t this.opcode('append');\n\t\t }\n\t\t },\n\t\t Decorator: function Decorator(decorator) {\n\t\t this.DecoratorBlock(decorator);\n\t\t },\n\t\n\t\t ContentStatement: function ContentStatement(content) {\n\t\t if (content.value) {\n\t\t this.opcode('appendContent', content.value);\n\t\t }\n\t\t },\n\t\n\t\t CommentStatement: function CommentStatement() {},\n\t\n\t\t SubExpression: function SubExpression(sexpr) {\n\t\t transformLiteralToPath(sexpr);\n\t\t var type = this.classifySexpr(sexpr);\n\t\n\t\t if (type === 'simple') {\n\t\t this.simpleSexpr(sexpr);\n\t\t } else if (type === 'helper') {\n\t\t this.helperSexpr(sexpr);\n\t\t } else {\n\t\t this.ambiguousSexpr(sexpr);\n\t\t }\n\t\t },\n\t\t ambiguousSexpr: function ambiguousSexpr(sexpr, program, inverse) {\n\t\t var path = sexpr.path,\n\t\t name = path.parts[0],\n\t\t isBlock = program != null || inverse != null;\n\t\n\t\t this.opcode('getContext', path.depth);\n\t\n\t\t this.opcode('pushProgram', program);\n\t\t this.opcode('pushProgram', inverse);\n\t\n\t\t path.strict = true;\n\t\t this.accept(path);\n\t\n\t\t this.opcode('invokeAmbiguous', name, isBlock);\n\t\t },\n\t\n\t\t simpleSexpr: function simpleSexpr(sexpr) {\n\t\t var path = sexpr.path;\n\t\t path.strict = true;\n\t\t this.accept(path);\n\t\t this.opcode('resolvePossibleLambda');\n\t\t },\n\t\n\t\t helperSexpr: function helperSexpr(sexpr, program, inverse) {\n\t\t var params = this.setupFullMustacheParams(sexpr, program, inverse),\n\t\t path = sexpr.path,\n\t\t name = path.parts[0];\n\t\n\t\t if (this.options.knownHelpers[name]) {\n\t\t this.opcode('invokeKnownHelper', params.length, name);\n\t\t } else if (this.options.knownHelpersOnly) {\n\t\t throw new _exception2['default']('You specified knownHelpersOnly, but used the unknown helper ' + name, sexpr);\n\t\t } else {\n\t\t path.strict = true;\n\t\t path.falsy = true;\n\t\n\t\t this.accept(path);\n\t\t this.opcode('invokeHelper', params.length, path.original, _ast2['default'].helpers.simpleId(path));\n\t\t }\n\t\t },\n\t\n\t\t PathExpression: function PathExpression(path) {\n\t\t this.addDepth(path.depth);\n\t\t this.opcode('getContext', path.depth);\n\t\n\t\t var name = path.parts[0],\n\t\t scoped = _ast2['default'].helpers.scopedId(path),\n\t\t blockParamId = !path.depth && !scoped && this.blockParamIndex(name);\n\t\n\t\t if (blockParamId) {\n\t\t this.opcode('lookupBlockParam', blockParamId, path.parts);\n\t\t } else if (!name) {\n\t\t // Context reference, i.e. `{{foo .}}` or `{{foo ..}}`\n\t\t this.opcode('pushContext');\n\t\t } else if (path.data) {\n\t\t this.options.data = true;\n\t\t this.opcode('lookupData', path.depth, path.parts, path.strict);\n\t\t } else {\n\t\t this.opcode('lookupOnContext', path.parts, path.falsy, path.strict, scoped);\n\t\t }\n\t\t },\n\t\n\t\t StringLiteral: function StringLiteral(string) {\n\t\t this.opcode('pushString', string.value);\n\t\t },\n\t\n\t\t NumberLiteral: function NumberLiteral(number) {\n\t\t this.opcode('pushLiteral', number.value);\n\t\t },\n\t\n\t\t BooleanLiteral: function BooleanLiteral(bool) {\n\t\t this.opcode('pushLiteral', bool.value);\n\t\t },\n\t\n\t\t UndefinedLiteral: function UndefinedLiteral() {\n\t\t this.opcode('pushLiteral', 'undefined');\n\t\t },\n\t\n\t\t NullLiteral: function NullLiteral() {\n\t\t this.opcode('pushLiteral', 'null');\n\t\t },\n\t\n\t\t Hash: function Hash(hash) {\n\t\t var pairs = hash.pairs,\n\t\t i = 0,\n\t\t l = pairs.length;\n\t\n\t\t this.opcode('pushHash');\n\t\n\t\t for (; i < l; i++) {\n\t\t this.pushParam(pairs[i].value);\n\t\t }\n\t\t while (i--) {\n\t\t this.opcode('assignToHash', pairs[i].key);\n\t\t }\n\t\t this.opcode('popHash');\n\t\t },\n\t\n\t\t // HELPERS\n\t\t opcode: function opcode(name) {\n\t\t this.opcodes.push({ opcode: name, args: slice.call(arguments, 1), loc: this.sourceNode[0].loc });\n\t\t },\n\t\n\t\t addDepth: function addDepth(depth) {\n\t\t if (!depth) {\n\t\t return;\n\t\t }\n\t\n\t\t this.useDepths = true;\n\t\t },\n\t\n\t\t classifySexpr: function classifySexpr(sexpr) {\n\t\t var isSimple = _ast2['default'].helpers.simpleId(sexpr.path);\n\t\n\t\t var isBlockParam = isSimple && !!this.blockParamIndex(sexpr.path.parts[0]);\n\t\n\t\t // a mustache is an eligible helper if:\n\t\t // * its id is simple (a single part, not `this` or `..`)\n\t\t var isHelper = !isBlockParam && _ast2['default'].helpers.helperExpression(sexpr);\n\t\n\t\t // if a mustache is an eligible helper but not a definite\n\t\t // helper, it is ambiguous, and will be resolved in a later\n\t\t // pass or at runtime.\n\t\t var isEligible = !isBlockParam && (isHelper || isSimple);\n\t\n\t\t // if ambiguous, we can possibly resolve the ambiguity now\n\t\t // An eligible helper is one that does not have a complex path, i.e. `this.foo`, `../foo` etc.\n\t\t if (isEligible && !isHelper) {\n\t\t var _name2 = sexpr.path.parts[0],\n\t\t options = this.options;\n\t\n\t\t if (options.knownHelpers[_name2]) {\n\t\t isHelper = true;\n\t\t } else if (options.knownHelpersOnly) {\n\t\t isEligible = false;\n\t\t }\n\t\t }\n\t\n\t\t if (isHelper) {\n\t\t return 'helper';\n\t\t } else if (isEligible) {\n\t\t return 'ambiguous';\n\t\t } else {\n\t\t return 'simple';\n\t\t }\n\t\t },\n\t\n\t\t pushParams: function pushParams(params) {\n\t\t for (var i = 0, l = params.length; i < l; i++) {\n\t\t this.pushParam(params[i]);\n\t\t }\n\t\t },\n\t\n\t\t pushParam: function pushParam(val) {\n\t\t var value = val.value != null ? val.value : val.original || '';\n\t\n\t\t if (this.stringParams) {\n\t\t if (value.replace) {\n\t\t value = value.replace(/^(\\.?\\.\\/)*/g, '').replace(/\\//g, '.');\n\t\t }\n\t\n\t\t if (val.depth) {\n\t\t this.addDepth(val.depth);\n\t\t }\n\t\t this.opcode('getContext', val.depth || 0);\n\t\t this.opcode('pushStringParam', value, val.type);\n\t\n\t\t if (val.type === 'SubExpression') {\n\t\t // SubExpressions get evaluated and passed in\n\t\t // in string params mode.\n\t\t this.accept(val);\n\t\t }\n\t\t } else {\n\t\t if (this.trackIds) {\n\t\t var blockParamIndex = undefined;\n\t\t if (val.parts && !_ast2['default'].helpers.scopedId(val) && !val.depth) {\n\t\t blockParamIndex = this.blockParamIndex(val.parts[0]);\n\t\t }\n\t\t if (blockParamIndex) {\n\t\t var blockParamChild = val.parts.slice(1).join('.');\n\t\t this.opcode('pushId', 'BlockParam', blockParamIndex, blockParamChild);\n\t\t } else {\n\t\t value = val.original || value;\n\t\t if (value.replace) {\n\t\t value = value.replace(/^this(?:\\.|$)/, '').replace(/^\\.\\//, '').replace(/^\\.$/, '');\n\t\t }\n\t\n\t\t this.opcode('pushId', val.type, value);\n\t\t }\n\t\t }\n\t\t this.accept(val);\n\t\t }\n\t\t },\n\t\n\t\t setupFullMustacheParams: function setupFullMustacheParams(sexpr, program, inverse, omitEmpty) {\n\t\t var params = sexpr.params;\n\t\t this.pushParams(params);\n\t\n\t\t this.opcode('pushProgram', program);\n\t\t this.opcode('pushProgram', inverse);\n\t\n\t\t if (sexpr.hash) {\n\t\t this.accept(sexpr.hash);\n\t\t } else {\n\t\t this.opcode('emptyHash', omitEmpty);\n\t\t }\n\t\n\t\t return params;\n\t\t },\n\t\n\t\t blockParamIndex: function blockParamIndex(name) {\n\t\t for (var depth = 0, len = this.options.blockParams.length; depth < len; depth++) {\n\t\t var blockParams = this.options.blockParams[depth],\n\t\t param = blockParams && _utils.indexOf(blockParams, name);\n\t\t if (blockParams && param >= 0) {\n\t\t return [depth, param];\n\t\t }\n\t\t }\n\t\t }\n\t\t};\n\t\n\t\tfunction precompile(input, options, env) {\n\t\t if (input == null || typeof input !== 'string' && input.type !== 'Program') {\n\t\t throw new _exception2['default']('You must pass a string or Handlebars AST to Handlebars.precompile. You passed ' + input);\n\t\t }\n\t\n\t\t options = options || {};\n\t\t if (!('data' in options)) {\n\t\t options.data = true;\n\t\t }\n\t\t if (options.compat) {\n\t\t options.useDepths = true;\n\t\t }\n\t\n\t\t var ast = env.parse(input, options),\n\t\t environment = new env.Compiler().compile(ast, options);\n\t\t return new env.JavaScriptCompiler().compile(environment, options);\n\t\t}\n\t\n\t\tfunction compile(input, options, env) {\n\t\t if (options === undefined) options = {};\n\t\n\t\t if (input == null || typeof input !== 'string' && input.type !== 'Program') {\n\t\t throw new _exception2['default']('You must pass a string or Handlebars AST to Handlebars.compile. You passed ' + input);\n\t\t }\n\t\n\t\t options = _utils.extend({}, options);\n\t\t if (!('data' in options)) {\n\t\t options.data = true;\n\t\t }\n\t\t if (options.compat) {\n\t\t options.useDepths = true;\n\t\t }\n\t\n\t\t var compiled = undefined;\n\t\n\t\t function compileInput() {\n\t\t var ast = env.parse(input, options),\n\t\t environment = new env.Compiler().compile(ast, options),\n\t\t templateSpec = new env.JavaScriptCompiler().compile(environment, options, undefined, true);\n\t\t return env.template(templateSpec);\n\t\t }\n\t\n\t\t // Template is only compiled on first use and cached after that point.\n\t\t function ret(context, execOptions) {\n\t\t if (!compiled) {\n\t\t compiled = compileInput();\n\t\t }\n\t\t return compiled.call(this, context, execOptions);\n\t\t }\n\t\t ret._setup = function (setupOptions) {\n\t\t if (!compiled) {\n\t\t compiled = compileInput();\n\t\t }\n\t\t return compiled._setup(setupOptions);\n\t\t };\n\t\t ret._child = function (i, data, blockParams, depths) {\n\t\t if (!compiled) {\n\t\t compiled = compileInput();\n\t\t }\n\t\t return compiled._child(i, data, blockParams, depths);\n\t\t };\n\t\t return ret;\n\t\t}\n\t\n\t\tfunction argEquals(a, b) {\n\t\t if (a === b) {\n\t\t return true;\n\t\t }\n\t\n\t\t if (_utils.isArray(a) && _utils.isArray(b) && a.length === b.length) {\n\t\t for (var i = 0; i < a.length; i++) {\n\t\t if (!argEquals(a[i], b[i])) {\n\t\t return false;\n\t\t }\n\t\t }\n\t\t return true;\n\t\t }\n\t\t}\n\t\n\t\tfunction transformLiteralToPath(sexpr) {\n\t\t if (!sexpr.path.parts) {\n\t\t var literal = sexpr.path;\n\t\t // Casting to string here to make false and 0 literal values play nicely with the rest\n\t\t // of the system.\n\t\t sexpr.path = {\n\t\t type: 'PathExpression',\n\t\t data: false,\n\t\t depth: 0,\n\t\t parts: [literal.original + ''],\n\t\t original: literal.original + '',\n\t\t loc: literal.loc\n\t\t };\n\t\t }\n\t\t}\n\t\n\t/***/ }),\n\t/* 42 */\n\t/***/ (function(module, exports, __webpack_require__) {\n\t\n\t\t'use strict';\n\t\n\t\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\t\n\t\texports.__esModule = true;\n\t\n\t\tvar _base = __webpack_require__(4);\n\t\n\t\tvar _exception = __webpack_require__(6);\n\t\n\t\tvar _exception2 = _interopRequireDefault(_exception);\n\t\n\t\tvar _utils = __webpack_require__(5);\n\t\n\t\tvar _codeGen = __webpack_require__(43);\n\t\n\t\tvar _codeGen2 = _interopRequireDefault(_codeGen);\n\t\n\t\tfunction Literal(value) {\n\t\t this.value = value;\n\t\t}\n\t\n\t\tfunction JavaScriptCompiler() {}\n\t\n\t\tJavaScriptCompiler.prototype = {\n\t\t // PUBLIC API: You can override these methods in a subclass to provide\n\t\t // alternative compiled forms for name lookup and buffering semantics\n\t\t nameLookup: function nameLookup(parent, name /* , type*/) {\n\t\t if (JavaScriptCompiler.isValidJavaScriptVariableName(name)) {\n\t\t return [parent, '.', name];\n\t\t } else {\n\t\t return [parent, '[', JSON.stringify(name), ']'];\n\t\t }\n\t\t },\n\t\t depthedLookup: function depthedLookup(name) {\n\t\t return [this.aliasable('container.lookup'), '(depths, \"', name, '\")'];\n\t\t },\n\t\n\t\t compilerInfo: function compilerInfo() {\n\t\t var revision = _base.COMPILER_REVISION,\n\t\t versions = _base.REVISION_CHANGES[revision];\n\t\t return [revision, versions];\n\t\t },\n\t\n\t\t appendToBuffer: function appendToBuffer(source, location, explicit) {\n\t\t // Force a source as this simplifies the merge logic.\n\t\t if (!_utils.isArray(source)) {\n\t\t source = [source];\n\t\t }\n\t\t source = this.source.wrap(source, location);\n\t\n\t\t if (this.environment.isSimple) {\n\t\t return ['return ', source, ';'];\n\t\t } else if (explicit) {\n\t\t // This is a case where the buffer operation occurs as a child of another\n\t\t // construct, generally braces. We have to explicitly output these buffer\n\t\t // operations to ensure that the emitted code goes in the correct location.\n\t\t return ['buffer += ', source, ';'];\n\t\t } else {\n\t\t source.appendToBuffer = true;\n\t\t return source;\n\t\t }\n\t\t },\n\t\n\t\t initializeBuffer: function initializeBuffer() {\n\t\t return this.quotedString('');\n\t\t },\n\t\t // END PUBLIC API\n\t\n\t\t compile: function compile(environment, options, context, asObject) {\n\t\t this.environment = environment;\n\t\t this.options = options;\n\t\t this.stringParams = this.options.stringParams;\n\t\t this.trackIds = this.options.trackIds;\n\t\t this.precompile = !asObject;\n\t\n\t\t this.name = this.environment.name;\n\t\t this.isChild = !!context;\n\t\t this.context = context || {\n\t\t decorators: [],\n\t\t programs: [],\n\t\t environments: []\n\t\t };\n\t\n\t\t this.preamble();\n\t\n\t\t this.stackSlot = 0;\n\t\t this.stackVars = [];\n\t\t this.aliases = {};\n\t\t this.registers = { list: [] };\n\t\t this.hashes = [];\n\t\t this.compileStack = [];\n\t\t this.inlineStack = [];\n\t\t this.blockParams = [];\n\t\n\t\t this.compileChildren(environment, options);\n\t\n\t\t this.useDepths = this.useDepths || environment.useDepths || environment.useDecorators || this.options.compat;\n\t\t this.useBlockParams = this.useBlockParams || environment.useBlockParams;\n\t\n\t\t var opcodes = environment.opcodes,\n\t\t opcode = undefined,\n\t\t firstLoc = undefined,\n\t\t i = undefined,\n\t\t l = undefined;\n\t\n\t\t for (i = 0, l = opcodes.length; i < l; i++) {\n\t\t opcode = opcodes[i];\n\t\n\t\t this.source.currentLocation = opcode.loc;\n\t\t firstLoc = firstLoc || opcode.loc;\n\t\t this[opcode.opcode].apply(this, opcode.args);\n\t\t }\n\t\n\t\t // Flush any trailing content that might be pending.\n\t\t this.source.currentLocation = firstLoc;\n\t\t this.pushSource('');\n\t\n\t\t /* istanbul ignore next */\n\t\t if (this.stackSlot || this.inlineStack.length || this.compileStack.length) {\n\t\t throw new _exception2['default']('Compile completed with content left on stack');\n\t\t }\n\t\n\t\t if (!this.decorators.isEmpty()) {\n\t\t this.useDecorators = true;\n\t\n\t\t this.decorators.prepend('var decorators = container.decorators;\\n');\n\t\t this.decorators.push('return fn;');\n\t\n\t\t if (asObject) {\n\t\t this.decorators = Function.apply(this, ['fn', 'props', 'container', 'depth0', 'data', 'blockParams', 'depths', this.decorators.merge()]);\n\t\t } else {\n\t\t this.decorators.prepend('function(fn, props, container, depth0, data, blockParams, depths) {\\n');\n\t\t this.decorators.push('}\\n');\n\t\t this.decorators = this.decorators.merge();\n\t\t }\n\t\t } else {\n\t\t this.decorators = undefined;\n\t\t }\n\t\n\t\t var fn = this.createFunctionContext(asObject);\n\t\t if (!this.isChild) {\n\t\t var ret = {\n\t\t compiler: this.compilerInfo(),\n\t\t main: fn\n\t\t };\n\t\n\t\t if (this.decorators) {\n\t\t ret.main_d = this.decorators; // eslint-disable-line camelcase\n\t\t ret.useDecorators = true;\n\t\t }\n\t\n\t\t var _context = this.context;\n\t\t var programs = _context.programs;\n\t\t var decorators = _context.decorators;\n\t\n\t\t for (i = 0, l = programs.length; i < l; i++) {\n\t\t if (programs[i]) {\n\t\t ret[i] = programs[i];\n\t\t if (decorators[i]) {\n\t\t ret[i + '_d'] = decorators[i];\n\t\t ret.useDecorators = true;\n\t\t }\n\t\t }\n\t\t }\n\t\n\t\t if (this.environment.usePartial) {\n\t\t ret.usePartial = true;\n\t\t }\n\t\t if (this.options.data) {\n\t\t ret.useData = true;\n\t\t }\n\t\t if (this.useDepths) {\n\t\t ret.useDepths = true;\n\t\t }\n\t\t if (this.useBlockParams) {\n\t\t ret.useBlockParams = true;\n\t\t }\n\t\t if (this.options.compat) {\n\t\t ret.compat = true;\n\t\t }\n\t\n\t\t if (!asObject) {\n\t\t ret.compiler = JSON.stringify(ret.compiler);\n\t\n\t\t this.source.currentLocation = { start: { line: 1, column: 0 } };\n\t\t ret = this.objectLiteral(ret);\n\t\n\t\t if (options.srcName) {\n\t\t ret = ret.toStringWithSourceMap({ file: options.destName });\n\t\t ret.map = ret.map && ret.map.toString();\n\t\t } else {\n\t\t ret = ret.toString();\n\t\t }\n\t\t } else {\n\t\t ret.compilerOptions = this.options;\n\t\t }\n\t\n\t\t return ret;\n\t\t } else {\n\t\t return fn;\n\t\t }\n\t\t },\n\t\n\t\t preamble: function preamble() {\n\t\t // track the last context pushed into place to allow skipping the\n\t\t // getContext opcode when it would be a noop\n\t\t this.lastContext = 0;\n\t\t this.source = new _codeGen2['default'](this.options.srcName);\n\t\t this.decorators = new _codeGen2['default'](this.options.srcName);\n\t\t },\n\t\n\t\t createFunctionContext: function createFunctionContext(asObject) {\n\t\t var varDeclarations = '';\n\t\n\t\t var locals = this.stackVars.concat(this.registers.list);\n\t\t if (locals.length > 0) {\n\t\t varDeclarations += ', ' + locals.join(', ');\n\t\t }\n\t\n\t\t // Generate minimizer alias mappings\n\t\t //\n\t\t // When using true SourceNodes, this will update all references to the given alias\n\t\t // as the source nodes are reused in situ. For the non-source node compilation mode,\n\t\t // aliases will not be used, but this case is already being run on the client and\n\t\t // we aren't concern about minimizing the template size.\n\t\t var aliasCount = 0;\n\t\t for (var alias in this.aliases) {\n\t\t // eslint-disable-line guard-for-in\n\t\t var node = this.aliases[alias];\n\t\n\t\t if (this.aliases.hasOwnProperty(alias) && node.children && node.referenceCount > 1) {\n\t\t varDeclarations += ', alias' + ++aliasCount + '=' + alias;\n\t\t node.children[0] = 'alias' + aliasCount;\n\t\t }\n\t\t }\n\t\n\t\t var params = ['container', 'depth0', 'helpers', 'partials', 'data'];\n\t\n\t\t if (this.useBlockParams || this.useDepths) {\n\t\t params.push('blockParams');\n\t\t }\n\t\t if (this.useDepths) {\n\t\t params.push('depths');\n\t\t }\n\t\n\t\t // Perform a second pass over the output to merge content when possible\n\t\t var source = this.mergeSource(varDeclarations);\n\t\n\t\t if (asObject) {\n\t\t params.push(source);\n\t\n\t\t return Function.apply(this, params);\n\t\t } else {\n\t\t return this.source.wrap(['function(', params.join(','), ') {\\n ', source, '}']);\n\t\t }\n\t\t },\n\t\t mergeSource: function mergeSource(varDeclarations) {\n\t\t var isSimple = this.environment.isSimple,\n\t\t appendOnly = !this.forceBuffer,\n\t\t appendFirst = undefined,\n\t\t sourceSeen = undefined,\n\t\t bufferStart = undefined,\n\t\t bufferEnd = undefined;\n\t\t this.source.each(function (line) {\n\t\t if (line.appendToBuffer) {\n\t\t if (bufferStart) {\n\t\t line.prepend(' + ');\n\t\t } else {\n\t\t bufferStart = line;\n\t\t }\n\t\t bufferEnd = line;\n\t\t } else {\n\t\t if (bufferStart) {\n\t\t if (!sourceSeen) {\n\t\t appendFirst = true;\n\t\t } else {\n\t\t bufferStart.prepend('buffer += ');\n\t\t }\n\t\t bufferEnd.add(';');\n\t\t bufferStart = bufferEnd = undefined;\n\t\t }\n\t\n\t\t sourceSeen = true;\n\t\t if (!isSimple) {\n\t\t appendOnly = false;\n\t\t }\n\t\t }\n\t\t });\n\t\n\t\t if (appendOnly) {\n\t\t if (bufferStart) {\n\t\t bufferStart.prepend('return ');\n\t\t bufferEnd.add(';');\n\t\t } else if (!sourceSeen) {\n\t\t this.source.push('return \"\";');\n\t\t }\n\t\t } else {\n\t\t varDeclarations += ', buffer = ' + (appendFirst ? '' : this.initializeBuffer());\n\t\n\t\t if (bufferStart) {\n\t\t bufferStart.prepend('return buffer + ');\n\t\t bufferEnd.add(';');\n\t\t } else {\n\t\t this.source.push('return buffer;');\n\t\t }\n\t\t }\n\t\n\t\t if (varDeclarations) {\n\t\t this.source.prepend('var ' + varDeclarations.substring(2) + (appendFirst ? '' : ';\\n'));\n\t\t }\n\t\n\t\t return this.source.merge();\n\t\t },\n\t\n\t\t // [blockValue]\n\t\t //\n\t\t // On stack, before: hash, inverse, program, value\n\t\t // On stack, after: return value of blockHelperMissing\n\t\t //\n\t\t // The purpose of this opcode is to take a block of the form\n\t\t // `{{#this.foo}}...{{/this.foo}}`, resolve the value of `foo`, and\n\t\t // replace it on the stack with the result of properly\n\t\t // invoking blockHelperMissing.\n\t\t blockValue: function blockValue(name) {\n\t\t var blockHelperMissing = this.aliasable('helpers.blockHelperMissing'),\n\t\t params = [this.contextName(0)];\n\t\t this.setupHelperArgs(name, 0, params);\n\t\n\t\t var blockName = this.popStack();\n\t\t params.splice(1, 0, blockName);\n\t\n\t\t this.push(this.source.functionCall(blockHelperMissing, 'call', params));\n\t\t },\n\t\n\t\t // [ambiguousBlockValue]\n\t\t //\n\t\t // On stack, before: hash, inverse, program, value\n\t\t // Compiler value, before: lastHelper=value of last found helper, if any\n\t\t // On stack, after, if no lastHelper: same as [blockValue]\n\t\t // On stack, after, if lastHelper: value\n\t\t ambiguousBlockValue: function ambiguousBlockValue() {\n\t\t // We're being a bit cheeky and reusing the options value from the prior exec\n\t\t var blockHelperMissing = this.aliasable('helpers.blockHelperMissing'),\n\t\t params = [this.contextName(0)];\n\t\t this.setupHelperArgs('', 0, params, true);\n\t\n\t\t this.flushInline();\n\t\n\t\t var current = this.topStack();\n\t\t params.splice(1, 0, current);\n\t\n\t\t this.pushSource(['if (!', this.lastHelper, ') { ', current, ' = ', this.source.functionCall(blockHelperMissing, 'call', params), '}']);\n\t\t },\n\t\n\t\t // [appendContent]\n\t\t //\n\t\t // On stack, before: ...\n\t\t // On stack, after: ...\n\t\t //\n\t\t // Appends the string value of `content` to the current buffer\n\t\t appendContent: function appendContent(content) {\n\t\t if (this.pendingContent) {\n\t\t content = this.pendingContent + content;\n\t\t } else {\n\t\t this.pendingLocation = this.source.currentLocation;\n\t\t }\n\t\n\t\t this.pendingContent = content;\n\t\t },\n\t\n\t\t // [append]\n\t\t //\n\t\t // On stack, before: value, ...\n\t\t // On stack, after: ...\n\t\t //\n\t\t // Coerces `value` to a String and appends it to the current buffer.\n\t\t //\n\t\t // If `value` is truthy, or 0, it is coerced into a string and appended\n\t\t // Otherwise, the empty string is appended\n\t\t append: function append() {\n\t\t if (this.isInline()) {\n\t\t this.replaceStack(function (current) {\n\t\t return [' != null ? ', current, ' : \"\"'];\n\t\t });\n\t\n\t\t this.pushSource(this.appendToBuffer(this.popStack()));\n\t\t } else {\n\t\t var local = this.popStack();\n\t\t this.pushSource(['if (', local, ' != null) { ', this.appendToBuffer(local, undefined, true), ' }']);\n\t\t if (this.environment.isSimple) {\n\t\t this.pushSource(['else { ', this.appendToBuffer(\"''\", undefined, true), ' }']);\n\t\t }\n\t\t }\n\t\t },\n\t\n\t\t // [appendEscaped]\n\t\t //\n\t\t // On stack, before: value, ...\n\t\t // On stack, after: ...\n\t\t //\n\t\t // Escape `value` and append it to the buffer\n\t\t appendEscaped: function appendEscaped() {\n\t\t this.pushSource(this.appendToBuffer([this.aliasable('container.escapeExpression'), '(', this.popStack(), ')']));\n\t\t },\n\t\n\t\t // [getContext]\n\t\t //\n\t\t // On stack, before: ...\n\t\t // On stack, after: ...\n\t\t // Compiler value, after: lastContext=depth\n\t\t //\n\t\t // Set the value of the `lastContext` compiler value to the depth\n\t\t getContext: function getContext(depth) {\n\t\t this.lastContext = depth;\n\t\t },\n\t\n\t\t // [pushContext]\n\t\t //\n\t\t // On stack, before: ...\n\t\t // On stack, after: currentContext, ...\n\t\t //\n\t\t // Pushes the value of the current context onto the stack.\n\t\t pushContext: function pushContext() {\n\t\t this.pushStackLiteral(this.contextName(this.lastContext));\n\t\t },\n\t\n\t\t // [lookupOnContext]\n\t\t //\n\t\t // On stack, before: ...\n\t\t // On stack, after: currentContext[name], ...\n\t\t //\n\t\t // Looks up the value of `name` on the current context and pushes\n\t\t // it onto the stack.\n\t\t lookupOnContext: function lookupOnContext(parts, falsy, strict, scoped) {\n\t\t var i = 0;\n\t\n\t\t if (!scoped && this.options.compat && !this.lastContext) {\n\t\t // The depthed query is expected to handle the undefined logic for the root level that\n\t\t // is implemented below, so we evaluate that directly in compat mode\n\t\t this.push(this.depthedLookup(parts[i++]));\n\t\t } else {\n\t\t this.pushContext();\n\t\t }\n\t\n\t\t this.resolvePath('context', parts, i, falsy, strict);\n\t\t },\n\t\n\t\t // [lookupBlockParam]\n\t\t //\n\t\t // On stack, before: ...\n\t\t // On stack, after: blockParam[name], ...\n\t\t //\n\t\t // Looks up the value of `parts` on the given block param and pushes\n\t\t // it onto the stack.\n\t\t lookupBlockParam: function lookupBlockParam(blockParamId, parts) {\n\t\t this.useBlockParams = true;\n\t\n\t\t this.push(['blockParams[', blockParamId[0], '][', blockParamId[1], ']']);\n\t\t this.resolvePath('context', parts, 1);\n\t\t },\n\t\n\t\t // [lookupData]\n\t\t //\n\t\t // On stack, before: ...\n\t\t // On stack, after: data, ...\n\t\t //\n\t\t // Push the data lookup operator\n\t\t lookupData: function lookupData(depth, parts, strict) {\n\t\t if (!depth) {\n\t\t this.pushStackLiteral('data');\n\t\t } else {\n\t\t this.pushStackLiteral('container.data(data, ' + depth + ')');\n\t\t }\n\t\n\t\t this.resolvePath('data', parts, 0, true, strict);\n\t\t },\n\t\n\t\t resolvePath: function resolvePath(type, parts, i, falsy, strict) {\n\t\t // istanbul ignore next\n\t\n\t\t var _this = this;\n\t\n\t\t if (this.options.strict || this.options.assumeObjects) {\n\t\t this.push(strictLookup(this.options.strict && strict, this, parts, type));\n\t\t return;\n\t\t }\n\t\n\t\t var len = parts.length;\n\t\t for (; i < len; i++) {\n\t\t /* eslint-disable no-loop-func */\n\t\t this.replaceStack(function (current) {\n\t\t var lookup = _this.nameLookup(current, parts[i], type);\n\t\t // We want to ensure that zero and false are handled properly if the context (falsy flag)\n\t\t // needs to have the special handling for these values.\n\t\t if (!falsy) {\n\t\t return [' != null ? ', lookup, ' : ', current];\n\t\t } else {\n\t\t // Otherwise we can use generic falsy handling\n\t\t return [' && ', lookup];\n\t\t }\n\t\t });\n\t\t /* eslint-enable no-loop-func */\n\t\t }\n\t\t },\n\t\n\t\t // [resolvePossibleLambda]\n\t\t //\n\t\t // On stack, before: value, ...\n\t\t // On stack, after: resolved value, ...\n\t\t //\n\t\t // If the `value` is a lambda, replace it on the stack by\n\t\t // the return value of the lambda\n\t\t resolvePossibleLambda: function resolvePossibleLambda() {\n\t\t this.push([this.aliasable('container.lambda'), '(', this.popStack(), ', ', this.contextName(0), ')']);\n\t\t },\n\t\n\t\t // [pushStringParam]\n\t\t //\n\t\t // On stack, before: ...\n\t\t // On stack, after: string, currentContext, ...\n\t\t //\n\t\t // This opcode is designed for use in string mode, which\n\t\t // provides the string value of a parameter along with its\n\t\t // depth rather than resolving it immediately.\n\t\t pushStringParam: function pushStringParam(string, type) {\n\t\t this.pushContext();\n\t\t this.pushString(type);\n\t\n\t\t // If it's a subexpression, the string result\n\t\t // will be pushed after this opcode.\n\t\t if (type !== 'SubExpression') {\n\t\t if (typeof string === 'string') {\n\t\t this.pushString(string);\n\t\t } else {\n\t\t this.pushStackLiteral(string);\n\t\t }\n\t\t }\n\t\t },\n\t\n\t\t emptyHash: function emptyHash(omitEmpty) {\n\t\t if (this.trackIds) {\n\t\t this.push('{}'); // hashIds\n\t\t }\n\t\t if (this.stringParams) {\n\t\t this.push('{}'); // hashContexts\n\t\t this.push('{}'); // hashTypes\n\t\t }\n\t\t this.pushStackLiteral(omitEmpty ? 'undefined' : '{}');\n\t\t },\n\t\t pushHash: function pushHash() {\n\t\t if (this.hash) {\n\t\t this.hashes.push(this.hash);\n\t\t }\n\t\t this.hash = { values: [], types: [], contexts: [], ids: [] };\n\t\t },\n\t\t popHash: function popHash() {\n\t\t var hash = this.hash;\n\t\t this.hash = this.hashes.pop();\n\t\n\t\t if (this.trackIds) {\n\t\t this.push(this.objectLiteral(hash.ids));\n\t\t }\n\t\t if (this.stringParams) {\n\t\t this.push(this.objectLiteral(hash.contexts));\n\t\t this.push(this.objectLiteral(hash.types));\n\t\t }\n\t\n\t\t this.push(this.objectLiteral(hash.values));\n\t\t },\n\t\n\t\t // [pushString]\n\t\t //\n\t\t // On stack, before: ...\n\t\t // On stack, after: quotedString(string), ...\n\t\t //\n\t\t // Push a quoted version of `string` onto the stack\n\t\t pushString: function pushString(string) {\n\t\t this.pushStackLiteral(this.quotedString(string));\n\t\t },\n\t\n\t\t // [pushLiteral]\n\t\t //\n\t\t // On stack, before: ...\n\t\t // On stack, after: value, ...\n\t\t //\n\t\t // Pushes a value onto the stack. This operation prevents\n\t\t // the compiler from creating a temporary variable to hold\n\t\t // it.\n\t\t pushLiteral: function pushLiteral(value) {\n\t\t this.pushStackLiteral(value);\n\t\t },\n\t\n\t\t // [pushProgram]\n\t\t //\n\t\t // On stack, before: ...\n\t\t // On stack, after: program(guid), ...\n\t\t //\n\t\t // Push a program expression onto the stack. This takes\n\t\t // a compile-time guid and converts it into a runtime-accessible\n\t\t // expression.\n\t\t pushProgram: function pushProgram(guid) {\n\t\t if (guid != null) {\n\t\t this.pushStackLiteral(this.programExpression(guid));\n\t\t } else {\n\t\t this.pushStackLiteral(null);\n\t\t }\n\t\t },\n\t\n\t\t // [registerDecorator]\n\t\t //\n\t\t // On stack, before: hash, program, params..., ...\n\t\t // On stack, after: ...\n\t\t //\n\t\t // Pops off the decorator's parameters, invokes the decorator,\n\t\t // and inserts the decorator into the decorators list.\n\t\t registerDecorator: function registerDecorator(paramSize, name) {\n\t\t var foundDecorator = this.nameLookup('decorators', name, 'decorator'),\n\t\t options = this.setupHelperArgs(name, paramSize);\n\t\n\t\t this.decorators.push(['fn = ', this.decorators.functionCall(foundDecorator, '', ['fn', 'props', 'container', options]), ' || fn;']);\n\t\t },\n\t\n\t\t // [invokeHelper]\n\t\t //\n\t\t // On stack, before: hash, inverse, program, params..., ...\n\t\t // On stack, after: result of helper invocation\n\t\t //\n\t\t // Pops off the helper's parameters, invokes the helper,\n\t\t // and pushes the helper's return value onto the stack.\n\t\t //\n\t\t // If the helper is not found, `helperMissing` is called.\n\t\t invokeHelper: function invokeHelper(paramSize, name, isSimple) {\n\t\t var nonHelper = this.popStack(),\n\t\t helper = this.setupHelper(paramSize, name),\n\t\t simple = isSimple ? [helper.name, ' || '] : '';\n\t\n\t\t var lookup = ['('].concat(simple, nonHelper);\n\t\t if (!this.options.strict) {\n\t\t lookup.push(' || ', this.aliasable('helpers.helperMissing'));\n\t\t }\n\t\t lookup.push(')');\n\t\n\t\t this.push(this.source.functionCall(lookup, 'call', helper.callParams));\n\t\t },\n\t\n\t\t // [invokeKnownHelper]\n\t\t //\n\t\t // On stack, before: hash, inverse, program, params..., ...\n\t\t // On stack, after: result of helper invocation\n\t\t //\n\t\t // This operation is used when the helper is known to exist,\n\t\t // so a `helperMissing` fallback is not required.\n\t\t invokeKnownHelper: function invokeKnownHelper(paramSize, name) {\n\t\t var helper = this.setupHelper(paramSize, name);\n\t\t this.push(this.source.functionCall(helper.name, 'call', helper.callParams));\n\t\t },\n\t\n\t\t // [invokeAmbiguous]\n\t\t //\n\t\t // On stack, before: hash, inverse, program, params..., ...\n\t\t // On stack, after: result of disambiguation\n\t\t //\n\t\t // This operation is used when an expression like `{{foo}}`\n\t\t // is provided, but we don't know at compile-time whether it\n\t\t // is a helper or a path.\n\t\t //\n\t\t // This operation emits more code than the other options,\n\t\t // and can be avoided by passing the `knownHelpers` and\n\t\t // `knownHelpersOnly` flags at compile-time.\n\t\t invokeAmbiguous: function invokeAmbiguous(name, helperCall) {\n\t\t this.useRegister('helper');\n\t\n\t\t var nonHelper = this.popStack();\n\t\n\t\t this.emptyHash();\n\t\t var helper = this.setupHelper(0, name, helperCall);\n\t\n\t\t var helperName = this.lastHelper = this.nameLookup('helpers', name, 'helper');\n\t\n\t\t var lookup = ['(', '(helper = ', helperName, ' || ', nonHelper, ')'];\n\t\t if (!this.options.strict) {\n\t\t lookup[0] = '(helper = ';\n\t\t lookup.push(' != null ? helper : ', this.aliasable('helpers.helperMissing'));\n\t\t }\n\t\n\t\t this.push(['(', lookup, helper.paramsInit ? ['),(', helper.paramsInit] : [], '),', '(typeof helper === ', this.aliasable('\"function\"'), ' ? ', this.source.functionCall('helper', 'call', helper.callParams), ' : helper))']);\n\t\t },\n\t\n\t\t // [invokePartial]\n\t\t //\n\t\t // On stack, before: context, ...\n\t\t // On stack after: result of partial invocation\n\t\t //\n\t\t // This operation pops off a context, invokes a partial with that context,\n\t\t // and pushes the result of the invocation back.\n\t\t invokePartial: function invokePartial(isDynamic, name, indent) {\n\t\t var params = [],\n\t\t options = this.setupParams(name, 1, params);\n\t\n\t\t if (isDynamic) {\n\t\t name = this.popStack();\n\t\t delete options.name;\n\t\t }\n\t\n\t\t if (indent) {\n\t\t options.indent = JSON.stringify(indent);\n\t\t }\n\t\t options.helpers = 'helpers';\n\t\t options.partials = 'partials';\n\t\t options.decorators = 'container.decorators';\n\t\n\t\t if (!isDynamic) {\n\t\t params.unshift(this.nameLookup('partials', name, 'partial'));\n\t\t } else {\n\t\t params.unshift(name);\n\t\t }\n\t\n\t\t if (this.options.compat) {\n\t\t options.depths = 'depths';\n\t\t }\n\t\t options = this.objectLiteral(options);\n\t\t params.push(options);\n\t\n\t\t this.push(this.source.functionCall('container.invokePartial', '', params));\n\t\t },\n\t\n\t\t // [assignToHash]\n\t\t //\n\t\t // On stack, before: value, ..., hash, ...\n\t\t // On stack, after: ..., hash, ...\n\t\t //\n\t\t // Pops a value off the stack and assigns it to the current hash\n\t\t assignToHash: function assignToHash(key) {\n\t\t var value = this.popStack(),\n\t\t context = undefined,\n\t\t type = undefined,\n\t\t id = undefined;\n\t\n\t\t if (this.trackIds) {\n\t\t id = this.popStack();\n\t\t }\n\t\t if (this.stringParams) {\n\t\t type = this.popStack();\n\t\t context = this.popStack();\n\t\t }\n\t\n\t\t var hash = this.hash;\n\t\t if (context) {\n\t\t hash.contexts[key] = context;\n\t\t }\n\t\t if (type) {\n\t\t hash.types[key] = type;\n\t\t }\n\t\t if (id) {\n\t\t hash.ids[key] = id;\n\t\t }\n\t\t hash.values[key] = value;\n\t\t },\n\t\n\t\t pushId: function pushId(type, name, child) {\n\t\t if (type === 'BlockParam') {\n\t\t this.pushStackLiteral('blockParams[' + name[0] + '].path[' + name[1] + ']' + (child ? ' + ' + JSON.stringify('.' + child) : ''));\n\t\t } else if (type === 'PathExpression') {\n\t\t this.pushString(name);\n\t\t } else if (type === 'SubExpression') {\n\t\t this.pushStackLiteral('true');\n\t\t } else {\n\t\t this.pushStackLiteral('null');\n\t\t }\n\t\t },\n\t\n\t\t // HELPERS\n\t\n\t\t compiler: JavaScriptCompiler,\n\t\n\t\t compileChildren: function compileChildren(environment, options) {\n\t\t var children = environment.children,\n\t\t child = undefined,\n\t\t compiler = undefined;\n\t\n\t\t for (var i = 0, l = children.length; i < l; i++) {\n\t\t child = children[i];\n\t\t compiler = new this.compiler(); // eslint-disable-line new-cap\n\t\n\t\t var existing = this.matchExistingProgram(child);\n\t\n\t\t if (existing == null) {\n\t\t this.context.programs.push(''); // Placeholder to prevent name conflicts for nested children\n\t\t var index = this.context.programs.length;\n\t\t child.index = index;\n\t\t child.name = 'program' + index;\n\t\t this.context.programs[index] = compiler.compile(child, options, this.context, !this.precompile);\n\t\t this.context.decorators[index] = compiler.decorators;\n\t\t this.context.environments[index] = child;\n\t\n\t\t this.useDepths = this.useDepths || compiler.useDepths;\n\t\t this.useBlockParams = this.useBlockParams || compiler.useBlockParams;\n\t\t child.useDepths = this.useDepths;\n\t\t child.useBlockParams = this.useBlockParams;\n\t\t } else {\n\t\t child.index = existing.index;\n\t\t child.name = 'program' + existing.index;\n\t\n\t\t this.useDepths = this.useDepths || existing.useDepths;\n\t\t this.useBlockParams = this.useBlockParams || existing.useBlockParams;\n\t\t }\n\t\t }\n\t\t },\n\t\t matchExistingProgram: function matchExistingProgram(child) {\n\t\t for (var i = 0, len = this.context.environments.length; i < len; i++) {\n\t\t var environment = this.context.environments[i];\n\t\t if (environment && environment.equals(child)) {\n\t\t return environment;\n\t\t }\n\t\t }\n\t\t },\n\t\n\t\t programExpression: function programExpression(guid) {\n\t\t var child = this.environment.children[guid],\n\t\t programParams = [child.index, 'data', child.blockParams];\n\t\n\t\t if (this.useBlockParams || this.useDepths) {\n\t\t programParams.push('blockParams');\n\t\t }\n\t\t if (this.useDepths) {\n\t\t programParams.push('depths');\n\t\t }\n\t\n\t\t return 'container.program(' + programParams.join(', ') + ')';\n\t\t },\n\t\n\t\t useRegister: function useRegister(name) {\n\t\t if (!this.registers[name]) {\n\t\t this.registers[name] = true;\n\t\t this.registers.list.push(name);\n\t\t }\n\t\t },\n\t\n\t\t push: function push(expr) {\n\t\t if (!(expr instanceof Literal)) {\n\t\t expr = this.source.wrap(expr);\n\t\t }\n\t\n\t\t this.inlineStack.push(expr);\n\t\t return expr;\n\t\t },\n\t\n\t\t pushStackLiteral: function pushStackLiteral(item) {\n\t\t this.push(new Literal(item));\n\t\t },\n\t\n\t\t pushSource: function pushSource(source) {\n\t\t if (this.pendingContent) {\n\t\t this.source.push(this.appendToBuffer(this.source.quotedString(this.pendingContent), this.pendingLocation));\n\t\t this.pendingContent = undefined;\n\t\t }\n\t\n\t\t if (source) {\n\t\t this.source.push(source);\n\t\t }\n\t\t },\n\t\n\t\t replaceStack: function replaceStack(callback) {\n\t\t var prefix = ['('],\n\t\t stack = undefined,\n\t\t createdStack = undefined,\n\t\t usedLiteral = undefined;\n\t\n\t\t /* istanbul ignore next */\n\t\t if (!this.isInline()) {\n\t\t throw new _exception2['default']('replaceStack on non-inline');\n\t\t }\n\t\n\t\t // We want to merge the inline statement into the replacement statement via ','\n\t\t var top = this.popStack(true);\n\t\n\t\t if (top instanceof Literal) {\n\t\t // Literals do not need to be inlined\n\t\t stack = [top.value];\n\t\t prefix = ['(', stack];\n\t\t usedLiteral = true;\n\t\t } else {\n\t\t // Get or create the current stack name for use by the inline\n\t\t createdStack = true;\n\t\t var _name = this.incrStack();\n\t\n\t\t prefix = ['((', this.push(_name), ' = ', top, ')'];\n\t\t stack = this.topStack();\n\t\t }\n\t\n\t\t var item = callback.call(this, stack);\n\t\n\t\t if (!usedLiteral) {\n\t\t this.popStack();\n\t\t }\n\t\t if (createdStack) {\n\t\t this.stackSlot--;\n\t\t }\n\t\t this.push(prefix.concat(item, ')'));\n\t\t },\n\t\n\t\t incrStack: function incrStack() {\n\t\t this.stackSlot++;\n\t\t if (this.stackSlot > this.stackVars.length) {\n\t\t this.stackVars.push('stack' + this.stackSlot);\n\t\t }\n\t\t return this.topStackName();\n\t\t },\n\t\t topStackName: function topStackName() {\n\t\t return 'stack' + this.stackSlot;\n\t\t },\n\t\t flushInline: function flushInline() {\n\t\t var inlineStack = this.inlineStack;\n\t\t this.inlineStack = [];\n\t\t for (var i = 0, len = inlineStack.length; i < len; i++) {\n\t\t var entry = inlineStack[i];\n\t\t /* istanbul ignore if */\n\t\t if (entry instanceof Literal) {\n\t\t this.compileStack.push(entry);\n\t\t } else {\n\t\t var stack = this.incrStack();\n\t\t this.pushSource([stack, ' = ', entry, ';']);\n\t\t this.compileStack.push(stack);\n\t\t }\n\t\t }\n\t\t },\n\t\t isInline: function isInline() {\n\t\t return this.inlineStack.length;\n\t\t },\n\t\n\t\t popStack: function popStack(wrapped) {\n\t\t var inline = this.isInline(),\n\t\t item = (inline ? this.inlineStack : this.compileStack).pop();\n\t\n\t\t if (!wrapped && item instanceof Literal) {\n\t\t return item.value;\n\t\t } else {\n\t\t if (!inline) {\n\t\t /* istanbul ignore next */\n\t\t if (!this.stackSlot) {\n\t\t throw new _exception2['default']('Invalid stack pop');\n\t\t }\n\t\t this.stackSlot--;\n\t\t }\n\t\t return item;\n\t\t }\n\t\t },\n\t\n\t\t topStack: function topStack() {\n\t\t var stack = this.isInline() ? this.inlineStack : this.compileStack,\n\t\t item = stack[stack.length - 1];\n\t\n\t\t /* istanbul ignore if */\n\t\t if (item instanceof Literal) {\n\t\t return item.value;\n\t\t } else {\n\t\t return item;\n\t\t }\n\t\t },\n\t\n\t\t contextName: function contextName(context) {\n\t\t if (this.useDepths && context) {\n\t\t return 'depths[' + context + ']';\n\t\t } else {\n\t\t return 'depth' + context;\n\t\t }\n\t\t },\n\t\n\t\t quotedString: function quotedString(str) {\n\t\t return this.source.quotedString(str);\n\t\t },\n\t\n\t\t objectLiteral: function objectLiteral(obj) {\n\t\t return this.source.objectLiteral(obj);\n\t\t },\n\t\n\t\t aliasable: function aliasable(name) {\n\t\t var ret = this.aliases[name];\n\t\t if (ret) {\n\t\t ret.referenceCount++;\n\t\t return ret;\n\t\t }\n\t\n\t\t ret = this.aliases[name] = this.source.wrap(name);\n\t\t ret.aliasable = true;\n\t\t ret.referenceCount = 1;\n\t\n\t\t return ret;\n\t\t },\n\t\n\t\t setupHelper: function setupHelper(paramSize, name, blockHelper) {\n\t\t var params = [],\n\t\t paramsInit = this.setupHelperArgs(name, paramSize, params, blockHelper);\n\t\t var foundHelper = this.nameLookup('helpers', name, 'helper'),\n\t\t callContext = this.aliasable(this.contextName(0) + ' != null ? ' + this.contextName(0) + ' : (container.nullContext || {})');\n\t\n\t\t return {\n\t\t params: params,\n\t\t paramsInit: paramsInit,\n\t\t name: foundHelper,\n\t\t callParams: [callContext].concat(params)\n\t\t };\n\t\t },\n\t\n\t\t setupParams: function setupParams(helper, paramSize, params) {\n\t\t var options = {},\n\t\t contexts = [],\n\t\t types = [],\n\t\t ids = [],\n\t\t objectArgs = !params,\n\t\t param = undefined;\n\t\n\t\t if (objectArgs) {\n\t\t params = [];\n\t\t }\n\t\n\t\t options.name = this.quotedString(helper);\n\t\t options.hash = this.popStack();\n\t\n\t\t if (this.trackIds) {\n\t\t options.hashIds = this.popStack();\n\t\t }\n\t\t if (this.stringParams) {\n\t\t options.hashTypes = this.popStack();\n\t\t options.hashContexts = this.popStack();\n\t\t }\n\t\n\t\t var inverse = this.popStack(),\n\t\t program = this.popStack();\n\t\n\t\t // Avoid setting fn and inverse if neither are set. This allows\n\t\t // helpers to do a check for `if (options.fn)`\n\t\t if (program || inverse) {\n\t\t options.fn = program || 'container.noop';\n\t\t options.inverse = inverse || 'container.noop';\n\t\t }\n\t\n\t\t // The parameters go on to the stack in order (making sure that they are evaluated in order)\n\t\t // so we need to pop them off the stack in reverse order\n\t\t var i = paramSize;\n\t\t while (i--) {\n\t\t param = this.popStack();\n\t\t params[i] = param;\n\t\n\t\t if (this.trackIds) {\n\t\t ids[i] = this.popStack();\n\t\t }\n\t\t if (this.stringParams) {\n\t\t types[i] = this.popStack();\n\t\t contexts[i] = this.popStack();\n\t\t }\n\t\t }\n\t\n\t\t if (objectArgs) {\n\t\t options.args = this.source.generateArray(params);\n\t\t }\n\t\n\t\t if (this.trackIds) {\n\t\t options.ids = this.source.generateArray(ids);\n\t\t }\n\t\t if (this.stringParams) {\n\t\t options.types = this.source.generateArray(types);\n\t\t options.contexts = this.source.generateArray(contexts);\n\t\t }\n\t\n\t\t if (this.options.data) {\n\t\t options.data = 'data';\n\t\t }\n\t\t if (this.useBlockParams) {\n\t\t options.blockParams = 'blockParams';\n\t\t }\n\t\t return options;\n\t\t },\n\t\n\t\t setupHelperArgs: function setupHelperArgs(helper, paramSize, params, useRegister) {\n\t\t var options = this.setupParams(helper, paramSize, params);\n\t\t options = this.objectLiteral(options);\n\t\t if (useRegister) {\n\t\t this.useRegister('options');\n\t\t params.push('options');\n\t\t return ['options=', options];\n\t\t } else if (params) {\n\t\t params.push(options);\n\t\t return '';\n\t\t } else {\n\t\t return options;\n\t\t }\n\t\t }\n\t\t};\n\t\n\t\t(function () {\n\t\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\t\n\t\t var compilerWords = JavaScriptCompiler.RESERVED_WORDS = {};\n\t\n\t\t for (var i = 0, l = reservedWords.length; i < l; i++) {\n\t\t compilerWords[reservedWords[i]] = true;\n\t\t }\n\t\t})();\n\t\n\t\tJavaScriptCompiler.isValidJavaScriptVariableName = function (name) {\n\t\t return !JavaScriptCompiler.RESERVED_WORDS[name] && /^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(name);\n\t\t};\n\t\n\t\tfunction strictLookup(requireTerminal, compiler, parts, type) {\n\t\t var stack = compiler.popStack(),\n\t\t i = 0,\n\t\t len = parts.length;\n\t\t if (requireTerminal) {\n\t\t len--;\n\t\t }\n\t\n\t\t for (; i < len; i++) {\n\t\t stack = compiler.nameLookup(stack, parts[i], type);\n\t\t }\n\t\n\t\t if (requireTerminal) {\n\t\t return [compiler.aliasable('container.strict'), '(', stack, ', ', compiler.quotedString(parts[i]), ')'];\n\t\t } else {\n\t\t return stack;\n\t\t }\n\t\t}\n\t\n\t\texports['default'] = JavaScriptCompiler;\n\t\tmodule.exports = exports['default'];\n\t\n\t/***/ }),\n\t/* 43 */\n\t/***/ (function(module, exports, __webpack_require__) {\n\t\n\t\t/* global define */\n\t\t'use strict';\n\t\n\t\texports.__esModule = true;\n\t\n\t\tvar _utils = __webpack_require__(5);\n\t\n\t\tvar SourceNode = undefined;\n\t\n\t\ttry {\n\t\t /* istanbul ignore next */\n\t\t if (false) {\n\t\t // We don't support this in AMD environments. For these environments, we asusme that\n\t\t // they are running on the browser and thus have no need for the source-map library.\n\t\t var SourceMap = require('source-map');\n\t\t SourceNode = SourceMap.SourceNode;\n\t\t }\n\t\t} catch (err) {}\n\t\t/* NOP */\n\t\n\t\t/* istanbul ignore if: tested but not covered in istanbul due to dist build */\n\t\tif (!SourceNode) {\n\t\t SourceNode = function (line, column, srcFile, chunks) {\n\t\t this.src = '';\n\t\t if (chunks) {\n\t\t this.add(chunks);\n\t\t }\n\t\t };\n\t\t /* istanbul ignore next */\n\t\t SourceNode.prototype = {\n\t\t add: function add(chunks) {\n\t\t if (_utils.isArray(chunks)) {\n\t\t chunks = chunks.join('');\n\t\t }\n\t\t this.src += chunks;\n\t\t },\n\t\t prepend: function prepend(chunks) {\n\t\t if (_utils.isArray(chunks)) {\n\t\t chunks = chunks.join('');\n\t\t }\n\t\t this.src = chunks + this.src;\n\t\t },\n\t\t toStringWithSourceMap: function toStringWithSourceMap() {\n\t\t return { code: this.toString() };\n\t\t },\n\t\t toString: function toString() {\n\t\t return this.src;\n\t\t }\n\t\t };\n\t\t}\n\t\n\t\tfunction castChunk(chunk, codeGen, loc) {\n\t\t if (_utils.isArray(chunk)) {\n\t\t var ret = [];\n\t\n\t\t for (var i = 0, len = chunk.length; i < len; i++) {\n\t\t ret.push(codeGen.wrap(chunk[i], loc));\n\t\t }\n\t\t return ret;\n\t\t } else if (typeof chunk === 'boolean' || typeof chunk === 'number') {\n\t\t // Handle primitives that the SourceNode will throw up on\n\t\t return chunk + '';\n\t\t }\n\t\t return chunk;\n\t\t}\n\t\n\t\tfunction CodeGen(srcFile) {\n\t\t this.srcFile = srcFile;\n\t\t this.source = [];\n\t\t}\n\t\n\t\tCodeGen.prototype = {\n\t\t isEmpty: function isEmpty() {\n\t\t return !this.source.length;\n\t\t },\n\t\t prepend: function prepend(source, loc) {\n\t\t this.source.unshift(this.wrap(source, loc));\n\t\t },\n\t\t push: function push(source, loc) {\n\t\t this.source.push(this.wrap(source, loc));\n\t\t },\n\t\n\t\t merge: function merge() {\n\t\t var source = this.empty();\n\t\t this.each(function (line) {\n\t\t source.add([' ', line, '\\n']);\n\t\t });\n\t\t return source;\n\t\t },\n\t\n\t\t each: function each(iter) {\n\t\t for (var i = 0, len = this.source.length; i < len; i++) {\n\t\t iter(this.source[i]);\n\t\t }\n\t\t },\n\t\n\t\t empty: function empty() {\n\t\t var loc = this.currentLocation || { start: {} };\n\t\t return new SourceNode(loc.start.line, loc.start.column, this.srcFile);\n\t\t },\n\t\t wrap: function wrap(chunk) {\n\t\t var loc = arguments.length <= 1 || arguments[1] === undefined ? this.currentLocation || { start: {} } : arguments[1];\n\t\n\t\t if (chunk instanceof SourceNode) {\n\t\t return chunk;\n\t\t }\n\t\n\t\t chunk = castChunk(chunk, this, loc);\n\t\n\t\t return new SourceNode(loc.start.line, loc.start.column, this.srcFile, chunk);\n\t\t },\n\t\n\t\t functionCall: function functionCall(fn, type, params) {\n\t\t params = this.generateList(params);\n\t\t return this.wrap([fn, type ? '.' + type + '(' : '(', params, ')']);\n\t\t },\n\t\n\t\t quotedString: function quotedString(str) {\n\t\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\t .replace(/\\u2029/g, '\\\\u2029') + '\"';\n\t\t },\n\t\n\t\t objectLiteral: function objectLiteral(obj) {\n\t\t var pairs = [];\n\t\n\t\t for (var key in obj) {\n\t\t if (obj.hasOwnProperty(key)) {\n\t\t var value = castChunk(obj[key], this);\n\t\t if (value !== 'undefined') {\n\t\t pairs.push([this.quotedString(key), ':', value]);\n\t\t }\n\t\t }\n\t\t }\n\t\n\t\t var ret = this.generateList(pairs);\n\t\t ret.prepend('{');\n\t\t ret.add('}');\n\t\t return ret;\n\t\t },\n\t\n\t\t generateList: function generateList(entries) {\n\t\t var ret = this.empty();\n\t\n\t\t for (var i = 0, len = entries.length; i < len; i++) {\n\t\t if (i) {\n\t\t ret.add(',');\n\t\t }\n\t\n\t\t ret.add(castChunk(entries[i], this));\n\t\t }\n\t\n\t\t return ret;\n\t\t },\n\t\n\t\t generateArray: function generateArray(entries) {\n\t\t var ret = this.generateList(entries);\n\t\t ret.prepend('[');\n\t\t ret.add(']');\n\t\n\t\t return ret;\n\t\t }\n\t\t};\n\t\n\t\texports['default'] = CodeGen;\n\t\tmodule.exports = exports['default'];\n\t\n\t/***/ })\n\t/******/ ])\n\t});\n\t;\n\n/***/ },\n/* 403 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(global) {// Backbone.js 1.2.1\n\t\n\t// (c) 2010-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\t// Backbone may be freely distributed under the MIT license.\n\t// For all details and documentation:\n\t// http://backbonejs.org\n\t\n\t(function(factory) {\n\t\n\t // Establish the root object, `window` (`self`) in the browser, or `global` on the server.\n\t // We use `self` instead of `window` for `WebWorker` support.\n\t var root = (typeof self == 'object' && self.self == self && self) ||\n\t (typeof global == 'object' && global.global == global && global);\n\t\n\t // Set up Backbone appropriately for the environment. Start with AMD.\n\t if (true) {\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(328), __webpack_require__(404), exports], __WEBPACK_AMD_DEFINE_RESULT__ = function(_, $, exports) {\n\t // Export global even in AMD case in case this script is loaded with\n\t // others that may still expect a global Backbone.\n\t root.Backbone = factory(root, exports, _, $);\n\t }.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\n\t // Next for Node.js or CommonJS. jQuery may not be needed as a module.\n\t } else if (typeof exports !== 'undefined') {\n\t var _ = require('underscore'), $;\n\t try { $ = require('jquery'); } catch(e) {}\n\t factory(root, exports, _, $);\n\t\n\t // Finally, as a browser global.\n\t } else {\n\t root.Backbone = factory(root, {}, root._, (root.jQuery || root.Zepto || root.ender || root.$));\n\t }\n\t\n\t}(function(root, Backbone, _, $) {\n\t\n\t // Initial Setup\n\t // -------------\n\t\n\t // Save the previous value of the `Backbone` variable, so that it can be\n\t // restored later on, if `noConflict` is used.\n\t var previousBackbone = root.Backbone;\n\t\n\t // Create a local reference to a common array method we'll want to use later.\n\t var slice = [].slice;\n\t\n\t // Current version of the library. Keep in sync with `package.json`.\n\t Backbone.VERSION = '1.2.1';\n\t\n\t // For Backbone's purposes, jQuery, Zepto, Ender, or My Library (kidding) owns\n\t // the `$` variable.\n\t Backbone.$ = $;\n\t\n\t // Runs Backbone.js in *noConflict* mode, returning the `Backbone` variable\n\t // to its previous owner. Returns a reference to this Backbone object.\n\t Backbone.noConflict = function() {\n\t root.Backbone = previousBackbone;\n\t return this;\n\t };\n\t\n\t // Turn on `emulateHTTP` to support legacy HTTP servers. Setting this option\n\t // will fake `\"PATCH\"`, `\"PUT\"` and `\"DELETE\"` requests via the `_method` parameter and\n\t // set a `X-Http-Method-Override` header.\n\t Backbone.emulateHTTP = false;\n\t\n\t // Turn on `emulateJSON` to support legacy servers that can't deal with direct\n\t // `application/json` requests ... this will encode the body as\n\t // `application/x-www-form-urlencoded` instead and will send the model in a\n\t // form param named `model`.\n\t Backbone.emulateJSON = false;\n\t\n\t // Proxy Underscore methods to a Backbone class' prototype using a\n\t // particular attribute as the data argument\n\t var addMethod = function(length, method, attribute) {\n\t switch (length) {\n\t case 1: return function() {\n\t return _[method](this[attribute]);\n\t };\n\t case 2: return function(value) {\n\t return _[method](this[attribute], value);\n\t };\n\t case 3: return function(iteratee, context) {\n\t return _[method](this[attribute], iteratee, context);\n\t };\n\t case 4: return function(iteratee, defaultVal, context) {\n\t return _[method](this[attribute], iteratee, defaultVal, context);\n\t };\n\t default: return function() {\n\t var args = slice.call(arguments);\n\t args.unshift(this[attribute]);\n\t return _[method].apply(_, args);\n\t };\n\t }\n\t };\n\t var addUnderscoreMethods = function(Class, methods, attribute) {\n\t _.each(methods, function(length, method) {\n\t if (_[method]) Class.prototype[method] = addMethod(length, method, attribute);\n\t });\n\t };\n\t\n\t // Backbone.Events\n\t // ---------------\n\t\n\t // A module that can be mixed in to *any object* in order to provide it with\n\t // custom events. You may bind with `on` or remove with `off` callback\n\t // functions to an event; `trigger`-ing an event fires all callbacks in\n\t // succession.\n\t //\n\t // var object = {};\n\t // _.extend(object, Backbone.Events);\n\t // object.on('expand', function(){ alert('expanded'); });\n\t // object.trigger('expand');\n\t //\n\t var Events = Backbone.Events = {};\n\t\n\t // Regular expression used to split event strings.\n\t var eventSplitter = /\\s+/;\n\t\n\t // Iterates over the standard `event, callback` (as well as the fancy multiple\n\t // space-separated events `\"change blur\", callback` and jQuery-style event\n\t // maps `{event: callback}`), reducing them by manipulating `memo`.\n\t // Passes a normalized single event name and callback, as well as any\n\t // optional `opts`.\n\t var eventsApi = function(iteratee, memo, name, callback, opts) {\n\t var i = 0, names;\n\t if (name && typeof name === 'object') {\n\t // Handle event maps.\n\t if (callback !== void 0 && 'context' in opts && opts.context === void 0) opts.context = callback;\n\t for (names = _.keys(name); i < names.length ; i++) {\n\t memo = iteratee(memo, names[i], name[names[i]], opts);\n\t }\n\t } else if (name && eventSplitter.test(name)) {\n\t // Handle space separated event names.\n\t for (names = name.split(eventSplitter); i < names.length; i++) {\n\t memo = iteratee(memo, names[i], callback, opts);\n\t }\n\t } else {\n\t memo = iteratee(memo, name, callback, opts);\n\t }\n\t return memo;\n\t };\n\t\n\t // Bind an event to a `callback` function. Passing `\"all\"` will bind\n\t // the callback to all events fired.\n\t Events.on = function(name, callback, context) {\n\t return internalOn(this, name, callback, context);\n\t };\n\t\n\t // An internal use `on` function, used to guard the `listening` argument from\n\t // the public API.\n\t var internalOn = function(obj, name, callback, context, listening) {\n\t obj._events = eventsApi(onApi, obj._events || {}, name, callback, {\n\t context: context,\n\t ctx: obj,\n\t listening: listening\n\t });\n\t\n\t if (listening) {\n\t var listeners = obj._listeners || (obj._listeners = {});\n\t listeners[listening.id] = listening;\n\t }\n\t\n\t return obj;\n\t };\n\t\n\t // Inversion-of-control versions of `on`. Tell *this* object to listen to\n\t // an event in another object... keeping track of what it's listening to.\n\t Events.listenTo = function(obj, name, callback) {\n\t if (!obj) return this;\n\t var id = obj._listenId || (obj._listenId = _.uniqueId('l'));\n\t var listeningTo = this._listeningTo || (this._listeningTo = {});\n\t var listening = listeningTo[id];\n\t\n\t // This object is not listening to any other events on `obj` yet.\n\t // Setup the necessary references to track the listening callbacks.\n\t if (!listening) {\n\t var thisId = this._listenId || (this._listenId = _.uniqueId('l'));\n\t listening = listeningTo[id] = {obj: obj, objId: id, id: thisId, listeningTo: listeningTo, count: 0};\n\t }\n\t\n\t // Bind callbacks on obj, and keep track of them on listening.\n\t internalOn(obj, name, callback, this, listening);\n\t return this;\n\t };\n\t\n\t // The reducing API that adds a callback to the `events` object.\n\t var onApi = function(events, name, callback, options) {\n\t if (callback) {\n\t var handlers = events[name] || (events[name] = []);\n\t var context = options.context, ctx = options.ctx, listening = options.listening;\n\t if (listening) listening.count++;\n\t\n\t handlers.push({ callback: callback, context: context, ctx: context || ctx, listening: listening });\n\t }\n\t return events;\n\t };\n\t\n\t // Remove one or many callbacks. If `context` is null, removes all\n\t // callbacks with that function. If `callback` is null, removes all\n\t // callbacks for the event. If `name` is null, removes all bound\n\t // callbacks for all events.\n\t Events.off = function(name, callback, context) {\n\t if (!this._events) return this;\n\t this._events = eventsApi(offApi, this._events, name, callback, {\n\t context: context,\n\t listeners: this._listeners\n\t });\n\t return this;\n\t };\n\t\n\t // Tell this object to stop listening to either specific events ... or\n\t // to every object it's currently listening to.\n\t Events.stopListening = function(obj, name, callback) {\n\t var listeningTo = this._listeningTo;\n\t if (!listeningTo) return this;\n\t\n\t var ids = obj ? [obj._listenId] : _.keys(listeningTo);\n\t\n\t for (var i = 0; i < ids.length; i++) {\n\t var listening = listeningTo[ids[i]];\n\t\n\t // If listening doesn't exist, this object is not currently\n\t // listening to obj. Break out early.\n\t if (!listening) break;\n\t\n\t listening.obj.off(name, callback, this);\n\t }\n\t if (_.isEmpty(listeningTo)) this._listeningTo = void 0;\n\t\n\t return this;\n\t };\n\t\n\t // The reducing API that removes a callback from the `events` object.\n\t var offApi = function(events, name, callback, options) {\n\t // No events to consider.\n\t if (!events) return;\n\t\n\t var i = 0, listening;\n\t var context = options.context, listeners = options.listeners;\n\t\n\t // Delete all events listeners and \"drop\" events.\n\t if (!name && !callback && !context) {\n\t var ids = _.keys(listeners);\n\t for (; i < ids.length; i++) {\n\t listening = listeners[ids[i]];\n\t delete listeners[listening.id];\n\t delete listening.listeningTo[listening.objId];\n\t }\n\t return;\n\t }\n\t\n\t var names = name ? [name] : _.keys(events);\n\t for (; i < names.length; i++) {\n\t name = names[i];\n\t var handlers = events[name];\n\t\n\t // Bail out if there are no events stored.\n\t if (!handlers) break;\n\t\n\t // Replace events if there are any remaining. Otherwise, clean up.\n\t var remaining = [];\n\t for (var j = 0; j < handlers.length; j++) {\n\t var handler = handlers[j];\n\t if (\n\t callback && callback !== handler.callback &&\n\t callback !== handler.callback._callback ||\n\t context && context !== handler.context\n\t ) {\n\t remaining.push(handler);\n\t } else {\n\t listening = handler.listening;\n\t if (listening && --listening.count === 0) {\n\t delete listeners[listening.id];\n\t delete listening.listeningTo[listening.objId];\n\t }\n\t }\n\t }\n\t\n\t // Update tail event if the list has any events. Otherwise, clean up.\n\t if (remaining.length) {\n\t events[name] = remaining;\n\t } else {\n\t delete events[name];\n\t }\n\t }\n\t if (_.size(events)) return events;\n\t };\n\t\n\t // Bind an event to only be triggered a single time. After the first time\n\t // the callback is invoked, it will be removed. When multiple events are\n\t // passed in using the space-separated syntax, the event will fire once for every\n\t // event you passed in, not once for a combination of all events\n\t Events.once = function(name, callback, context) {\n\t // Map the event into a `{event: once}` object.\n\t var events = eventsApi(onceMap, {}, name, callback, _.bind(this.off, this));\n\t return this.on(events, void 0, context);\n\t };\n\t\n\t // Inversion-of-control versions of `once`.\n\t Events.listenToOnce = function(obj, name, callback) {\n\t // Map the event into a `{event: once}` object.\n\t var events = eventsApi(onceMap, {}, name, callback, _.bind(this.stopListening, this, obj));\n\t return this.listenTo(obj, events);\n\t };\n\t\n\t // Reduces the event callbacks into a map of `{event: onceWrapper}`.\n\t // `offer` unbinds the `onceWrapper` after it has been called.\n\t var onceMap = function(map, name, callback, offer) {\n\t if (callback) {\n\t var once = map[name] = _.once(function() {\n\t offer(name, once);\n\t callback.apply(this, arguments);\n\t });\n\t once._callback = callback;\n\t }\n\t return map;\n\t };\n\t\n\t // Trigger one or many events, firing all bound callbacks. Callbacks are\n\t // passed the same arguments as `trigger` is, apart from the event name\n\t // (unless you're listening on `\"all\"`, which will cause your callback to\n\t // receive the true name of the event as the first argument).\n\t Events.trigger = function(name) {\n\t if (!this._events) return this;\n\t\n\t var length = Math.max(0, arguments.length - 1);\n\t var args = Array(length);\n\t for (var i = 0; i < length; i++) args[i] = arguments[i + 1];\n\t\n\t eventsApi(triggerApi, this._events, name, void 0, args);\n\t return this;\n\t };\n\t\n\t // Handles triggering the appropriate event callbacks.\n\t var triggerApi = function(objEvents, name, cb, args) {\n\t if (objEvents) {\n\t var events = objEvents[name];\n\t var allEvents = objEvents.all;\n\t if (events && allEvents) allEvents = allEvents.slice();\n\t if (events) triggerEvents(events, args);\n\t if (allEvents) triggerEvents(allEvents, [name].concat(args));\n\t }\n\t return objEvents;\n\t };\n\t\n\t // A difficult-to-believe, but optimized internal dispatch function for\n\t // triggering events. Tries to keep the usual cases speedy (most internal\n\t // Backbone events have 3 arguments).\n\t var triggerEvents = function(events, args) {\n\t var ev, i = -1, l = events.length, a1 = args[0], a2 = args[1], a3 = args[2];\n\t switch (args.length) {\n\t case 0: while (++i < l) (ev = events[i]).callback.call(ev.ctx); return;\n\t case 1: while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1); return;\n\t case 2: while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1, a2); return;\n\t case 3: while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1, a2, a3); return;\n\t default: while (++i < l) (ev = events[i]).callback.apply(ev.ctx, args); return;\n\t }\n\t };\n\t\n\t // Aliases for backwards compatibility.\n\t Events.bind = Events.on;\n\t Events.unbind = Events.off;\n\t\n\t // Allow the `Backbone` object to serve as a global event bus, for folks who\n\t // want global \"pubsub\" in a convenient place.\n\t _.extend(Backbone, Events);\n\t\n\t // Backbone.Model\n\t // --------------\n\t\n\t // Backbone **Models** are the basic data object in the framework --\n\t // frequently representing a row in a table in a database on your server.\n\t // A discrete chunk of data and a bunch of useful, related methods for\n\t // performing computations and transformations on that data.\n\t\n\t // Create a new model with the specified attributes. A client id (`cid`)\n\t // is automatically generated and assigned for you.\n\t var Model = Backbone.Model = function(attributes, options) {\n\t var attrs = attributes || {};\n\t options || (options = {});\n\t this.cid = _.uniqueId(this.cidPrefix);\n\t this.attributes = {};\n\t if (options.collection) this.collection = options.collection;\n\t if (options.parse) attrs = this.parse(attrs, options) || {};\n\t attrs = _.defaults({}, attrs, _.result(this, 'defaults'));\n\t this.set(attrs, options);\n\t this.changed = {};\n\t this.initialize.apply(this, arguments);\n\t };\n\t\n\t // Attach all inheritable methods to the Model prototype.\n\t _.extend(Model.prototype, Events, {\n\t\n\t // A hash of attributes whose current and previous value differ.\n\t changed: null,\n\t\n\t // The value returned during the last failed validation.\n\t validationError: null,\n\t\n\t // The default name for the JSON `id` attribute is `\"id\"`. MongoDB and\n\t // CouchDB users may want to set this to `\"_id\"`.\n\t idAttribute: 'id',\n\t\n\t // The prefix is used to create the client id which is used to identify models locally.\n\t // You may want to override this if you're experiencing name clashes with model ids.\n\t cidPrefix: 'c',\n\t\n\t // Initialize is an empty function by default. Override it with your own\n\t // initialization logic.\n\t initialize: function(){},\n\t\n\t // Return a copy of the model's `attributes` object.\n\t toJSON: function(options) {\n\t return _.clone(this.attributes);\n\t },\n\t\n\t // Proxy `Backbone.sync` by default -- but override this if you need\n\t // custom syncing semantics for *this* particular model.\n\t sync: function() {\n\t return Backbone.sync.apply(this, arguments);\n\t },\n\t\n\t // Get the value of an attribute.\n\t get: function(attr) {\n\t return this.attributes[attr];\n\t },\n\t\n\t // Get the HTML-escaped value of an attribute.\n\t escape: function(attr) {\n\t return _.escape(this.get(attr));\n\t },\n\t\n\t // Returns `true` if the attribute contains a value that is not null\n\t // or undefined.\n\t has: function(attr) {\n\t return this.get(attr) != null;\n\t },\n\t\n\t // Special-cased proxy to underscore's `_.matches` method.\n\t matches: function(attrs) {\n\t return !!_.iteratee(attrs, this)(this.attributes);\n\t },\n\t\n\t // Set a hash of model attributes on the object, firing `\"change\"`. This is\n\t // the core primitive operation of a model, updating the data and notifying\n\t // anyone who needs to know about the change in state. The heart of the beast.\n\t set: function(key, val, options) {\n\t if (key == null) return this;\n\t\n\t // Handle both `\"key\", value` and `{key: value}` -style arguments.\n\t var attrs;\n\t if (typeof key === 'object') {\n\t attrs = key;\n\t options = val;\n\t } else {\n\t (attrs = {})[key] = val;\n\t }\n\t\n\t options || (options = {});\n\t\n\t // Run validation.\n\t if (!this._validate(attrs, options)) return false;\n\t\n\t // Extract attributes and options.\n\t var unset = options.unset;\n\t var silent = options.silent;\n\t var changes = [];\n\t var changing = this._changing;\n\t this._changing = true;\n\t\n\t if (!changing) {\n\t this._previousAttributes = _.clone(this.attributes);\n\t this.changed = {};\n\t }\n\t\n\t var current = this.attributes;\n\t var changed = this.changed;\n\t var prev = this._previousAttributes;\n\t\n\t // Check for changes of `id`.\n\t if (this.idAttribute in attrs) this.id = attrs[this.idAttribute];\n\t\n\t // For each `set` attribute, update or delete the current value.\n\t for (var attr in attrs) {\n\t val = attrs[attr];\n\t if (!_.isEqual(current[attr], val)) changes.push(attr);\n\t if (!_.isEqual(prev[attr], val)) {\n\t changed[attr] = val;\n\t } else {\n\t delete changed[attr];\n\t }\n\t unset ? delete current[attr] : current[attr] = val;\n\t }\n\t\n\t // Trigger all relevant attribute changes.\n\t if (!silent) {\n\t if (changes.length) this._pending = options;\n\t for (var i = 0; i < changes.length; i++) {\n\t this.trigger('change:' + changes[i], this, current[changes[i]], options);\n\t }\n\t }\n\t\n\t // You might be wondering why there's a `while` loop here. Changes can\n\t // be recursively nested within `\"change\"` events.\n\t if (changing) return this;\n\t if (!silent) {\n\t while (this._pending) {\n\t options = this._pending;\n\t this._pending = false;\n\t this.trigger('change', this, options);\n\t }\n\t }\n\t this._pending = false;\n\t this._changing = false;\n\t return this;\n\t },\n\t\n\t // Remove an attribute from the model, firing `\"change\"`. `unset` is a noop\n\t // if the attribute doesn't exist.\n\t unset: function(attr, options) {\n\t return this.set(attr, void 0, _.extend({}, options, {unset: true}));\n\t },\n\t\n\t // Clear all attributes on the model, firing `\"change\"`.\n\t clear: function(options) {\n\t var attrs = {};\n\t for (var key in this.attributes) attrs[key] = void 0;\n\t return this.set(attrs, _.extend({}, options, {unset: true}));\n\t },\n\t\n\t // Determine if the model has changed since the last `\"change\"` event.\n\t // If you specify an attribute name, determine if that attribute has changed.\n\t hasChanged: function(attr) {\n\t if (attr == null) return !_.isEmpty(this.changed);\n\t return _.has(this.changed, attr);\n\t },\n\t\n\t // Return an object containing all the attributes that have changed, or\n\t // false if there are no changed attributes. Useful for determining what\n\t // parts of a view need to be updated and/or what attributes need to be\n\t // persisted to the server. Unset attributes will be set to undefined.\n\t // You can also pass an attributes object to diff against the model,\n\t // determining if there *would be* a change.\n\t changedAttributes: function(diff) {\n\t if (!diff) return this.hasChanged() ? _.clone(this.changed) : false;\n\t var old = this._changing ? this._previousAttributes : this.attributes;\n\t var changed = {};\n\t for (var attr in diff) {\n\t var val = diff[attr];\n\t if (_.isEqual(old[attr], val)) continue;\n\t changed[attr] = val;\n\t }\n\t return _.size(changed) ? changed : false;\n\t },\n\t\n\t // Get the previous value of an attribute, recorded at the time the last\n\t // `\"change\"` event was fired.\n\t previous: function(attr) {\n\t if (attr == null || !this._previousAttributes) return null;\n\t return this._previousAttributes[attr];\n\t },\n\t\n\t // Get all of the attributes of the model at the time of the previous\n\t // `\"change\"` event.\n\t previousAttributes: function() {\n\t return _.clone(this._previousAttributes);\n\t },\n\t\n\t // Fetch the model from the server, merging the response with the model's\n\t // local attributes. Any changed attributes will trigger a \"change\" event.\n\t fetch: function(options) {\n\t options = _.extend({parse: true}, options);\n\t var model = this;\n\t var success = options.success;\n\t options.success = function(resp) {\n\t var serverAttrs = options.parse ? model.parse(resp, options) : resp;\n\t if (!model.set(serverAttrs, options)) return false;\n\t if (success) success.call(options.context, model, resp, options);\n\t model.trigger('sync', model, resp, options);\n\t };\n\t wrapError(this, options);\n\t return this.sync('read', this, options);\n\t },\n\t\n\t // Set a hash of model attributes, and sync the model to the server.\n\t // If the server returns an attributes hash that differs, the model's\n\t // state will be `set` again.\n\t save: function(key, val, options) {\n\t // Handle both `\"key\", value` and `{key: value}` -style arguments.\n\t var attrs;\n\t if (key == null || typeof key === 'object') {\n\t attrs = key;\n\t options = val;\n\t } else {\n\t (attrs = {})[key] = val;\n\t }\n\t\n\t options = _.extend({validate: true, parse: true}, options);\n\t var wait = options.wait;\n\t\n\t // If we're not waiting and attributes exist, save acts as\n\t // `set(attr).save(null, opts)` with validation. Otherwise, check if\n\t // the model will be valid when the attributes, if any, are set.\n\t if (attrs && !wait) {\n\t if (!this.set(attrs, options)) return false;\n\t } else {\n\t if (!this._validate(attrs, options)) return false;\n\t }\n\t\n\t // After a successful server-side save, the client is (optionally)\n\t // updated with the server-side state.\n\t var model = this;\n\t var success = options.success;\n\t var attributes = this.attributes;\n\t options.success = function(resp) {\n\t // Ensure attributes are restored during synchronous saves.\n\t model.attributes = attributes;\n\t var serverAttrs = options.parse ? model.parse(resp, options) : resp;\n\t if (wait) serverAttrs = _.extend({}, attrs, serverAttrs);\n\t if (serverAttrs && !model.set(serverAttrs, options)) return false;\n\t if (success) success.call(options.context, model, resp, options);\n\t model.trigger('sync', model, resp, options);\n\t };\n\t wrapError(this, options);\n\t\n\t // Set temporary attributes if `{wait: true}` to properly find new ids.\n\t if (attrs && wait) this.attributes = _.extend({}, attributes, attrs);\n\t\n\t var method = this.isNew() ? 'create' : (options.patch ? 'patch' : 'update');\n\t if (method === 'patch' && !options.attrs) options.attrs = attrs;\n\t var xhr = this.sync(method, this, options);\n\t\n\t // Restore attributes.\n\t this.attributes = attributes;\n\t\n\t return xhr;\n\t },\n\t\n\t // Destroy this model on the server if it was already persisted.\n\t // Optimistically removes the model from its collection, if it has one.\n\t // If `wait: true` is passed, waits for the server to respond before removal.\n\t destroy: function(options) {\n\t options = options ? _.clone(options) : {};\n\t var model = this;\n\t var success = options.success;\n\t var wait = options.wait;\n\t\n\t var destroy = function() {\n\t model.stopListening();\n\t model.trigger('destroy', model, model.collection, options);\n\t };\n\t\n\t options.success = function(resp) {\n\t if (wait) destroy();\n\t if (success) success.call(options.context, model, resp, options);\n\t if (!model.isNew()) model.trigger('sync', model, resp, options);\n\t };\n\t\n\t var xhr = false;\n\t if (this.isNew()) {\n\t _.defer(options.success);\n\t } else {\n\t wrapError(this, options);\n\t xhr = this.sync('delete', this, options);\n\t }\n\t if (!wait) destroy();\n\t return xhr;\n\t },\n\t\n\t // Default URL for the model's representation on the server -- if you're\n\t // using Backbone's restful methods, override this to change the endpoint\n\t // that will be called.\n\t url: function() {\n\t var base =\n\t _.result(this, 'urlRoot') ||\n\t _.result(this.collection, 'url') ||\n\t urlError();\n\t if (this.isNew()) return base;\n\t var id = this.get(this.idAttribute);\n\t return base.replace(/[^\\/]$/, '$&/') + encodeURIComponent(id);\n\t },\n\t\n\t // **parse** converts a response into the hash of attributes to be `set` on\n\t // the model. The default implementation is just to pass the response along.\n\t parse: function(resp, options) {\n\t return resp;\n\t },\n\t\n\t // Create a new model with identical attributes to this one.\n\t clone: function() {\n\t return new this.constructor(this.attributes);\n\t },\n\t\n\t // A model is new if it has never been saved to the server, and lacks an id.\n\t isNew: function() {\n\t return !this.has(this.idAttribute);\n\t },\n\t\n\t // Check if the model is currently in a valid state.\n\t isValid: function(options) {\n\t return this._validate({}, _.defaults({validate: true}, options));\n\t },\n\t\n\t // Run validation against the next complete set of model attributes,\n\t // returning `true` if all is well. Otherwise, fire an `\"invalid\"` event.\n\t _validate: function(attrs, options) {\n\t if (!options.validate || !this.validate) return true;\n\t attrs = _.extend({}, this.attributes, attrs);\n\t var error = this.validationError = this.validate(attrs, options) || null;\n\t if (!error) return true;\n\t this.trigger('invalid', this, error, _.extend(options, {validationError: error}));\n\t return false;\n\t }\n\t\n\t });\n\t\n\t // Underscore methods that we want to implement on the Model.\n\t var modelMethods = { keys: 1, values: 1, pairs: 1, invert: 1, pick: 0,\n\t omit: 0, chain: 1, isEmpty: 1 };\n\t\n\t // Mix in each Underscore method as a proxy to `Model#attributes`.\n\t addUnderscoreMethods(Model, modelMethods, 'attributes');\n\t\n\t // Backbone.Collection\n\t // -------------------\n\t\n\t // If models tend to represent a single row of data, a Backbone Collection is\n\t // more analogous to a table full of data ... or a small slice or page of that\n\t // table, or a collection of rows that belong together for a particular reason\n\t // -- all of the messages in this particular folder, all of the documents\n\t // belonging to this particular author, and so on. Collections maintain\n\t // indexes of their models, both in order, and for lookup by `id`.\n\t\n\t // Create a new **Collection**, perhaps to contain a specific type of `model`.\n\t // If a `comparator` is specified, the Collection will maintain\n\t // its models in sort order, as they're added and removed.\n\t var Collection = Backbone.Collection = function(models, options) {\n\t options || (options = {});\n\t if (options.model) this.model = options.model;\n\t if (options.comparator !== void 0) this.comparator = options.comparator;\n\t this._reset();\n\t this.initialize.apply(this, arguments);\n\t if (models) this.reset(models, _.extend({silent: true}, options));\n\t };\n\t\n\t // Default options for `Collection#set`.\n\t var setOptions = {add: true, remove: true, merge: true};\n\t var addOptions = {add: true, remove: false};\n\t\n\t // Define the Collection's inheritable methods.\n\t _.extend(Collection.prototype, Events, {\n\t\n\t // The default model for a collection is just a **Backbone.Model**.\n\t // This should be overridden in most cases.\n\t model: Model,\n\t\n\t // Initialize is an empty function by default. Override it with your own\n\t // initialization logic.\n\t initialize: function(){},\n\t\n\t // The JSON representation of a Collection is an array of the\n\t // models' attributes.\n\t toJSON: function(options) {\n\t return this.map(function(model) { return model.toJSON(options); });\n\t },\n\t\n\t // Proxy `Backbone.sync` by default.\n\t sync: function() {\n\t return Backbone.sync.apply(this, arguments);\n\t },\n\t\n\t // Add a model, or list of models to the set.\n\t add: function(models, options) {\n\t return this.set(models, _.extend({merge: false}, options, addOptions));\n\t },\n\t\n\t // Remove a model, or a list of models from the set.\n\t remove: function(models, options) {\n\t options = _.extend({}, options);\n\t var singular = !_.isArray(models);\n\t models = singular ? [models] : _.clone(models);\n\t var removed = this._removeModels(models, options);\n\t if (!options.silent && removed) this.trigger('update', this, options);\n\t return singular ? removed[0] : removed;\n\t },\n\t\n\t // Update a collection by `set`-ing a new list of models, adding new ones,\n\t // removing models that are no longer present, and merging models that\n\t // already exist in the collection, as necessary. Similar to **Model#set**,\n\t // the core operation for updating the data contained by the collection.\n\t set: function(models, options) {\n\t options = _.defaults({}, options, setOptions);\n\t if (options.parse && !this._isModel(models)) models = this.parse(models, options);\n\t var singular = !_.isArray(models);\n\t models = singular ? (models ? [models] : []) : models.slice();\n\t var id, model, attrs, existing, sort;\n\t var at = options.at;\n\t if (at != null) at = +at;\n\t if (at < 0) at += this.length + 1;\n\t var sortable = this.comparator && (at == null) && options.sort !== false;\n\t var sortAttr = _.isString(this.comparator) ? this.comparator : null;\n\t var toAdd = [], toRemove = [], modelMap = {};\n\t var add = options.add, merge = options.merge, remove = options.remove;\n\t var order = !sortable && add && remove ? [] : false;\n\t var orderChanged = false;\n\t\n\t // Turn bare objects into model references, and prevent invalid models\n\t // from being added.\n\t for (var i = 0; i < models.length; i++) {\n\t attrs = models[i];\n\t\n\t // If a duplicate is found, prevent it from being added and\n\t // optionally merge it into the existing model.\n\t if (existing = this.get(attrs)) {\n\t if (remove) modelMap[existing.cid] = true;\n\t if (merge && attrs !== existing) {\n\t attrs = this._isModel(attrs) ? attrs.attributes : attrs;\n\t if (options.parse) attrs = existing.parse(attrs, options);\n\t existing.set(attrs, options);\n\t if (sortable && !sort && existing.hasChanged(sortAttr)) sort = true;\n\t }\n\t models[i] = existing;\n\t\n\t // If this is a new, valid model, push it to the `toAdd` list.\n\t } else if (add) {\n\t model = models[i] = this._prepareModel(attrs, options);\n\t if (!model) continue;\n\t toAdd.push(model);\n\t this._addReference(model, options);\n\t }\n\t\n\t // Do not add multiple models with the same `id`.\n\t model = existing || model;\n\t if (!model) continue;\n\t id = this.modelId(model.attributes);\n\t if (order && (model.isNew() || !modelMap[id])) {\n\t order.push(model);\n\t\n\t // Check to see if this is actually a new model at this index.\n\t orderChanged = orderChanged || !this.models[i] || model.cid !== this.models[i].cid;\n\t }\n\t\n\t modelMap[id] = true;\n\t }\n\t\n\t // Remove nonexistent models if appropriate.\n\t if (remove) {\n\t for (var i = 0; i < this.length; i++) {\n\t if (!modelMap[(model = this.models[i]).cid]) toRemove.push(model);\n\t }\n\t if (toRemove.length) this._removeModels(toRemove, options);\n\t }\n\t\n\t // See if sorting is needed, update `length` and splice in new models.\n\t if (toAdd.length || orderChanged) {\n\t if (sortable) sort = true;\n\t this.length += toAdd.length;\n\t if (at != null) {\n\t for (var i = 0; i < toAdd.length; i++) {\n\t this.models.splice(at + i, 0, toAdd[i]);\n\t }\n\t } else {\n\t if (order) this.models.length = 0;\n\t var orderedModels = order || toAdd;\n\t for (var i = 0; i < orderedModels.length; i++) {\n\t this.models.push(orderedModels[i]);\n\t }\n\t }\n\t }\n\t\n\t // Silently sort the collection if appropriate.\n\t if (sort) this.sort({silent: true});\n\t\n\t // Unless silenced, it's time to fire all appropriate add/sort events.\n\t if (!options.silent) {\n\t var addOpts = at != null ? _.clone(options) : options;\n\t for (var i = 0; i < toAdd.length; i++) {\n\t if (at != null) addOpts.index = at + i;\n\t (model = toAdd[i]).trigger('add', model, this, addOpts);\n\t }\n\t if (sort || orderChanged) this.trigger('sort', this, options);\n\t if (toAdd.length || toRemove.length) this.trigger('update', this, options);\n\t }\n\t\n\t // Return the added (or merged) model (or models).\n\t return singular ? models[0] : models;\n\t },\n\t\n\t // When you have more items than you want to add or remove individually,\n\t // you can reset the entire set with a new list of models, without firing\n\t // any granular `add` or `remove` events. Fires `reset` when finished.\n\t // Useful for bulk operations and optimizations.\n\t reset: function(models, options) {\n\t options = options ? _.clone(options) : {};\n\t for (var i = 0; i < this.models.length; i++) {\n\t this._removeReference(this.models[i], options);\n\t }\n\t options.previousModels = this.models;\n\t this._reset();\n\t models = this.add(models, _.extend({silent: true}, options));\n\t if (!options.silent) this.trigger('reset', this, options);\n\t return models;\n\t },\n\t\n\t // Add a model to the end of the collection.\n\t push: function(model, options) {\n\t return this.add(model, _.extend({at: this.length}, options));\n\t },\n\t\n\t // Remove a model from the end of the collection.\n\t pop: function(options) {\n\t var model = this.at(this.length - 1);\n\t return this.remove(model, options);\n\t },\n\t\n\t // Add a model to the beginning of the collection.\n\t unshift: function(model, options) {\n\t return this.add(model, _.extend({at: 0}, options));\n\t },\n\t\n\t // Remove a model from the beginning of the collection.\n\t shift: function(options) {\n\t var model = this.at(0);\n\t return this.remove(model, options);\n\t },\n\t\n\t // Slice out a sub-array of models from the collection.\n\t slice: function() {\n\t return slice.apply(this.models, arguments);\n\t },\n\t\n\t // Get a model from the set by id.\n\t get: function(obj) {\n\t if (obj == null) return void 0;\n\t var id = this.modelId(this._isModel(obj) ? obj.attributes : obj);\n\t return this._byId[obj] || this._byId[id] || this._byId[obj.cid];\n\t },\n\t\n\t // Get the model at the given index.\n\t at: function(index) {\n\t if (index < 0) index += this.length;\n\t return this.models[index];\n\t },\n\t\n\t // Return models with matching attributes. Useful for simple cases of\n\t // `filter`.\n\t where: function(attrs, first) {\n\t var matches = _.matches(attrs);\n\t return this[first ? 'find' : 'filter'](function(model) {\n\t return matches(model.attributes);\n\t });\n\t },\n\t\n\t // Return the first model with matching attributes. Useful for simple cases\n\t // of `find`.\n\t findWhere: function(attrs) {\n\t return this.where(attrs, true);\n\t },\n\t\n\t // Force the collection to re-sort itself. You don't need to call this under\n\t // normal circumstances, as the set will maintain sort order as each item\n\t // is added.\n\t sort: function(options) {\n\t if (!this.comparator) throw new Error('Cannot sort a set without a comparator');\n\t options || (options = {});\n\t\n\t // Run sort based on type of `comparator`.\n\t if (_.isString(this.comparator) || this.comparator.length === 1) {\n\t this.models = this.sortBy(this.comparator, this);\n\t } else {\n\t this.models.sort(_.bind(this.comparator, this));\n\t }\n\t\n\t if (!options.silent) this.trigger('sort', this, options);\n\t return this;\n\t },\n\t\n\t // Pluck an attribute from each model in the collection.\n\t pluck: function(attr) {\n\t return _.invoke(this.models, 'get', attr);\n\t },\n\t\n\t // Fetch the default set of models for this collection, resetting the\n\t // collection when they arrive. If `reset: true` is passed, the response\n\t // data will be passed through the `reset` method instead of `set`.\n\t fetch: function(options) {\n\t options = _.extend({parse: true}, options);\n\t var success = options.success;\n\t var collection = this;\n\t options.success = function(resp) {\n\t var method = options.reset ? 'reset' : 'set';\n\t collection[method](resp, options);\n\t if (success) success.call(options.context, collection, resp, options);\n\t collection.trigger('sync', collection, resp, options);\n\t };\n\t wrapError(this, options);\n\t return this.sync('read', this, options);\n\t },\n\t\n\t // Create a new instance of a model in this collection. Add the model to the\n\t // collection immediately, unless `wait: true` is passed, in which case we\n\t // wait for the server to agree.\n\t create: function(model, options) {\n\t options = options ? _.clone(options) : {};\n\t var wait = options.wait;\n\t model = this._prepareModel(model, options);\n\t if (!model) return false;\n\t if (!wait) this.add(model, options);\n\t var collection = this;\n\t var success = options.success;\n\t options.success = function(model, resp, callbackOpts) {\n\t if (wait) collection.add(model, callbackOpts);\n\t if (success) success.call(callbackOpts.context, model, resp, callbackOpts);\n\t };\n\t model.save(null, options);\n\t return model;\n\t },\n\t\n\t // **parse** converts a response into a list of models to be added to the\n\t // collection. The default implementation is just to pass it through.\n\t parse: function(resp, options) {\n\t return resp;\n\t },\n\t\n\t // Create a new collection with an identical list of models as this one.\n\t clone: function() {\n\t return new this.constructor(this.models, {\n\t model: this.model,\n\t comparator: this.comparator\n\t });\n\t },\n\t\n\t // Define how to uniquely identify models in the collection.\n\t modelId: function (attrs) {\n\t return attrs[this.model.prototype.idAttribute || 'id'];\n\t },\n\t\n\t // Private method to reset all internal state. Called when the collection\n\t // is first initialized or reset.\n\t _reset: function() {\n\t this.length = 0;\n\t this.models = [];\n\t this._byId = {};\n\t },\n\t\n\t // Prepare a hash of attributes (or other model) to be added to this\n\t // collection.\n\t _prepareModel: function(attrs, options) {\n\t if (this._isModel(attrs)) {\n\t if (!attrs.collection) attrs.collection = this;\n\t return attrs;\n\t }\n\t options = options ? _.clone(options) : {};\n\t options.collection = this;\n\t var model = new this.model(attrs, options);\n\t if (!model.validationError) return model;\n\t this.trigger('invalid', this, model.validationError, options);\n\t return false;\n\t },\n\t\n\t // Internal method called by both remove and set.\n\t // Returns removed models, or false if nothing is removed.\n\t _removeModels: function(models, options) {\n\t var removed = [];\n\t for (var i = 0; i < models.length; i++) {\n\t var model = this.get(models[i]);\n\t if (!model) continue;\n\t\n\t var index = this.indexOf(model);\n\t this.models.splice(index, 1);\n\t this.length--;\n\t\n\t if (!options.silent) {\n\t options.index = index;\n\t model.trigger('remove', model, this, options);\n\t }\n\t\n\t removed.push(model);\n\t this._removeReference(model, options);\n\t }\n\t return removed.length ? removed : false;\n\t },\n\t\n\t // Method for checking whether an object should be considered a model for\n\t // the purposes of adding to the collection.\n\t _isModel: function (model) {\n\t return model instanceof Model;\n\t },\n\t\n\t // Internal method to create a model's ties to a collection.\n\t _addReference: function(model, options) {\n\t this._byId[model.cid] = model;\n\t var id = this.modelId(model.attributes);\n\t if (id != null) this._byId[id] = model;\n\t model.on('all', this._onModelEvent, this);\n\t },\n\t\n\t // Internal method to sever a model's ties to a collection.\n\t _removeReference: function(model, options) {\n\t delete this._byId[model.cid];\n\t var id = this.modelId(model.attributes);\n\t if (id != null) delete this._byId[id];\n\t if (this === model.collection) delete model.collection;\n\t model.off('all', this._onModelEvent, this);\n\t },\n\t\n\t // Internal method called every time a model in the set fires an event.\n\t // Sets need to update their indexes when models change ids. All other\n\t // events simply proxy through. \"add\" and \"remove\" events that originate\n\t // in other collections are ignored.\n\t _onModelEvent: function(event, model, collection, options) {\n\t if ((event === 'add' || event === 'remove') && collection !== this) return;\n\t if (event === 'destroy') this.remove(model, options);\n\t if (event === 'change') {\n\t var prevId = this.modelId(model.previousAttributes());\n\t var id = this.modelId(model.attributes);\n\t if (prevId !== id) {\n\t if (prevId != null) delete this._byId[prevId];\n\t if (id != null) this._byId[id] = model;\n\t }\n\t }\n\t this.trigger.apply(this, arguments);\n\t }\n\t\n\t });\n\t\n\t // Underscore methods that we want to implement on the Collection.\n\t // 90% of the core usefulness of Backbone Collections is actually implemented\n\t // right here:\n\t var collectionMethods = { forEach: 3, each: 3, map: 3, collect: 3, reduce: 4,\n\t foldl: 4, inject: 4, reduceRight: 4, foldr: 4, find: 3, detect: 3, filter: 3,\n\t select: 3, reject: 3, every: 3, all: 3, some: 3, any: 3, include: 2,\n\t contains: 2, invoke: 0, max: 3, min: 3, toArray: 1, size: 1, first: 3,\n\t head: 3, take: 3, initial: 3, rest: 3, tail: 3, drop: 3, last: 3,\n\t without: 0, difference: 0, indexOf: 3, shuffle: 1, lastIndexOf: 3,\n\t isEmpty: 1, chain: 1, sample: 3, partition: 3 };\n\t\n\t // Mix in each Underscore method as a proxy to `Collection#models`.\n\t addUnderscoreMethods(Collection, collectionMethods, 'models');\n\t\n\t // Underscore methods that take a property name as an argument.\n\t var attributeMethods = ['groupBy', 'countBy', 'sortBy', 'indexBy'];\n\t\n\t // Use attributes instead of properties.\n\t _.each(attributeMethods, function(method) {\n\t if (!_[method]) return;\n\t Collection.prototype[method] = function(value, context) {\n\t var iterator = _.isFunction(value) ? value : function(model) {\n\t return model.get(value);\n\t };\n\t return _[method](this.models, iterator, context);\n\t };\n\t });\n\t\n\t // Backbone.View\n\t // -------------\n\t\n\t // Backbone Views are almost more convention than they are actual code. A View\n\t // is simply a JavaScript object that represents a logical chunk of UI in the\n\t // DOM. This might be a single item, an entire list, a sidebar or panel, or\n\t // even the surrounding frame which wraps your whole app. Defining a chunk of\n\t // UI as a **View** allows you to define your DOM events declaratively, without\n\t // having to worry about render order ... and makes it easy for the view to\n\t // react to specific changes in the state of your models.\n\t\n\t // Creating a Backbone.View creates its initial element outside of the DOM,\n\t // if an existing element is not provided...\n\t var View = Backbone.View = function(options) {\n\t this.cid = _.uniqueId('view');\n\t _.extend(this, _.pick(options, viewOptions));\n\t this._ensureElement();\n\t this.initialize.apply(this, arguments);\n\t };\n\t\n\t // Cached regex to split keys for `delegate`.\n\t var delegateEventSplitter = /^(\\S+)\\s*(.*)$/;\n\t\n\t // List of view options to be merged as properties.\n\t var viewOptions = ['model', 'collection', 'el', 'id', 'attributes', 'className', 'tagName', 'events'];\n\t\n\t // Set up all inheritable **Backbone.View** properties and methods.\n\t _.extend(View.prototype, Events, {\n\t\n\t // The default `tagName` of a View's element is `\"div\"`.\n\t tagName: 'div',\n\t\n\t // jQuery delegate for element lookup, scoped to DOM elements within the\n\t // current view. This should be preferred to global lookups where possible.\n\t $: function(selector) {\n\t return this.$el.find(selector);\n\t },\n\t\n\t // Initialize is an empty function by default. Override it with your own\n\t // initialization logic.\n\t initialize: function(){},\n\t\n\t // **render** is the core function that your view should override, in order\n\t // to populate its element (`this.el`), with the appropriate HTML. The\n\t // convention is for **render** to always return `this`.\n\t render: function() {\n\t return this;\n\t },\n\t\n\t // Remove this view by taking the element out of the DOM, and removing any\n\t // applicable Backbone.Events listeners.\n\t remove: function() {\n\t this._removeElement();\n\t this.stopListening();\n\t return this;\n\t },\n\t\n\t // Remove this view's element from the document and all event listeners\n\t // attached to it. Exposed for subclasses using an alternative DOM\n\t // manipulation API.\n\t _removeElement: function() {\n\t this.$el.remove();\n\t },\n\t\n\t // Change the view's element (`this.el` property) and re-delegate the\n\t // view's events on the new element.\n\t setElement: function(element) {\n\t this.undelegateEvents();\n\t this._setElement(element);\n\t this.delegateEvents();\n\t return this;\n\t },\n\t\n\t // Creates the `this.el` and `this.$el` references for this view using the\n\t // given `el`. `el` can be a CSS selector or an HTML string, a jQuery\n\t // context or an element. Subclasses can override this to utilize an\n\t // alternative DOM manipulation API and are only required to set the\n\t // `this.el` property.\n\t _setElement: function(el) {\n\t this.$el = el instanceof Backbone.$ ? el : Backbone.$(el);\n\t this.el = this.$el[0];\n\t },\n\t\n\t // Set callbacks, where `this.events` is a hash of\n\t //\n\t // *{\"event selector\": \"callback\"}*\n\t //\n\t // {\n\t // 'mousedown .title': 'edit',\n\t // 'click .button': 'save',\n\t // 'click .open': function(e) { ... }\n\t // }\n\t //\n\t // pairs. Callbacks will be bound to the view, with `this` set properly.\n\t // Uses event delegation for efficiency.\n\t // Omitting the selector binds the event to `this.el`.\n\t delegateEvents: function(events) {\n\t events || (events = _.result(this, 'events'));\n\t if (!events) return this;\n\t this.undelegateEvents();\n\t for (var key in events) {\n\t var method = events[key];\n\t if (!_.isFunction(method)) method = this[method];\n\t if (!method) continue;\n\t var match = key.match(delegateEventSplitter);\n\t this.delegate(match[1], match[2], _.bind(method, this));\n\t }\n\t return this;\n\t },\n\t\n\t // Add a single event listener to the view's element (or a child element\n\t // using `selector`). This only works for delegate-able events: not `focus`,\n\t // `blur`, and not `change`, `submit`, and `reset` in Internet Explorer.\n\t delegate: function(eventName, selector, listener) {\n\t this.$el.on(eventName + '.delegateEvents' + this.cid, selector, listener);\n\t return this;\n\t },\n\t\n\t // Clears all callbacks previously bound to the view by `delegateEvents`.\n\t // You usually don't need to use this, but may wish to if you have multiple\n\t // Backbone views attached to the same DOM element.\n\t undelegateEvents: function() {\n\t if (this.$el) this.$el.off('.delegateEvents' + this.cid);\n\t return this;\n\t },\n\t\n\t // A finer-grained `undelegateEvents` for removing a single delegated event.\n\t // `selector` and `listener` are both optional.\n\t undelegate: function(eventName, selector, listener) {\n\t this.$el.off(eventName + '.delegateEvents' + this.cid, selector, listener);\n\t return this;\n\t },\n\t\n\t // Produces a DOM element to be assigned to your view. Exposed for\n\t // subclasses using an alternative DOM manipulation API.\n\t _createElement: function(tagName) {\n\t return document.createElement(tagName);\n\t },\n\t\n\t // Ensure that the View has a DOM element to render into.\n\t // If `this.el` is a string, pass it through `$()`, take the first\n\t // matching element, and re-assign it to `el`. Otherwise, create\n\t // an element from the `id`, `className` and `tagName` properties.\n\t _ensureElement: function() {\n\t if (!this.el) {\n\t var attrs = _.extend({}, _.result(this, 'attributes'));\n\t if (this.id) attrs.id = _.result(this, 'id');\n\t if (this.className) attrs['class'] = _.result(this, 'className');\n\t this.setElement(this._createElement(_.result(this, 'tagName')));\n\t this._setAttributes(attrs);\n\t } else {\n\t this.setElement(_.result(this, 'el'));\n\t }\n\t },\n\t\n\t // Set attributes from a hash on this view's element. Exposed for\n\t // subclasses using an alternative DOM manipulation API.\n\t _setAttributes: function(attributes) {\n\t this.$el.attr(attributes);\n\t }\n\t\n\t });\n\t\n\t // Backbone.sync\n\t // -------------\n\t\n\t // Override this function to change the manner in which Backbone persists\n\t // models to the server. You will be passed the type of request, and the\n\t // model in question. By default, makes a RESTful Ajax request\n\t // to the model's `url()`. Some possible customizations could be:\n\t //\n\t // * Use `setTimeout` to batch rapid-fire updates into a single request.\n\t // * Send up the models as XML instead of JSON.\n\t // * Persist models via WebSockets instead of Ajax.\n\t //\n\t // Turn on `Backbone.emulateHTTP` in order to send `PUT` and `DELETE` requests\n\t // as `POST`, with a `_method` parameter containing the true HTTP method,\n\t // as well as all requests with the body as `application/x-www-form-urlencoded`\n\t // instead of `application/json` with the model in a param named `model`.\n\t // Useful when interfacing with server-side languages like **PHP** that make\n\t // it difficult to read the body of `PUT` requests.\n\t Backbone.sync = function(method, model, options) {\n\t var type = methodMap[method];\n\t\n\t // Default options, unless specified.\n\t _.defaults(options || (options = {}), {\n\t emulateHTTP: Backbone.emulateHTTP,\n\t emulateJSON: Backbone.emulateJSON\n\t });\n\t\n\t // Default JSON-request options.\n\t var params = {type: type, dataType: 'json'};\n\t\n\t // Ensure that we have a URL.\n\t if (!options.url) {\n\t params.url = _.result(model, 'url') || urlError();\n\t }\n\t\n\t // Ensure that we have the appropriate request data.\n\t if (options.data == null && model && (method === 'create' || method === 'update' || method === 'patch')) {\n\t params.contentType = 'application/json';\n\t params.data = JSON.stringify(options.attrs || model.toJSON(options));\n\t }\n\t\n\t // For older servers, emulate JSON by encoding the request into an HTML-form.\n\t if (options.emulateJSON) {\n\t params.contentType = 'application/x-www-form-urlencoded';\n\t params.data = params.data ? {model: params.data} : {};\n\t }\n\t\n\t // For older servers, emulate HTTP by mimicking the HTTP method with `_method`\n\t // And an `X-HTTP-Method-Override` header.\n\t if (options.emulateHTTP && (type === 'PUT' || type === 'DELETE' || type === 'PATCH')) {\n\t params.type = 'POST';\n\t if (options.emulateJSON) params.data._method = type;\n\t var beforeSend = options.beforeSend;\n\t options.beforeSend = function(xhr) {\n\t xhr.setRequestHeader('X-HTTP-Method-Override', type);\n\t if (beforeSend) return beforeSend.apply(this, arguments);\n\t };\n\t }\n\t\n\t // Don't process data on a non-GET request.\n\t if (params.type !== 'GET' && !options.emulateJSON) {\n\t params.processData = false;\n\t }\n\t\n\t // Pass along `textStatus` and `errorThrown` from jQuery.\n\t var error = options.error;\n\t options.error = function(xhr, textStatus, errorThrown) {\n\t options.textStatus = textStatus;\n\t options.errorThrown = errorThrown;\n\t if (error) error.call(options.context, xhr, textStatus, errorThrown);\n\t };\n\t\n\t // Make the request, allowing the user to override any Ajax options.\n\t var xhr = options.xhr = Backbone.ajax(_.extend(params, options));\n\t model.trigger('request', model, xhr, options);\n\t return xhr;\n\t };\n\t\n\t // Map from CRUD to HTTP for our default `Backbone.sync` implementation.\n\t var methodMap = {\n\t 'create': 'POST',\n\t 'update': 'PUT',\n\t 'patch': 'PATCH',\n\t 'delete': 'DELETE',\n\t 'read': 'GET'\n\t };\n\t\n\t // Set the default implementation of `Backbone.ajax` to proxy through to `$`.\n\t // Override this if you'd like to use a different library.\n\t Backbone.ajax = function() {\n\t return Backbone.$.ajax.apply(Backbone.$, arguments);\n\t };\n\t\n\t // Backbone.Router\n\t // ---------------\n\t\n\t // Routers map faux-URLs to actions, and fire events when routes are\n\t // matched. Creating a new one sets its `routes` hash, if not set statically.\n\t var Router = Backbone.Router = function(options) {\n\t options || (options = {});\n\t if (options.routes) this.routes = options.routes;\n\t this._bindRoutes();\n\t this.initialize.apply(this, arguments);\n\t };\n\t\n\t // Cached regular expressions for matching named param parts and splatted\n\t // parts of route strings.\n\t var optionalParam = /\\((.*?)\\)/g;\n\t var namedParam = /(\\(\\?)?:\\w+/g;\n\t var splatParam = /\\*\\w+/g;\n\t var escapeRegExp = /[\\-{}\\[\\]+?.,\\\\\\^$|#\\s]/g;\n\t\n\t // Set up all inheritable **Backbone.Router** properties and methods.\n\t _.extend(Router.prototype, Events, {\n\t\n\t // Initialize is an empty function by default. Override it with your own\n\t // initialization logic.\n\t initialize: function(){},\n\t\n\t // Manually bind a single named route to a callback. For example:\n\t //\n\t // this.route('search/:query/p:num', 'search', function(query, num) {\n\t // ...\n\t // });\n\t //\n\t route: function(route, name, callback) {\n\t if (!_.isRegExp(route)) route = this._routeToRegExp(route);\n\t if (_.isFunction(name)) {\n\t callback = name;\n\t name = '';\n\t }\n\t if (!callback) callback = this[name];\n\t var router = this;\n\t Backbone.history.route(route, function(fragment) {\n\t var args = router._extractParameters(route, fragment);\n\t if (router.execute(callback, args, name) !== false) {\n\t router.trigger.apply(router, ['route:' + name].concat(args));\n\t router.trigger('route', name, args);\n\t Backbone.history.trigger('route', router, name, args);\n\t }\n\t });\n\t return this;\n\t },\n\t\n\t // Execute a route handler with the provided parameters. This is an\n\t // excellent place to do pre-route setup or post-route cleanup.\n\t execute: function(callback, args, name) {\n\t if (callback) callback.apply(this, args);\n\t },\n\t\n\t // Simple proxy to `Backbone.history` to save a fragment into the history.\n\t navigate: function(fragment, options) {\n\t Backbone.history.navigate(fragment, options);\n\t return this;\n\t },\n\t\n\t // Bind all defined routes to `Backbone.history`. We have to reverse the\n\t // order of the routes here to support behavior where the most general\n\t // routes can be defined at the bottom of the route map.\n\t _bindRoutes: function() {\n\t if (!this.routes) return;\n\t this.routes = _.result(this, 'routes');\n\t var route, routes = _.keys(this.routes);\n\t while ((route = routes.pop()) != null) {\n\t this.route(route, this.routes[route]);\n\t }\n\t },\n\t\n\t // Convert a route string into a regular expression, suitable for matching\n\t // against the current location hash.\n\t _routeToRegExp: function(route) {\n\t route = route.replace(escapeRegExp, '\\\\$&')\n\t .replace(optionalParam, '(?:$1)?')\n\t .replace(namedParam, function(match, optional) {\n\t return optional ? match : '([^/?]+)';\n\t })\n\t .replace(splatParam, '([^?]*?)');\n\t return new RegExp('^' + route + '(?:\\\\?([\\\\s\\\\S]*))?$');\n\t },\n\t\n\t // Given a route, and a URL fragment that it matches, return the array of\n\t // extracted decoded parameters. Empty or unmatched parameters will be\n\t // treated as `null` to normalize cross-browser behavior.\n\t _extractParameters: function(route, fragment) {\n\t var params = route.exec(fragment).slice(1);\n\t return _.map(params, function(param, i) {\n\t // Don't decode the search params.\n\t if (i === params.length - 1) return param || null;\n\t return param ? decodeURIComponent(param) : null;\n\t });\n\t }\n\t\n\t });\n\t\n\t // Backbone.History\n\t // ----------------\n\t\n\t // Handles cross-browser history management, based on either\n\t // [pushState](http://diveintohtml5.info/history.html) and real URLs, or\n\t // [onhashchange](https://developer.mozilla.org/en-US/docs/DOM/window.onhashchange)\n\t // and URL fragments. If the browser supports neither (old IE, natch),\n\t // falls back to polling.\n\t var History = Backbone.History = function() {\n\t this.handlers = [];\n\t _.bindAll(this, 'checkUrl');\n\t\n\t // Ensure that `History` can be used outside of the browser.\n\t if (typeof window !== 'undefined') {\n\t this.location = window.location;\n\t this.history = window.history;\n\t }\n\t };\n\t\n\t // Cached regex for stripping a leading hash/slash and trailing space.\n\t var routeStripper = /^[#\\/]|\\s+$/g;\n\t\n\t // Cached regex for stripping leading and trailing slashes.\n\t var rootStripper = /^\\/+|\\/+$/g;\n\t\n\t // Cached regex for stripping urls of hash.\n\t var pathStripper = /#.*$/;\n\t\n\t // Has the history handling already been started?\n\t History.started = false;\n\t\n\t // Set up all inheritable **Backbone.History** properties and methods.\n\t _.extend(History.prototype, Events, {\n\t\n\t // The default interval to poll for hash changes, if necessary, is\n\t // twenty times a second.\n\t interval: 50,\n\t\n\t // Are we at the app root?\n\t atRoot: function() {\n\t var path = this.location.pathname.replace(/[^\\/]$/, '$&/');\n\t return path === this.root && !this.getSearch();\n\t },\n\t\n\t // Does the pathname match the root?\n\t matchRoot: function() {\n\t var path = this.decodeFragment(this.location.pathname);\n\t var root = path.slice(0, this.root.length - 1) + '/';\n\t return root === this.root;\n\t },\n\t\n\t // Unicode characters in `location.pathname` are percent encoded so they're\n\t // decoded for comparison. `%25` should not be decoded since it may be part\n\t // of an encoded parameter.\n\t decodeFragment: function(fragment) {\n\t return decodeURI(fragment.replace(/%25/g, '%2525'));\n\t },\n\t\n\t // In IE6, the hash fragment and search params are incorrect if the\n\t // fragment contains `?`.\n\t getSearch: function() {\n\t var match = this.location.href.replace(/#.*/, '').match(/\\?.+/);\n\t return match ? match[0] : '';\n\t },\n\t\n\t // Gets the true hash value. Cannot use location.hash directly due to bug\n\t // in Firefox where location.hash will always be decoded.\n\t getHash: function(window) {\n\t var match = (window || this).location.href.match(/#(.*)$/);\n\t return match ? match[1] : '';\n\t },\n\t\n\t // Get the pathname and search params, without the root.\n\t getPath: function() {\n\t var path = this.decodeFragment(\n\t this.location.pathname + this.getSearch()\n\t ).slice(this.root.length - 1);\n\t return path.charAt(0) === '/' ? path.slice(1) : path;\n\t },\n\t\n\t // Get the cross-browser normalized URL fragment from the path or hash.\n\t getFragment: function(fragment) {\n\t if (fragment == null) {\n\t if (this._usePushState || !this._wantsHashChange) {\n\t fragment = this.getPath();\n\t } else {\n\t fragment = this.getHash();\n\t }\n\t }\n\t return fragment.replace(routeStripper, '');\n\t },\n\t\n\t // Start the hash change handling, returning `true` if the current URL matches\n\t // an existing route, and `false` otherwise.\n\t start: function(options) {\n\t if (History.started) throw new Error('Backbone.history has already been started');\n\t History.started = true;\n\t\n\t // Figure out the initial configuration. Do we need an iframe?\n\t // Is pushState desired ... is it available?\n\t this.options = _.extend({root: '/'}, this.options, options);\n\t this.root = this.options.root;\n\t this._wantsHashChange = this.options.hashChange !== false;\n\t this._hasHashChange = 'onhashchange' in window;\n\t this._useHashChange = this._wantsHashChange && this._hasHashChange;\n\t this._wantsPushState = !!this.options.pushState;\n\t this._hasPushState = !!(this.history && this.history.pushState);\n\t this._usePushState = this._wantsPushState && this._hasPushState;\n\t this.fragment = this.getFragment();\n\t\n\t // Normalize root to always include a leading and trailing slash.\n\t this.root = ('/' + this.root + '/').replace(rootStripper, '/');\n\t\n\t // Transition from hashChange to pushState or vice versa if both are\n\t // requested.\n\t if (this._wantsHashChange && this._wantsPushState) {\n\t\n\t // If we've started off with a route from a `pushState`-enabled\n\t // browser, but we're currently in a browser that doesn't support it...\n\t if (!this._hasPushState && !this.atRoot()) {\n\t var root = this.root.slice(0, -1) || '/';\n\t this.location.replace(root + '#' + this.getPath());\n\t // Return immediately as browser will do redirect to new url\n\t return true;\n\t\n\t // Or if we've started out with a hash-based route, but we're currently\n\t // in a browser where it could be `pushState`-based instead...\n\t } else if (this._hasPushState && this.atRoot()) {\n\t this.navigate(this.getHash(), {replace: true});\n\t }\n\t\n\t }\n\t\n\t // Proxy an iframe to handle location events if the browser doesn't\n\t // support the `hashchange` event, HTML5 history, or the user wants\n\t // `hashChange` but not `pushState`.\n\t if (!this._hasHashChange && this._wantsHashChange && !this._usePushState) {\n\t this.iframe = document.createElement('iframe');\n\t this.iframe.src = 'javascript:0';\n\t this.iframe.style.display = 'none';\n\t this.iframe.tabIndex = -1;\n\t var body = document.body;\n\t // Using `appendChild` will throw on IE < 9 if the document is not ready.\n\t var iWindow = body.insertBefore(this.iframe, body.firstChild).contentWindow;\n\t iWindow.document.open();\n\t iWindow.document.close();\n\t iWindow.location.hash = '#' + this.fragment;\n\t }\n\t\n\t // Add a cross-platform `addEventListener` shim for older browsers.\n\t var addEventListener = window.addEventListener || function (eventName, listener) {\n\t return attachEvent('on' + eventName, listener);\n\t };\n\t\n\t // Depending on whether we're using pushState or hashes, and whether\n\t // 'onhashchange' is supported, determine how we check the URL state.\n\t if (this._usePushState) {\n\t addEventListener('popstate', this.checkUrl, false);\n\t } else if (this._useHashChange && !this.iframe) {\n\t addEventListener('hashchange', this.checkUrl, false);\n\t } else if (this._wantsHashChange) {\n\t this._checkUrlInterval = setInterval(this.checkUrl, this.interval);\n\t }\n\t\n\t if (!this.options.silent) return this.loadUrl();\n\t },\n\t\n\t // Disable Backbone.history, perhaps temporarily. Not useful in a real app,\n\t // but possibly useful for unit testing Routers.\n\t stop: function() {\n\t // Add a cross-platform `removeEventListener` shim for older browsers.\n\t var removeEventListener = window.removeEventListener || function (eventName, listener) {\n\t return detachEvent('on' + eventName, listener);\n\t };\n\t\n\t // Remove window listeners.\n\t if (this._usePushState) {\n\t removeEventListener('popstate', this.checkUrl, false);\n\t } else if (this._useHashChange && !this.iframe) {\n\t removeEventListener('hashchange', this.checkUrl, false);\n\t }\n\t\n\t // Clean up the iframe if necessary.\n\t if (this.iframe) {\n\t document.body.removeChild(this.iframe);\n\t this.iframe = null;\n\t }\n\t\n\t // Some environments will throw when clearing an undefined interval.\n\t if (this._checkUrlInterval) clearInterval(this._checkUrlInterval);\n\t History.started = false;\n\t },\n\t\n\t // Add a route to be tested when the fragment changes. Routes added later\n\t // may override previous routes.\n\t route: function(route, callback) {\n\t this.handlers.unshift({route: route, callback: callback});\n\t },\n\t\n\t // Checks the current URL to see if it has changed, and if it has,\n\t // calls `loadUrl`, normalizing across the hidden iframe.\n\t checkUrl: function(e) {\n\t var current = this.getFragment();\n\t\n\t // If the user pressed the back button, the iframe's hash will have\n\t // changed and we should use that for comparison.\n\t if (current === this.fragment && this.iframe) {\n\t current = this.getHash(this.iframe.contentWindow);\n\t }\n\t\n\t if (current === this.fragment) return false;\n\t if (this.iframe) this.navigate(current);\n\t this.loadUrl();\n\t },\n\t\n\t // Attempt to load the current URL fragment. If a route succeeds with a\n\t // match, returns `true`. If no defined routes matches the fragment,\n\t // returns `false`.\n\t loadUrl: function(fragment) {\n\t // If the root doesn't match, no routes can match either.\n\t if (!this.matchRoot()) return false;\n\t fragment = this.fragment = this.getFragment(fragment);\n\t return _.any(this.handlers, function(handler) {\n\t if (handler.route.test(fragment)) {\n\t handler.callback(fragment);\n\t return true;\n\t }\n\t });\n\t },\n\t\n\t // Save a fragment into the hash history, or replace the URL state if the\n\t // 'replace' option is passed. You are responsible for properly URL-encoding\n\t // the fragment in advance.\n\t //\n\t // The options object can contain `trigger: true` if you wish to have the\n\t // route callback be fired (not usually desirable), or `replace: true`, if\n\t // you wish to modify the current URL without adding an entry to the history.\n\t navigate: function(fragment, options) {\n\t if (!History.started) return false;\n\t if (!options || options === true) options = {trigger: !!options};\n\t\n\t // Normalize the fragment.\n\t fragment = this.getFragment(fragment || '');\n\t\n\t // Don't include a trailing slash on the root.\n\t var root = this.root;\n\t if (fragment === '' || fragment.charAt(0) === '?') {\n\t root = root.slice(0, -1) || '/';\n\t }\n\t var url = root + fragment;\n\t\n\t // Strip the hash and decode for matching.\n\t fragment = this.decodeFragment(fragment.replace(pathStripper, ''));\n\t\n\t if (this.fragment === fragment) return;\n\t this.fragment = fragment;\n\t\n\t // If pushState is available, we use it to set the fragment as a real URL.\n\t if (this._usePushState) {\n\t this.history[options.replace ? 'replaceState' : 'pushState']({}, document.title, url);\n\t\n\t // If hash changes haven't been explicitly disabled, update the hash\n\t // fragment to store history.\n\t } else if (this._wantsHashChange) {\n\t this._updateHash(this.location, fragment, options.replace);\n\t if (this.iframe && (fragment !== this.getHash(this.iframe.contentWindow))) {\n\t var iWindow = this.iframe.contentWindow;\n\t\n\t // Opening and closing the iframe tricks IE7 and earlier to push a\n\t // history entry on hash-tag change. When replace is true, we don't\n\t // want this.\n\t if (!options.replace) {\n\t iWindow.document.open();\n\t iWindow.document.close();\n\t }\n\t\n\t this._updateHash(iWindow.location, fragment, options.replace);\n\t }\n\t\n\t // If you've told us that you explicitly don't want fallback hashchange-\n\t // based history, then `navigate` becomes a page refresh.\n\t } else {\n\t return this.location.assign(url);\n\t }\n\t if (options.trigger) return this.loadUrl(fragment);\n\t },\n\t\n\t // Update the hash location, either replacing the current entry, or adding\n\t // a new one to the browser history.\n\t _updateHash: function(location, fragment, replace) {\n\t if (replace) {\n\t var href = location.href.replace(/(javascript:|#).*$/, '');\n\t location.replace(href + '#' + fragment);\n\t } else {\n\t // Some browsers require that `hash` contains a leading #.\n\t location.hash = '#' + fragment;\n\t }\n\t }\n\t\n\t });\n\t\n\t // Create the default Backbone.history.\n\t Backbone.history = new History;\n\t\n\t // Helpers\n\t // -------\n\t\n\t // Helper function to correctly set up the prototype chain for subclasses.\n\t // Similar to `goog.inherits`, but uses a hash of prototype properties and\n\t // class properties to be extended.\n\t var extend = function(protoProps, staticProps) {\n\t var parent = this;\n\t var child;\n\t\n\t // The constructor function for the new subclass is either defined by you\n\t // (the \"constructor\" property in your `extend` definition), or defaulted\n\t // by us to simply call the parent constructor.\n\t if (protoProps && _.has(protoProps, 'constructor')) {\n\t child = protoProps.constructor;\n\t } else {\n\t child = function(){ return parent.apply(this, arguments); };\n\t }\n\t\n\t // Add static properties to the constructor function, if supplied.\n\t _.extend(child, parent, staticProps);\n\t\n\t // Set the prototype chain to inherit from `parent`, without calling\n\t // `parent` constructor function.\n\t var Surrogate = function(){ this.constructor = child; };\n\t Surrogate.prototype = parent.prototype;\n\t child.prototype = new Surrogate;\n\t\n\t // Add prototype properties (instance properties) to the subclass,\n\t // if supplied.\n\t if (protoProps) _.extend(child.prototype, protoProps);\n\t\n\t // Set a convenience property in case the parent's prototype is needed\n\t // later.\n\t child.__super__ = parent.prototype;\n\t\n\t return child;\n\t };\n\t\n\t // Set up inheritance for the model, collection, router, view and history.\n\t Model.extend = Collection.extend = Router.extend = View.extend = History.extend = extend;\n\t\n\t // Throw an error when a URL is needed, and none is supplied.\n\t var urlError = function() {\n\t throw new Error('A \"url\" property or function must be specified');\n\t };\n\t\n\t // Wrap an optional error callback with a fallback error event.\n\t var wrapError = function(model, options) {\n\t var error = options.error;\n\t options.error = function(resp) {\n\t if (error) error.call(options.context, model, resp, options);\n\t model.trigger('error', model, resp, options);\n\t };\n\t };\n\t\n\t return Backbone;\n\t\n\t}));\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 404 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!\n\t * jQuery JavaScript Library v1.12.1\n\t * http://jquery.com/\n\t *\n\t * Includes Sizzle.js\n\t * http://sizzlejs.com/\n\t *\n\t * Copyright jQuery Foundation and other contributors\n\t * Released under the MIT license\n\t * http://jquery.org/license\n\t *\n\t * Date: 2016-02-22T19:07Z\n\t */\n\t\n\t(function( global, factory ) {\n\t\n\t\tif ( typeof module === \"object\" && typeof module.exports === \"object\" ) {\n\t\t\t// For CommonJS and CommonJS-like environments where a proper `window`\n\t\t\t// is present, execute the factory and get jQuery.\n\t\t\t// For environments that do not have a `window` with a `document`\n\t\t\t// (such as Node.js), expose a factory as module.exports.\n\t\t\t// This accentuates the need for the creation of a real `window`.\n\t\t\t// e.g. var jQuery = require(\"jquery\")(window);\n\t\t\t// See ticket #14549 for more info.\n\t\t\tmodule.exports = global.document ?\n\t\t\t\tfactory( global, true ) :\n\t\t\t\tfunction( w ) {\n\t\t\t\t\tif ( !w.document ) {\n\t\t\t\t\t\tthrow new Error( \"jQuery requires a window with a document\" );\n\t\t\t\t\t}\n\t\t\t\t\treturn factory( w );\n\t\t\t\t};\n\t\t} else {\n\t\t\tfactory( global );\n\t\t}\n\t\n\t// Pass this if window is not defined yet\n\t}(typeof window !== \"undefined\" ? window : this, function( window, noGlobal ) {\n\t\n\t// Support: Firefox 18+\n\t// Can't be in strict mode, several libs including ASP.NET trace\n\t// the stack via arguments.caller.callee and Firefox dies if\n\t// you try to trace through \"use strict\" call chains. (#13335)\n\t//\"use strict\";\n\tvar deletedIds = [];\n\t\n\tvar document = window.document;\n\t\n\tvar slice = deletedIds.slice;\n\t\n\tvar concat = deletedIds.concat;\n\t\n\tvar push = deletedIds.push;\n\t\n\tvar indexOf = deletedIds.indexOf;\n\t\n\tvar class2type = {};\n\t\n\tvar toString = class2type.toString;\n\t\n\tvar hasOwn = class2type.hasOwnProperty;\n\t\n\tvar support = {};\n\t\n\t\n\t\n\tvar\n\t\tversion = \"1.12.1\",\n\t\n\t\t// Define a local copy of jQuery\n\t\tjQuery = function( selector, context ) {\n\t\n\t\t\t// The jQuery object is actually just the init constructor 'enhanced'\n\t\t\t// Need init if jQuery is called (just allow error to be thrown if not included)\n\t\t\treturn new jQuery.fn.init( selector, context );\n\t\t},\n\t\n\t\t// Support: Android<4.1, IE<9\n\t\t// Make sure we trim BOM and NBSP\n\t\trtrim = /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,\n\t\n\t\t// Matches dashed string for camelizing\n\t\trmsPrefix = /^-ms-/,\n\t\trdashAlpha = /-([\\da-z])/gi,\n\t\n\t\t// Used by jQuery.camelCase as callback to replace()\n\t\tfcamelCase = function( all, letter ) {\n\t\t\treturn letter.toUpperCase();\n\t\t};\n\t\n\tjQuery.fn = jQuery.prototype = {\n\t\n\t\t// The current version of jQuery being used\n\t\tjquery: version,\n\t\n\t\tconstructor: jQuery,\n\t\n\t\t// Start with an empty selector\n\t\tselector: \"\",\n\t\n\t\t// The default length of a jQuery object is 0\n\t\tlength: 0,\n\t\n\t\ttoArray: function() {\n\t\t\treturn slice.call( this );\n\t\t},\n\t\n\t\t// Get the Nth element in the matched element set OR\n\t\t// Get the whole matched element set as a clean array\n\t\tget: function( num ) {\n\t\t\treturn num != null ?\n\t\n\t\t\t\t// Return just the one element from the set\n\t\t\t\t( num < 0 ? this[ num + this.length ] : this[ num ] ) :\n\t\n\t\t\t\t// Return all the elements in a clean array\n\t\t\t\tslice.call( this );\n\t\t},\n\t\n\t\t// Take an array of elements and push it onto the stack\n\t\t// (returning the new matched element set)\n\t\tpushStack: function( elems ) {\n\t\n\t\t\t// Build a new jQuery matched element set\n\t\t\tvar ret = jQuery.merge( this.constructor(), elems );\n\t\n\t\t\t// Add the old object onto the stack (as a reference)\n\t\t\tret.prevObject = this;\n\t\t\tret.context = this.context;\n\t\n\t\t\t// Return the newly-formed element set\n\t\t\treturn ret;\n\t\t},\n\t\n\t\t// Execute a callback for every element in the matched set.\n\t\teach: function( callback ) {\n\t\t\treturn jQuery.each( this, callback );\n\t\t},\n\t\n\t\tmap: function( callback ) {\n\t\t\treturn this.pushStack( jQuery.map( this, function( elem, i ) {\n\t\t\t\treturn callback.call( elem, i, elem );\n\t\t\t} ) );\n\t\t},\n\t\n\t\tslice: function() {\n\t\t\treturn this.pushStack( slice.apply( this, arguments ) );\n\t\t},\n\t\n\t\tfirst: function() {\n\t\t\treturn this.eq( 0 );\n\t\t},\n\t\n\t\tlast: function() {\n\t\t\treturn this.eq( -1 );\n\t\t},\n\t\n\t\teq: function( i ) {\n\t\t\tvar len = this.length,\n\t\t\t\tj = +i + ( i < 0 ? len : 0 );\n\t\t\treturn this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );\n\t\t},\n\t\n\t\tend: function() {\n\t\t\treturn this.prevObject || this.constructor();\n\t\t},\n\t\n\t\t// For internal use only.\n\t\t// Behaves like an Array's method, not like a jQuery method.\n\t\tpush: push,\n\t\tsort: deletedIds.sort,\n\t\tsplice: deletedIds.splice\n\t};\n\t\n\tjQuery.extend = jQuery.fn.extend = function() {\n\t\tvar src, copyIsArray, copy, name, options, clone,\n\t\t\ttarget = arguments[ 0 ] || {},\n\t\t\ti = 1,\n\t\t\tlength = arguments.length,\n\t\t\tdeep = false;\n\t\n\t\t// Handle a deep copy situation\n\t\tif ( typeof target === \"boolean\" ) {\n\t\t\tdeep = target;\n\t\n\t\t\t// skip the boolean and the target\n\t\t\ttarget = arguments[ i ] || {};\n\t\t\ti++;\n\t\t}\n\t\n\t\t// Handle case when target is a string or something (possible in deep copy)\n\t\tif ( typeof target !== \"object\" && !jQuery.isFunction( target ) ) {\n\t\t\ttarget = {};\n\t\t}\n\t\n\t\t// extend jQuery itself if only one argument is passed\n\t\tif ( i === length ) {\n\t\t\ttarget = this;\n\t\t\ti--;\n\t\t}\n\t\n\t\tfor ( ; i < length; i++ ) {\n\t\n\t\t\t// Only deal with non-null/undefined values\n\t\t\tif ( ( options = arguments[ i ] ) != null ) {\n\t\n\t\t\t\t// Extend the base object\n\t\t\t\tfor ( name in options ) {\n\t\t\t\t\tsrc = target[ name ];\n\t\t\t\t\tcopy = options[ name ];\n\t\n\t\t\t\t\t// Prevent never-ending loop\n\t\t\t\t\tif ( target === copy ) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\n\t\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\t\tif ( deep && copy && ( jQuery.isPlainObject( copy ) ||\n\t\t\t\t\t\t( copyIsArray = jQuery.isArray( copy ) ) ) ) {\n\t\n\t\t\t\t\t\tif ( copyIsArray ) {\n\t\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\t\tclone = src && jQuery.isArray( src ) ? src : [];\n\t\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tclone = src && jQuery.isPlainObject( src ) ? src : {};\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\t\ttarget[ name ] = jQuery.extend( deep, clone, copy );\n\t\n\t\t\t\t\t// Don't bring in undefined values\n\t\t\t\t\t} else if ( copy !== undefined ) {\n\t\t\t\t\t\ttarget[ name ] = copy;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\n\t\t// Return the modified object\n\t\treturn target;\n\t};\n\t\n\tjQuery.extend( {\n\t\n\t\t// Unique for each copy of jQuery on the page\n\t\texpando: \"jQuery\" + ( version + Math.random() ).replace( /\\D/g, \"\" ),\n\t\n\t\t// Assume jQuery is ready without the ready module\n\t\tisReady: true,\n\t\n\t\terror: function( msg ) {\n\t\t\tthrow new Error( msg );\n\t\t},\n\t\n\t\tnoop: function() {},\n\t\n\t\t// See test/unit/core.js for details concerning isFunction.\n\t\t// Since version 1.3, DOM methods and functions like alert\n\t\t// aren't supported. They return false on IE (#2968).\n\t\tisFunction: function( obj ) {\n\t\t\treturn jQuery.type( obj ) === \"function\";\n\t\t},\n\t\n\t\tisArray: Array.isArray || function( obj ) {\n\t\t\treturn jQuery.type( obj ) === \"array\";\n\t\t},\n\t\n\t\tisWindow: function( obj ) {\n\t\t\t/* jshint eqeqeq: false */\n\t\t\treturn obj != null && obj == obj.window;\n\t\t},\n\t\n\t\tisNumeric: function( obj ) {\n\t\n\t\t\t// parseFloat NaNs numeric-cast false positives (null|true|false|\"\")\n\t\t\t// ...but misinterprets leading-number strings, particularly hex literals (\"0x...\")\n\t\t\t// subtraction forces infinities to NaN\n\t\t\t// adding 1 corrects loss of precision from parseFloat (#15100)\n\t\t\tvar realStringObj = obj && obj.toString();\n\t\t\treturn !jQuery.isArray( obj ) && ( realStringObj - parseFloat( realStringObj ) + 1 ) >= 0;\n\t\t},\n\t\n\t\tisEmptyObject: function( obj ) {\n\t\t\tvar name;\n\t\t\tfor ( name in obj ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\n\t\tisPlainObject: function( obj ) {\n\t\t\tvar key;\n\t\n\t\t\t// Must be an Object.\n\t\t\t// Because of IE, we also have to check the presence of the constructor property.\n\t\t\t// Make sure that DOM nodes and window objects don't pass through, as well\n\t\t\tif ( !obj || jQuery.type( obj ) !== \"object\" || obj.nodeType || jQuery.isWindow( obj ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\n\t\t\ttry {\n\t\n\t\t\t\t// Not own constructor property must be Object\n\t\t\t\tif ( obj.constructor &&\n\t\t\t\t\t!hasOwn.call( obj, \"constructor\" ) &&\n\t\t\t\t\t!hasOwn.call( obj.constructor.prototype, \"isPrototypeOf\" ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} catch ( e ) {\n\t\n\t\t\t\t// IE8,9 Will throw exceptions on certain host objects #9897\n\t\t\t\treturn false;\n\t\t\t}\n\t\n\t\t\t// Support: IE<9\n\t\t\t// Handle iteration over inherited properties before own properties.\n\t\t\tif ( !support.ownFirst ) {\n\t\t\t\tfor ( key in obj ) {\n\t\t\t\t\treturn hasOwn.call( obj, key );\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\t// Own properties are enumerated firstly, so to speed up,\n\t\t\t// if last one is own, then all properties are own.\n\t\t\tfor ( key in obj ) {}\n\t\n\t\t\treturn key === undefined || hasOwn.call( obj, key );\n\t\t},\n\t\n\t\ttype: function( obj ) {\n\t\t\tif ( obj == null ) {\n\t\t\t\treturn obj + \"\";\n\t\t\t}\n\t\t\treturn typeof obj === \"object\" || typeof obj === \"function\" ?\n\t\t\t\tclass2type[ toString.call( obj ) ] || \"object\" :\n\t\t\t\ttypeof obj;\n\t\t},\n\t\n\t\t// Workarounds based on findings by Jim Driscoll\n\t\t// http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context\n\t\tglobalEval: function( data ) {\n\t\t\tif ( data && jQuery.trim( data ) ) {\n\t\n\t\t\t\t// We use execScript on Internet Explorer\n\t\t\t\t// We use an anonymous function so that context is window\n\t\t\t\t// rather than jQuery in Firefox\n\t\t\t\t( window.execScript || function( data ) {\n\t\t\t\t\twindow[ \"eval\" ].call( window, data ); // jscs:ignore requireDotNotation\n\t\t\t\t} )( data );\n\t\t\t}\n\t\t},\n\t\n\t\t// Convert dashed to camelCase; used by the css and data modules\n\t\t// Microsoft forgot to hump their vendor prefix (#9572)\n\t\tcamelCase: function( string ) {\n\t\t\treturn string.replace( rmsPrefix, \"ms-\" ).replace( rdashAlpha, fcamelCase );\n\t\t},\n\t\n\t\tnodeName: function( elem, name ) {\n\t\t\treturn elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();\n\t\t},\n\t\n\t\teach: function( obj, callback ) {\n\t\t\tvar length, i = 0;\n\t\n\t\t\tif ( isArrayLike( obj ) ) {\n\t\t\t\tlength = obj.length;\n\t\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor ( i in obj ) {\n\t\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\treturn obj;\n\t\t},\n\t\n\t\t// Support: Android<4.1, IE<9\n\t\ttrim: function( text ) {\n\t\t\treturn text == null ?\n\t\t\t\t\"\" :\n\t\t\t\t( text + \"\" ).replace( rtrim, \"\" );\n\t\t},\n\t\n\t\t// results is for internal usage only\n\t\tmakeArray: function( arr, results ) {\n\t\t\tvar ret = results || [];\n\t\n\t\t\tif ( arr != null ) {\n\t\t\t\tif ( isArrayLike( Object( arr ) ) ) {\n\t\t\t\t\tjQuery.merge( ret,\n\t\t\t\t\t\ttypeof arr === \"string\" ?\n\t\t\t\t\t\t[ arr ] : arr\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tpush.call( ret, arr );\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\treturn ret;\n\t\t},\n\t\n\t\tinArray: function( elem, arr, i ) {\n\t\t\tvar len;\n\t\n\t\t\tif ( arr ) {\n\t\t\t\tif ( indexOf ) {\n\t\t\t\t\treturn indexOf.call( arr, elem, i );\n\t\t\t\t}\n\t\n\t\t\t\tlen = arr.length;\n\t\t\t\ti = i ? i < 0 ? Math.max( 0, len + i ) : i : 0;\n\t\n\t\t\t\tfor ( ; i < len; i++ ) {\n\t\n\t\t\t\t\t// Skip accessing in sparse arrays\n\t\t\t\t\tif ( i in arr && arr[ i ] === elem ) {\n\t\t\t\t\t\treturn i;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\treturn -1;\n\t\t},\n\t\n\t\tmerge: function( first, second ) {\n\t\t\tvar len = +second.length,\n\t\t\t\tj = 0,\n\t\t\t\ti = first.length;\n\t\n\t\t\twhile ( j < len ) {\n\t\t\t\tfirst[ i++ ] = second[ j++ ];\n\t\t\t}\n\t\n\t\t\t// Support: IE<9\n\t\t\t// Workaround casting of .length to NaN on otherwise arraylike objects (e.g., NodeLists)\n\t\t\tif ( len !== len ) {\n\t\t\t\twhile ( second[ j ] !== undefined ) {\n\t\t\t\t\tfirst[ i++ ] = second[ j++ ];\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\tfirst.length = i;\n\t\n\t\t\treturn first;\n\t\t},\n\t\n\t\tgrep: function( elems, callback, invert ) {\n\t\t\tvar callbackInverse,\n\t\t\t\tmatches = [],\n\t\t\t\ti = 0,\n\t\t\t\tlength = elems.length,\n\t\t\t\tcallbackExpect = !invert;\n\t\n\t\t\t// Go through the array, only saving the items\n\t\t\t// that pass the validator function\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tcallbackInverse = !callback( elems[ i ], i );\n\t\t\t\tif ( callbackInverse !== callbackExpect ) {\n\t\t\t\t\tmatches.push( elems[ i ] );\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\treturn matches;\n\t\t},\n\t\n\t\t// arg is for internal usage only\n\t\tmap: function( elems, callback, arg ) {\n\t\t\tvar length, value,\n\t\t\t\ti = 0,\n\t\t\t\tret = [];\n\t\n\t\t\t// Go through the array, translating each of the items to their new values\n\t\t\tif ( isArrayLike( elems ) ) {\n\t\t\t\tlength = elems.length;\n\t\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\t\n\t\t\t\t\tif ( value != null ) {\n\t\t\t\t\t\tret.push( value );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\n\t\t\t// Go through every key on the object,\n\t\t\t} else {\n\t\t\t\tfor ( i in elems ) {\n\t\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\t\n\t\t\t\t\tif ( value != null ) {\n\t\t\t\t\t\tret.push( value );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\t// Flatten any nested arrays\n\t\t\treturn concat.apply( [], ret );\n\t\t},\n\t\n\t\t// A global GUID counter for objects\n\t\tguid: 1,\n\t\n\t\t// Bind a function to a context, optionally partially applying any\n\t\t// arguments.\n\t\tproxy: function( fn, context ) {\n\t\t\tvar args, proxy, tmp;\n\t\n\t\t\tif ( typeof context === \"string\" ) {\n\t\t\t\ttmp = fn[ context ];\n\t\t\t\tcontext = fn;\n\t\t\t\tfn = tmp;\n\t\t\t}\n\t\n\t\t\t// Quick check to determine if target is callable, in the spec\n\t\t\t// this throws a TypeError, but we will just return undefined.\n\t\t\tif ( !jQuery.isFunction( fn ) ) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\n\t\t\t// Simulated bind\n\t\t\targs = slice.call( arguments, 2 );\n\t\t\tproxy = function() {\n\t\t\t\treturn fn.apply( context || this, args.concat( slice.call( arguments ) ) );\n\t\t\t};\n\t\n\t\t\t// Set the guid of unique handler to the same of original handler, so it can be removed\n\t\t\tproxy.guid = fn.guid = fn.guid || jQuery.guid++;\n\t\n\t\t\treturn proxy;\n\t\t},\n\t\n\t\tnow: function() {\n\t\t\treturn +( new Date() );\n\t\t},\n\t\n\t\t// jQuery.support is not used in Core but other projects attach their\n\t\t// properties to it so it needs to exist.\n\t\tsupport: support\n\t} );\n\t\n\t// JSHint would error on this code due to the Symbol not being defined in ES5.\n\t// Defining this global in .jshintrc would create a danger of using the global\n\t// unguarded in another place, it seems safer to just disable JSHint for these\n\t// three lines.\n\t/* jshint ignore: start */\n\tif ( typeof Symbol === \"function\" ) {\n\t\tjQuery.fn[ Symbol.iterator ] = deletedIds[ Symbol.iterator ];\n\t}\n\t/* jshint ignore: end */\n\t\n\t// Populate the class2type map\n\tjQuery.each( \"Boolean Number String Function Array Date RegExp Object Error Symbol\".split( \" \" ),\n\tfunction( i, name ) {\n\t\tclass2type[ \"[object \" + name + \"]\" ] = name.toLowerCase();\n\t} );\n\t\n\tfunction isArrayLike( obj ) {\n\t\n\t\t// Support: iOS 8.2 (not reproducible in simulator)\n\t\t// `in` check used to prevent JIT error (gh-2145)\n\t\t// hasOwn isn't used here due to false negatives\n\t\t// regarding Nodelist length in IE\n\t\tvar length = !!obj && \"length\" in obj && obj.length,\n\t\t\ttype = jQuery.type( obj );\n\t\n\t\tif ( type === \"function\" || jQuery.isWindow( obj ) ) {\n\t\t\treturn false;\n\t\t}\n\t\n\t\treturn type === \"array\" || length === 0 ||\n\t\t\ttypeof length === \"number\" && length > 0 && ( length - 1 ) in obj;\n\t}\n\tvar Sizzle =\n\t/*!\n\t * Sizzle CSS Selector Engine v2.2.1\n\t * http://sizzlejs.com/\n\t *\n\t * Copyright jQuery Foundation and other contributors\n\t * Released under the MIT license\n\t * http://jquery.org/license\n\t *\n\t * Date: 2015-10-17\n\t */\n\t(function( window ) {\n\t\n\tvar i,\n\t\tsupport,\n\t\tExpr,\n\t\tgetText,\n\t\tisXML,\n\t\ttokenize,\n\t\tcompile,\n\t\tselect,\n\t\toutermostContext,\n\t\tsortInput,\n\t\thasDuplicate,\n\t\n\t\t// Local document vars\n\t\tsetDocument,\n\t\tdocument,\n\t\tdocElem,\n\t\tdocumentIsHTML,\n\t\trbuggyQSA,\n\t\trbuggyMatches,\n\t\tmatches,\n\t\tcontains,\n\t\n\t\t// Instance-specific data\n\t\texpando = \"sizzle\" + 1 * new Date(),\n\t\tpreferredDoc = window.document,\n\t\tdirruns = 0,\n\t\tdone = 0,\n\t\tclassCache = createCache(),\n\t\ttokenCache = createCache(),\n\t\tcompilerCache = createCache(),\n\t\tsortOrder = function( a, b ) {\n\t\t\tif ( a === b ) {\n\t\t\t\thasDuplicate = true;\n\t\t\t}\n\t\t\treturn 0;\n\t\t},\n\t\n\t\t// General-purpose constants\n\t\tMAX_NEGATIVE = 1 << 31,\n\t\n\t\t// Instance methods\n\t\thasOwn = ({}).hasOwnProperty,\n\t\tarr = [],\n\t\tpop = arr.pop,\n\t\tpush_native = arr.push,\n\t\tpush = arr.push,\n\t\tslice = arr.slice,\n\t\t// Use a stripped-down indexOf as it's faster than native\n\t\t// http://jsperf.com/thor-indexof-vs-for/5\n\t\tindexOf = function( list, elem ) {\n\t\t\tvar i = 0,\n\t\t\t\tlen = list.length;\n\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\tif ( list[i] === elem ) {\n\t\t\t\t\treturn i;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn -1;\n\t\t},\n\t\n\t\tbooleans = \"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\",\n\t\n\t\t// Regular expressions\n\t\n\t\t// http://www.w3.org/TR/css3-selectors/#whitespace\n\t\twhitespace = \"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",\n\t\n\t\t// http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier\n\t\tidentifier = \"(?:\\\\\\\\.|[\\\\w-]|[^\\\\x00-\\\\xa0])+\",\n\t\n\t\t// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors\n\t\tattributes = \"\\\\[\" + whitespace + \"*(\" + identifier + \")(?:\" + whitespace +\n\t\t\t// Operator (capture 2)\n\t\t\t\"*([*^$|!~]?=)\" + whitespace +\n\t\t\t// \"Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]\"\n\t\t\t\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\" + identifier + \"))|)\" + whitespace +\n\t\t\t\"*\\\\]\",\n\t\n\t\tpseudos = \":(\" + identifier + \")(?:\\\\((\" +\n\t\t\t// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:\n\t\t\t// 1. quoted (capture 3; capture 4 or capture 5)\n\t\t\t\"('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|\" +\n\t\t\t// 2. simple (capture 6)\n\t\t\t\"((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\" + attributes + \")*)|\" +\n\t\t\t// 3. anything else (capture 2)\n\t\t\t\".*\" +\n\t\t\t\")\\\\)|)\",\n\t\n\t\t// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter\n\t\trwhitespace = new RegExp( whitespace + \"+\", \"g\" ),\n\t\trtrim = new RegExp( \"^\" + whitespace + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\" + whitespace + \"+$\", \"g\" ),\n\t\n\t\trcomma = new RegExp( \"^\" + whitespace + \"*,\" + whitespace + \"*\" ),\n\t\trcombinators = new RegExp( \"^\" + whitespace + \"*([>+~]|\" + whitespace + \")\" + whitespace + \"*\" ),\n\t\n\t\trattributeQuotes = new RegExp( \"=\" + whitespace + \"*([^\\\\]'\\\"]*?)\" + whitespace + \"*\\\\]\", \"g\" ),\n\t\n\t\trpseudo = new RegExp( pseudos ),\n\t\tridentifier = new RegExp( \"^\" + identifier + \"$\" ),\n\t\n\t\tmatchExpr = {\n\t\t\t\"ID\": new RegExp( \"^#(\" + identifier + \")\" ),\n\t\t\t\"CLASS\": new RegExp( \"^\\\\.(\" + identifier + \")\" ),\n\t\t\t\"TAG\": new RegExp( \"^(\" + identifier + \"|[*])\" ),\n\t\t\t\"ATTR\": new RegExp( \"^\" + attributes ),\n\t\t\t\"PSEUDO\": new RegExp( \"^\" + pseudos ),\n\t\t\t\"CHILD\": new RegExp( \"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\" + whitespace +\n\t\t\t\t\"*(even|odd|(([+-]|)(\\\\d*)n|)\" + whitespace + \"*(?:([+-]|)\" + whitespace +\n\t\t\t\t\"*(\\\\d+)|))\" + whitespace + \"*\\\\)|)\", \"i\" ),\n\t\t\t\"bool\": new RegExp( \"^(?:\" + booleans + \")$\", \"i\" ),\n\t\t\t// For use in libraries implementing .is()\n\t\t\t// We use this for POS matching in `select`\n\t\t\t\"needsContext\": new RegExp( \"^\" + whitespace + \"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\" +\n\t\t\t\twhitespace + \"*((?:-\\\\d)?\\\\d*)\" + whitespace + \"*\\\\)|)(?=[^-]|$)\", \"i\" )\n\t\t},\n\t\n\t\trinputs = /^(?:input|select|textarea|button)$/i,\n\t\trheader = /^h\\d$/i,\n\t\n\t\trnative = /^[^{]+\\{\\s*\\[native \\w/,\n\t\n\t\t// Easily-parseable/retrievable ID or TAG or CLASS selectors\n\t\trquickExpr = /^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,\n\t\n\t\trsibling = /[+~]/,\n\t\trescape = /'|\\\\/g,\n\t\n\t\t// CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters\n\t\trunescape = new RegExp( \"\\\\\\\\([\\\\da-f]{1,6}\" + whitespace + \"?|(\" + whitespace + \")|.)\", \"ig\" ),\n\t\tfunescape = function( _, escaped, escapedWhitespace ) {\n\t\t\tvar high = \"0x\" + escaped - 0x10000;\n\t\t\t// NaN means non-codepoint\n\t\t\t// Support: Firefox<24\n\t\t\t// Workaround erroneous numeric interpretation of +\"0x\"\n\t\t\treturn high !== high || escapedWhitespace ?\n\t\t\t\tescaped :\n\t\t\t\thigh < 0 ?\n\t\t\t\t\t// BMP codepoint\n\t\t\t\t\tString.fromCharCode( high + 0x10000 ) :\n\t\t\t\t\t// Supplemental Plane codepoint (surrogate pair)\n\t\t\t\t\tString.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );\n\t\t},\n\t\n\t\t// Used for iframes\n\t\t// See setDocument()\n\t\t// Removing the function wrapper causes a \"Permission Denied\"\n\t\t// error in IE\n\t\tunloadHandler = function() {\n\t\t\tsetDocument();\n\t\t};\n\t\n\t// Optimize for push.apply( _, NodeList )\n\ttry {\n\t\tpush.apply(\n\t\t\t(arr = slice.call( preferredDoc.childNodes )),\n\t\t\tpreferredDoc.childNodes\n\t\t);\n\t\t// Support: Android<4.0\n\t\t// Detect silently failing push.apply\n\t\tarr[ preferredDoc.childNodes.length ].nodeType;\n\t} catch ( e ) {\n\t\tpush = { apply: arr.length ?\n\t\n\t\t\t// Leverage slice if possible\n\t\t\tfunction( target, els ) {\n\t\t\t\tpush_native.apply( target, slice.call(els) );\n\t\t\t} :\n\t\n\t\t\t// Support: IE<9\n\t\t\t// Otherwise append directly\n\t\t\tfunction( target, els ) {\n\t\t\t\tvar j = target.length,\n\t\t\t\t\ti = 0;\n\t\t\t\t// Can't trust NodeList.length\n\t\t\t\twhile ( (target[j++] = els[i++]) ) {}\n\t\t\t\ttarget.length = j - 1;\n\t\t\t}\n\t\t};\n\t}\n\t\n\tfunction Sizzle( selector, context, results, seed ) {\n\t\tvar m, i, elem, nid, nidselect, match, groups, newSelector,\n\t\t\tnewContext = context && context.ownerDocument,\n\t\n\t\t\t// nodeType defaults to 9, since context defaults to document\n\t\t\tnodeType = context ? context.nodeType : 9;\n\t\n\t\tresults = results || [];\n\t\n\t\t// Return early from calls with invalid selector or context\n\t\tif ( typeof selector !== \"string\" || !selector ||\n\t\t\tnodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {\n\t\n\t\t\treturn results;\n\t\t}\n\t\n\t\t// Try to shortcut find operations (as opposed to filters) in HTML documents\n\t\tif ( !seed ) {\n\t\n\t\t\tif ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {\n\t\t\t\tsetDocument( context );\n\t\t\t}\n\t\t\tcontext = context || document;\n\t\n\t\t\tif ( documentIsHTML ) {\n\t\n\t\t\t\t// If the selector is sufficiently simple, try using a \"get*By*\" DOM method\n\t\t\t\t// (excepting DocumentFragment context, where the methods don't exist)\n\t\t\t\tif ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {\n\t\n\t\t\t\t\t// ID selector\n\t\t\t\t\tif ( (m = match[1]) ) {\n\t\n\t\t\t\t\t\t// Document context\n\t\t\t\t\t\tif ( nodeType === 9 ) {\n\t\t\t\t\t\t\tif ( (elem = context.getElementById( m )) ) {\n\t\n\t\t\t\t\t\t\t\t// Support: IE, Opera, Webkit\n\t\t\t\t\t\t\t\t// TODO: identify versions\n\t\t\t\t\t\t\t\t// getElementById can match elements by name instead of ID\n\t\t\t\t\t\t\t\tif ( elem.id === m ) {\n\t\t\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\t\t\treturn results;\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\treturn results;\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t// Element context\n\t\t\t\t\t\t} else {\n\t\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 ( newContext && (elem = newContext.getElementById( m )) &&\n\t\t\t\t\t\t\t\tcontains( context, elem ) &&\n\t\t\t\t\t\t\t\telem.id === m ) {\n\t\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}\n\t\n\t\t\t\t\t// Type selector\n\t\t\t\t\t} else if ( match[2] ) {\n\t\t\t\t\t\tpush.apply( results, context.getElementsByTagName( selector ) );\n\t\t\t\t\t\treturn results;\n\t\n\t\t\t\t\t// Class selector\n\t\t\t\t\t} else if ( (m = match[3]) && support.getElementsByClassName &&\n\t\t\t\t\t\tcontext.getElementsByClassName ) {\n\t\n\t\t\t\t\t\tpush.apply( results, context.getElementsByClassName( m ) );\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\n\t\t\t\t// Take advantage of querySelectorAll\n\t\t\t\tif ( support.qsa &&\n\t\t\t\t\t!compilerCache[ selector + \" \" ] &&\n\t\t\t\t\t(!rbuggyQSA || !rbuggyQSA.test( selector )) ) {\n\t\n\t\t\t\t\tif ( nodeType !== 1 ) {\n\t\t\t\t\t\tnewContext = context;\n\t\t\t\t\t\tnewSelector = selector;\n\t\n\t\t\t\t\t// qSA looks outside Element context, which is not what we want\n\t\t\t\t\t// Thanks to Andrew Dupont for this workaround technique\n\t\t\t\t\t// Support: IE <=8\n\t\t\t\t\t// Exclude object elements\n\t\t\t\t\t} else if ( context.nodeName.toLowerCase() !== \"object\" ) {\n\t\n\t\t\t\t\t\t// Capture the context ID, setting it first if necessary\n\t\t\t\t\t\tif ( (nid = context.getAttribute( \"id\" )) ) {\n\t\t\t\t\t\t\tnid = nid.replace( rescape, \"\\\\$&\" );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcontext.setAttribute( \"id\", (nid = expando) );\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t// Prefix every selector in the list\n\t\t\t\t\t\tgroups = tokenize( selector );\n\t\t\t\t\t\ti = groups.length;\n\t\t\t\t\t\tnidselect = ridentifier.test( nid ) ? \"#\" + nid : \"[id='\" + nid + \"']\";\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tgroups[i] = nidselect + \" \" + toSelector( groups[i] );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tnewSelector = groups.join( \",\" );\n\t\n\t\t\t\t\t\t// Expand context for sibling selectors\n\t\t\t\t\t\tnewContext = rsibling.test( selector ) && testContext( context.parentNode ) ||\n\t\t\t\t\t\t\tcontext;\n\t\t\t\t\t}\n\t\n\t\t\t\t\tif ( newSelector ) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tpush.apply( results,\n\t\t\t\t\t\t\t\tnewContext.querySelectorAll( newSelector )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t} catch ( qsaError ) {\n\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\tif ( nid === expando ) {\n\t\t\t\t\t\t\t\tcontext.removeAttribute( \"id\" );\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\t\t// All others\n\t\treturn select( selector.replace( rtrim, \"$1\" ), context, results, seed );\n\t}\n\t\n\t/**\n\t * Create key-value caches of limited size\n\t * @returns {function(string, object)} Returns the Object data after storing it on itself with\n\t *\tproperty name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)\n\t *\tdeleting the oldest entry\n\t */\n\tfunction createCache() {\n\t\tvar keys = [];\n\t\n\t\tfunction cache( key, value ) {\n\t\t\t// Use (key + \" \") to avoid collision with native prototype properties (see Issue #157)\n\t\t\tif ( keys.push( key + \" \" ) > Expr.cacheLength ) {\n\t\t\t\t// Only keep the most recent entries\n\t\t\t\tdelete cache[ keys.shift() ];\n\t\t\t}\n\t\t\treturn (cache[ key + \" \" ] = value);\n\t\t}\n\t\treturn cache;\n\t}\n\t\n\t/**\n\t * Mark a function for special use by Sizzle\n\t * @param {Function} fn The function to mark\n\t */\n\tfunction markFunction( fn ) {\n\t\tfn[ expando ] = true;\n\t\treturn fn;\n\t}\n\t\n\t/**\n\t * Support testing using an element\n\t * @param {Function} fn Passed the created div and expects a boolean result\n\t */\n\tfunction assert( fn ) {\n\t\tvar div = document.createElement(\"div\");\n\t\n\t\ttry {\n\t\t\treturn !!fn( div );\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t} finally {\n\t\t\t// Remove from its parent by default\n\t\t\tif ( div.parentNode ) {\n\t\t\t\tdiv.parentNode.removeChild( div );\n\t\t\t}\n\t\t\t// release memory in IE\n\t\t\tdiv = null;\n\t\t}\n\t}\n\t\n\t/**\n\t * Adds the same handler for all of the specified attrs\n\t * @param {String} attrs Pipe-separated list of attributes\n\t * @param {Function} handler The method that will be applied\n\t */\n\tfunction addHandle( attrs, handler ) {\n\t\tvar arr = attrs.split(\"|\"),\n\t\t\ti = arr.length;\n\t\n\t\twhile ( i-- ) {\n\t\t\tExpr.attrHandle[ arr[i] ] = handler;\n\t\t}\n\t}\n\t\n\t/**\n\t * Checks document order of two siblings\n\t * @param {Element} a\n\t * @param {Element} b\n\t * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b\n\t */\n\tfunction siblingCheck( a, b ) {\n\t\tvar cur = b && a,\n\t\t\tdiff = cur && a.nodeType === 1 && b.nodeType === 1 &&\n\t\t\t\t( ~b.sourceIndex || MAX_NEGATIVE ) -\n\t\t\t\t( ~a.sourceIndex || MAX_NEGATIVE );\n\t\n\t\t// Use IE sourceIndex if available on both nodes\n\t\tif ( diff ) {\n\t\t\treturn diff;\n\t\t}\n\t\n\t\t// Check if b follows a\n\t\tif ( cur ) {\n\t\t\twhile ( (cur = cur.nextSibling) ) {\n\t\t\t\tif ( cur === b ) {\n\t\t\t\t\treturn -1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\n\t\treturn a ? 1 : -1;\n\t}\n\t\n\t/**\n\t * Returns a function to use in pseudos for input types\n\t * @param {String} type\n\t */\n\tfunction createInputPseudo( type ) {\n\t\treturn function( elem ) {\n\t\t\tvar name = elem.nodeName.toLowerCase();\n\t\t\treturn name === \"input\" && elem.type === type;\n\t\t};\n\t}\n\t\n\t/**\n\t * Returns a function to use in pseudos for buttons\n\t * @param {String} type\n\t */\n\tfunction createButtonPseudo( type ) {\n\t\treturn function( elem ) {\n\t\t\tvar name = elem.nodeName.toLowerCase();\n\t\t\treturn (name === \"input\" || name === \"button\") && elem.type === type;\n\t\t};\n\t}\n\t\n\t/**\n\t * Returns a function to use in pseudos for positionals\n\t * @param {Function} fn\n\t */\n\tfunction createPositionalPseudo( fn ) {\n\t\treturn markFunction(function( argument ) {\n\t\t\targument = +argument;\n\t\t\treturn markFunction(function( seed, matches ) {\n\t\t\t\tvar j,\n\t\t\t\t\tmatchIndexes = fn( [], seed.length, argument ),\n\t\t\t\t\ti = matchIndexes.length;\n\t\n\t\t\t\t// Match elements found at the specified indexes\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\tif ( seed[ (j = matchIndexes[i]) ] ) {\n\t\t\t\t\t\tseed[j] = !(matches[j] = seed[j]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\t\n\t/**\n\t * Checks a node for validity as a Sizzle context\n\t * @param {Element|Object=} context\n\t * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value\n\t */\n\tfunction testContext( context ) {\n\t\treturn context && typeof context.getElementsByTagName !== \"undefined\" && context;\n\t}\n\t\n\t// Expose support vars for convenience\n\tsupport = Sizzle.support = {};\n\t\n\t/**\n\t * Detects XML nodes\n\t * @param {Element|Object} elem An element or a document\n\t * @returns {Boolean} True iff elem is a non-HTML XML node\n\t */\n\tisXML = Sizzle.isXML = function( elem ) {\n\t\t// documentElement is verified for cases where it doesn't yet exist\n\t\t// (such as loading iframes in IE - #4833)\n\t\tvar documentElement = elem && (elem.ownerDocument || elem).documentElement;\n\t\treturn documentElement ? documentElement.nodeName !== \"HTML\" : false;\n\t};\n\t\n\t/**\n\t * Sets document-related variables once based on the current document\n\t * @param {Element|Object} [doc] An element or document object to use to set the document\n\t * @returns {Object} Returns the current document\n\t */\n\tsetDocument = Sizzle.setDocument = function( node ) {\n\t\tvar hasCompare, parent,\n\t\t\tdoc = node ? node.ownerDocument || node : preferredDoc;\n\t\n\t\t// Return early if doc is invalid or already selected\n\t\tif ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {\n\t\t\treturn document;\n\t\t}\n\t\n\t\t// Update global variables\n\t\tdocument = doc;\n\t\tdocElem = document.documentElement;\n\t\tdocumentIsHTML = !isXML( document );\n\t\n\t\t// Support: IE 9-11, Edge\n\t\t// Accessing iframe documents after unload throws \"permission denied\" errors (jQuery #13936)\n\t\tif ( (parent = document.defaultView) && parent.top !== parent ) {\n\t\t\t// Support: IE 11\n\t\t\tif ( parent.addEventListener ) {\n\t\t\t\tparent.addEventListener( \"unload\", unloadHandler, false );\n\t\n\t\t\t// Support: IE 9 - 10 only\n\t\t\t} else if ( parent.attachEvent ) {\n\t\t\t\tparent.attachEvent( \"onunload\", unloadHandler );\n\t\t\t}\n\t\t}\n\t\n\t\t/* Attributes\n\t\t---------------------------------------------------------------------- */\n\t\n\t\t// Support: IE<8\n\t\t// Verify that getAttribute really returns attributes and not properties\n\t\t// (excepting IE8 booleans)\n\t\tsupport.attributes = assert(function( div ) {\n\t\t\tdiv.className = \"i\";\n\t\t\treturn !div.getAttribute(\"className\");\n\t\t});\n\t\n\t\t/* getElement(s)By*\n\t\t---------------------------------------------------------------------- */\n\t\n\t\t// Check if getElementsByTagName(\"*\") returns only elements\n\t\tsupport.getElementsByTagName = assert(function( div ) {\n\t\t\tdiv.appendChild( document.createComment(\"\") );\n\t\t\treturn !div.getElementsByTagName(\"*\").length;\n\t\t});\n\t\n\t\t// Support: IE<9\n\t\tsupport.getElementsByClassName = rnative.test( document.getElementsByClassName );\n\t\n\t\t// Support: IE<10\n\t\t// Check if getElementById returns elements by name\n\t\t// The broken getElementById methods don't pick up programatically-set names,\n\t\t// so use a roundabout getElementsByName test\n\t\tsupport.getById = assert(function( div ) {\n\t\t\tdocElem.appendChild( div ).id = expando;\n\t\t\treturn !document.getElementsByName || !document.getElementsByName( expando ).length;\n\t\t});\n\t\n\t\t// ID find and filter\n\t\tif ( support.getById ) {\n\t\t\tExpr.find[\"ID\"] = function( id, context ) {\n\t\t\t\tif ( typeof context.getElementById !== \"undefined\" && documentIsHTML ) {\n\t\t\t\t\tvar m = context.getElementById( id );\n\t\t\t\t\treturn m ? [ m ] : [];\n\t\t\t\t}\n\t\t\t};\n\t\t\tExpr.filter[\"ID\"] = function( id ) {\n\t\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\t\treturn function( elem ) {\n\t\t\t\t\treturn elem.getAttribute(\"id\") === attrId;\n\t\t\t\t};\n\t\t\t};\n\t\t} else {\n\t\t\t// Support: IE6/7\n\t\t\t// getElementById is not reliable as a find shortcut\n\t\t\tdelete Expr.find[\"ID\"];\n\t\n\t\t\tExpr.filter[\"ID\"] = function( id ) {\n\t\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\t\treturn function( elem ) {\n\t\t\t\t\tvar node = typeof elem.getAttributeNode !== \"undefined\" &&\n\t\t\t\t\t\telem.getAttributeNode(\"id\");\n\t\t\t\t\treturn node && node.value === attrId;\n\t\t\t\t};\n\t\t\t};\n\t\t}\n\t\n\t\t// Tag\n\t\tExpr.find[\"TAG\"] = support.getElementsByTagName ?\n\t\t\tfunction( tag, context ) {\n\t\t\t\tif ( typeof context.getElementsByTagName !== \"undefined\" ) {\n\t\t\t\t\treturn context.getElementsByTagName( tag );\n\t\n\t\t\t\t// DocumentFragment nodes don't have gEBTN\n\t\t\t\t} else if ( support.qsa ) {\n\t\t\t\t\treturn context.querySelectorAll( tag );\n\t\t\t\t}\n\t\t\t} :\n\t\n\t\t\tfunction( tag, context ) {\n\t\t\t\tvar elem,\n\t\t\t\t\ttmp = [],\n\t\t\t\t\ti = 0,\n\t\t\t\t\t// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too\n\t\t\t\t\tresults = context.getElementsByTagName( tag );\n\t\n\t\t\t\t// Filter out possible comments\n\t\t\t\tif ( tag === \"*\" ) {\n\t\t\t\t\twhile ( (elem = results[i++]) ) {\n\t\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\t\ttmp.push( elem );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\n\t\t\t\t\treturn tmp;\n\t\t\t\t}\n\t\t\t\treturn results;\n\t\t\t};\n\t\n\t\t// Class\n\t\tExpr.find[\"CLASS\"] = support.getElementsByClassName && function( className, context ) {\n\t\t\tif ( typeof context.getElementsByClassName !== \"undefined\" && documentIsHTML ) {\n\t\t\t\treturn context.getElementsByClassName( className );\n\t\t\t}\n\t\t};\n\t\n\t\t/* QSA/matchesSelector\n\t\t---------------------------------------------------------------------- */\n\t\n\t\t// QSA and matchesSelector support\n\t\n\t\t// matchesSelector(:active) reports false when true (IE9/Opera 11.5)\n\t\trbuggyMatches = [];\n\t\n\t\t// qSa(:focus) reports false when true (Chrome 21)\n\t\t// We allow this because of a bug in IE8/9 that throws an error\n\t\t// whenever `document.activeElement` is accessed on an iframe\n\t\t// So, we allow :focus to pass through QSA all the time to avoid the IE error\n\t\t// See http://bugs.jquery.com/ticket/13378\n\t\trbuggyQSA = [];\n\t\n\t\tif ( (support.qsa = rnative.test( document.querySelectorAll )) ) {\n\t\t\t// Build QSA regex\n\t\t\t// Regex strategy adopted from Diego Perini\n\t\t\tassert(function( div ) {\n\t\t\t\t// Select is set to empty string on purpose\n\t\t\t\t// This is to test IE's treatment of not explicitly\n\t\t\t\t// setting a boolean content attribute,\n\t\t\t\t// since its presence should be enough\n\t\t\t\t// http://bugs.jquery.com/ticket/12359\n\t\t\t\tdocElem.appendChild( div ).innerHTML = \"\" +\n\t\t\t\t\t\"\";\n\t\n\t\t\t\t// Support: IE8, Opera 11-12.16\n\t\t\t\t// Nothing should be selected when empty strings follow ^= or $= or *=\n\t\t\t\t// The test attribute must be unknown in Opera but \"safe\" for WinRT\n\t\t\t\t// http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section\n\t\t\t\tif ( div.querySelectorAll(\"[msallowcapture^='']\").length ) {\n\t\t\t\t\trbuggyQSA.push( \"[*^$]=\" + whitespace + \"*(?:''|\\\"\\\")\" );\n\t\t\t\t}\n\t\n\t\t\t\t// Support: IE8\n\t\t\t\t// Boolean attributes and \"value\" are not treated correctly\n\t\t\t\tif ( !div.querySelectorAll(\"[selected]\").length ) {\n\t\t\t\t\trbuggyQSA.push( \"\\\\[\" + whitespace + \"*(?:value|\" + booleans + \")\" );\n\t\t\t\t}\n\t\n\t\t\t\t// Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+\n\t\t\t\tif ( !div.querySelectorAll( \"[id~=\" + expando + \"-]\" ).length ) {\n\t\t\t\t\trbuggyQSA.push(\"~=\");\n\t\t\t\t}\n\t\n\t\t\t\t// Webkit/Opera - :checked should return selected option elements\n\t\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\t\t// IE8 throws error here and will not see later tests\n\t\t\t\tif ( !div.querySelectorAll(\":checked\").length ) {\n\t\t\t\t\trbuggyQSA.push(\":checked\");\n\t\t\t\t}\n\t\n\t\t\t\t// Support: Safari 8+, iOS 8+\n\t\t\t\t// https://bugs.webkit.org/show_bug.cgi?id=136851\n\t\t\t\t// In-page `selector#id sibing-combinator selector` fails\n\t\t\t\tif ( !div.querySelectorAll( \"a#\" + expando + \"+*\" ).length ) {\n\t\t\t\t\trbuggyQSA.push(\".#.+[+~]\");\n\t\t\t\t}\n\t\t\t});\n\t\n\t\t\tassert(function( div ) {\n\t\t\t\t// Support: Windows 8 Native Apps\n\t\t\t\t// The type and name attributes are restricted during .innerHTML assignment\n\t\t\t\tvar input = document.createElement(\"input\");\n\t\t\t\tinput.setAttribute( \"type\", \"hidden\" );\n\t\t\t\tdiv.appendChild( input ).setAttribute( \"name\", \"D\" );\n\t\n\t\t\t\t// Support: IE8\n\t\t\t\t// Enforce case-sensitivity of name attribute\n\t\t\t\tif ( div.querySelectorAll(\"[name=d]\").length ) {\n\t\t\t\t\trbuggyQSA.push( \"name\" + whitespace + \"*[*^$|!~]?=\" );\n\t\t\t\t}\n\t\n\t\t\t\t// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)\n\t\t\t\t// IE8 throws error here and will not see later tests\n\t\t\t\tif ( !div.querySelectorAll(\":enabled\").length ) {\n\t\t\t\t\trbuggyQSA.push( \":enabled\", \":disabled\" );\n\t\t\t\t}\n\t\n\t\t\t\t// Opera 10-11 does not throw on post-comma invalid pseudos\n\t\t\t\tdiv.querySelectorAll(\"*,:x\");\n\t\t\t\trbuggyQSA.push(\",.*:\");\n\t\t\t});\n\t\t}\n\t\n\t\tif ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||\n\t\t\tdocElem.webkitMatchesSelector ||\n\t\t\tdocElem.mozMatchesSelector ||\n\t\t\tdocElem.oMatchesSelector ||\n\t\t\tdocElem.msMatchesSelector) )) ) {\n\t\n\t\t\tassert(function( div ) {\n\t\t\t\t// Check to see if it's possible to do matchesSelector\n\t\t\t\t// on a disconnected node (IE 9)\n\t\t\t\tsupport.disconnectedMatch = matches.call( div, \"div\" );\n\t\n\t\t\t\t// This should fail with an exception\n\t\t\t\t// Gecko does not error, returns false instead\n\t\t\t\tmatches.call( div, \"[s!='']:x\" );\n\t\t\t\trbuggyMatches.push( \"!=\", pseudos );\n\t\t\t});\n\t\t}\n\t\n\t\trbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join(\"|\") );\n\t\trbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join(\"|\") );\n\t\n\t\t/* Contains\n\t\t---------------------------------------------------------------------- */\n\t\thasCompare = rnative.test( docElem.compareDocumentPosition );\n\t\n\t\t// Element contains another\n\t\t// Purposefully self-exclusive\n\t\t// As in, an element does not contain itself\n\t\tcontains = hasCompare || rnative.test( docElem.contains ) ?\n\t\t\tfunction( a, b ) {\n\t\t\t\tvar adown = a.nodeType === 9 ? a.documentElement : a,\n\t\t\t\t\tbup = b && b.parentNode;\n\t\t\t\treturn a === bup || !!( bup && bup.nodeType === 1 && (\n\t\t\t\t\tadown.contains ?\n\t\t\t\t\t\tadown.contains( bup ) :\n\t\t\t\t\t\ta.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16\n\t\t\t\t));\n\t\t\t} :\n\t\t\tfunction( a, b ) {\n\t\t\t\tif ( b ) {\n\t\t\t\t\twhile ( (b = b.parentNode) ) {\n\t\t\t\t\t\tif ( b === a ) {\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\treturn false;\n\t\t\t};\n\t\n\t\t/* Sorting\n\t\t---------------------------------------------------------------------- */\n\t\n\t\t// Document order sorting\n\t\tsortOrder = hasCompare ?\n\t\tfunction( a, b ) {\n\t\n\t\t\t// Flag for duplicate removal\n\t\t\tif ( a === b ) {\n\t\t\t\thasDuplicate = true;\n\t\t\t\treturn 0;\n\t\t\t}\n\t\n\t\t\t// Sort on method existence if only one input has compareDocumentPosition\n\t\t\tvar compare = !a.compareDocumentPosition - !b.compareDocumentPosition;\n\t\t\tif ( compare ) {\n\t\t\t\treturn compare;\n\t\t\t}\n\t\n\t\t\t// Calculate position if both inputs belong to the same document\n\t\t\tcompare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?\n\t\t\t\ta.compareDocumentPosition( b ) :\n\t\n\t\t\t\t// Otherwise we know they are disconnected\n\t\t\t\t1;\n\t\n\t\t\t// Disconnected nodes\n\t\t\tif ( compare & 1 ||\n\t\t\t\t(!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {\n\t\n\t\t\t\t// Choose the first element that is related to our preferred document\n\t\t\t\tif ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {\n\t\t\t\t\treturn -1;\n\t\t\t\t}\n\t\t\t\tif ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {\n\t\t\t\t\treturn 1;\n\t\t\t\t}\n\t\n\t\t\t\t// Maintain original order\n\t\t\t\treturn sortInput ?\n\t\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t\t0;\n\t\t\t}\n\t\n\t\t\treturn compare & 4 ? -1 : 1;\n\t\t} :\n\t\tfunction( a, b ) {\n\t\t\t// Exit early if the nodes are identical\n\t\t\tif ( a === b ) {\n\t\t\t\thasDuplicate = true;\n\t\t\t\treturn 0;\n\t\t\t}\n\t\n\t\t\tvar cur,\n\t\t\t\ti = 0,\n\t\t\t\taup = a.parentNode,\n\t\t\t\tbup = b.parentNode,\n\t\t\t\tap = [ a ],\n\t\t\t\tbp = [ b ];\n\t\n\t\t\t// Parentless nodes are either documents or disconnected\n\t\t\tif ( !aup || !bup ) {\n\t\t\t\treturn a === document ? -1 :\n\t\t\t\t\tb === document ? 1 :\n\t\t\t\t\taup ? -1 :\n\t\t\t\t\tbup ? 1 :\n\t\t\t\t\tsortInput ?\n\t\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t\t0;\n\t\n\t\t\t// If the nodes are siblings, we can do a quick check\n\t\t\t} else if ( aup === bup ) {\n\t\t\t\treturn siblingCheck( a, b );\n\t\t\t}\n\t\n\t\t\t// Otherwise we need full lists of their ancestors for comparison\n\t\t\tcur = a;\n\t\t\twhile ( (cur = cur.parentNode) ) {\n\t\t\t\tap.unshift( cur );\n\t\t\t}\n\t\t\tcur = b;\n\t\t\twhile ( (cur = cur.parentNode) ) {\n\t\t\t\tbp.unshift( cur );\n\t\t\t}\n\t\n\t\t\t// Walk down the tree looking for a discrepancy\n\t\t\twhile ( ap[i] === bp[i] ) {\n\t\t\t\ti++;\n\t\t\t}\n\t\n\t\t\treturn i ?\n\t\t\t\t// Do a sibling check if the nodes have a common ancestor\n\t\t\t\tsiblingCheck( ap[i], bp[i] ) :\n\t\n\t\t\t\t// Otherwise nodes in our document sort first\n\t\t\t\tap[i] === preferredDoc ? -1 :\n\t\t\t\tbp[i] === preferredDoc ? 1 :\n\t\t\t\t0;\n\t\t};\n\t\n\t\treturn document;\n\t};\n\t\n\tSizzle.matches = function( expr, elements ) {\n\t\treturn Sizzle( expr, null, null, elements );\n\t};\n\t\n\tSizzle.matchesSelector = function( elem, expr ) {\n\t\t// Set document vars if needed\n\t\tif ( ( elem.ownerDocument || elem ) !== document ) {\n\t\t\tsetDocument( elem );\n\t\t}\n\t\n\t\t// Make sure that attribute selectors are quoted\n\t\texpr = expr.replace( rattributeQuotes, \"='$1']\" );\n\t\n\t\tif ( support.matchesSelector && documentIsHTML &&\n\t\t\t!compilerCache[ expr + \" \" ] &&\n\t\t\t( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&\n\t\t\t( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {\n\t\n\t\t\ttry {\n\t\t\t\tvar ret = matches.call( elem, expr );\n\t\n\t\t\t\t// IE 9's matchesSelector returns false on disconnected nodes\n\t\t\t\tif ( ret || support.disconnectedMatch ||\n\t\t\t\t\t\t// As well, disconnected nodes are said to be in a document\n\t\t\t\t\t\t// fragment in IE 9\n\t\t\t\t\t\telem.document && elem.document.nodeType !== 11 ) {\n\t\t\t\t\treturn ret;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\t\t}\n\t\n\t\treturn Sizzle( expr, document, null, [ elem ] ).length > 0;\n\t};\n\t\n\tSizzle.contains = function( context, elem ) {\n\t\t// Set document vars if needed\n\t\tif ( ( context.ownerDocument || context ) !== document ) {\n\t\t\tsetDocument( context );\n\t\t}\n\t\treturn contains( context, elem );\n\t};\n\t\n\tSizzle.attr = function( elem, name ) {\n\t\t// Set document vars if needed\n\t\tif ( ( elem.ownerDocument || elem ) !== document ) {\n\t\t\tsetDocument( elem );\n\t\t}\n\t\n\t\tvar fn = Expr.attrHandle[ name.toLowerCase() ],\n\t\t\t// Don't get fooled by Object.prototype properties (jQuery #13807)\n\t\t\tval = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?\n\t\t\t\tfn( elem, name, !documentIsHTML ) :\n\t\t\t\tundefined;\n\t\n\t\treturn val !== undefined ?\n\t\t\tval :\n\t\t\tsupport.attributes || !documentIsHTML ?\n\t\t\t\telem.getAttribute( name ) :\n\t\t\t\t(val = elem.getAttributeNode(name)) && val.specified ?\n\t\t\t\t\tval.value :\n\t\t\t\t\tnull;\n\t};\n\t\n\tSizzle.error = function( msg ) {\n\t\tthrow new Error( \"Syntax error, unrecognized expression: \" + msg );\n\t};\n\t\n\t/**\n\t * Document sorting and removing duplicates\n\t * @param {ArrayLike} results\n\t */\n\tSizzle.uniqueSort = function( results ) {\n\t\tvar elem,\n\t\t\tduplicates = [],\n\t\t\tj = 0,\n\t\t\ti = 0;\n\t\n\t\t// Unless we *know* we can detect duplicates, assume their presence\n\t\thasDuplicate = !support.detectDuplicates;\n\t\tsortInput = !support.sortStable && results.slice( 0 );\n\t\tresults.sort( sortOrder );\n\t\n\t\tif ( hasDuplicate ) {\n\t\t\twhile ( (elem = results[i++]) ) {\n\t\t\t\tif ( elem === results[ i ] ) {\n\t\t\t\t\tj = duplicates.push( i );\n\t\t\t\t}\n\t\t\t}\n\t\t\twhile ( j-- ) {\n\t\t\t\tresults.splice( duplicates[ j ], 1 );\n\t\t\t}\n\t\t}\n\t\n\t\t// Clear input after sorting to release objects\n\t\t// See https://github.com/jquery/sizzle/pull/225\n\t\tsortInput = null;\n\t\n\t\treturn results;\n\t};\n\t\n\t/**\n\t * Utility function for retrieving the text value of an array of DOM nodes\n\t * @param {Array|Element} elem\n\t */\n\tgetText = Sizzle.getText = function( elem ) {\n\t\tvar node,\n\t\t\tret = \"\",\n\t\t\ti = 0,\n\t\t\tnodeType = elem.nodeType;\n\t\n\t\tif ( !nodeType ) {\n\t\t\t// If no nodeType, this is expected to be an array\n\t\t\twhile ( (node = elem[i++]) ) {\n\t\t\t\t// Do not traverse comment nodes\n\t\t\t\tret += getText( node );\n\t\t\t}\n\t\t} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {\n\t\t\t// Use textContent for elements\n\t\t\t// innerText usage removed for consistency of new lines (jQuery #11153)\n\t\t\tif ( typeof elem.textContent === \"string\" ) {\n\t\t\t\treturn elem.textContent;\n\t\t\t} else {\n\t\t\t\t// Traverse its children\n\t\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\t\tret += getText( elem );\n\t\t\t\t}\n\t\t\t}\n\t\t} else if ( nodeType === 3 || nodeType === 4 ) {\n\t\t\treturn elem.nodeValue;\n\t\t}\n\t\t// Do not include comment or processing instruction nodes\n\t\n\t\treturn ret;\n\t};\n\t\n\tExpr = Sizzle.selectors = {\n\t\n\t\t// Can be adjusted by the user\n\t\tcacheLength: 50,\n\t\n\t\tcreatePseudo: markFunction,\n\t\n\t\tmatch: matchExpr,\n\t\n\t\tattrHandle: {},\n\t\n\t\tfind: {},\n\t\n\t\trelative: {\n\t\t\t\">\": { dir: \"parentNode\", first: true },\n\t\t\t\" \": { dir: \"parentNode\" },\n\t\t\t\"+\": { dir: \"previousSibling\", first: true },\n\t\t\t\"~\": { dir: \"previousSibling\" }\n\t\t},\n\t\n\t\tpreFilter: {\n\t\t\t\"ATTR\": function( match ) {\n\t\t\t\tmatch[1] = match[1].replace( runescape, funescape );\n\t\n\t\t\t\t// Move the given value to match[3] whether quoted or unquoted\n\t\t\t\tmatch[3] = ( match[3] || match[4] || match[5] || \"\" ).replace( runescape, funescape );\n\t\n\t\t\t\tif ( match[2] === \"~=\" ) {\n\t\t\t\t\tmatch[3] = \" \" + match[3] + \" \";\n\t\t\t\t}\n\t\n\t\t\t\treturn match.slice( 0, 4 );\n\t\t\t},\n\t\n\t\t\t\"CHILD\": function( match ) {\n\t\t\t\t/* matches from matchExpr[\"CHILD\"]\n\t\t\t\t\t1 type (only|nth|...)\n\t\t\t\t\t2 what (child|of-type)\n\t\t\t\t\t3 argument (even|odd|\\d*|\\d*n([+-]\\d+)?|...)\n\t\t\t\t\t4 xn-component of xn+y argument ([+-]?\\d*n|)\n\t\t\t\t\t5 sign of xn-component\n\t\t\t\t\t6 x of xn-component\n\t\t\t\t\t7 sign of y-component\n\t\t\t\t\t8 y of y-component\n\t\t\t\t*/\n\t\t\t\tmatch[1] = match[1].toLowerCase();\n\t\n\t\t\t\tif ( match[1].slice( 0, 3 ) === \"nth\" ) {\n\t\t\t\t\t// nth-* requires argument\n\t\t\t\t\tif ( !match[3] ) {\n\t\t\t\t\t\tSizzle.error( match[0] );\n\t\t\t\t\t}\n\t\n\t\t\t\t\t// numeric x and y parameters for Expr.filter.CHILD\n\t\t\t\t\t// remember that false/true cast respectively to 0/1\n\t\t\t\t\tmatch[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === \"even\" || match[3] === \"odd\" ) );\n\t\t\t\t\tmatch[5] = +( ( match[7] + match[8] ) || match[3] === \"odd\" );\n\t\n\t\t\t\t// other types prohibit arguments\n\t\t\t\t} else if ( match[3] ) {\n\t\t\t\t\tSizzle.error( match[0] );\n\t\t\t\t}\n\t\n\t\t\t\treturn match;\n\t\t\t},\n\t\n\t\t\t\"PSEUDO\": function( match ) {\n\t\t\t\tvar excess,\n\t\t\t\t\tunquoted = !match[6] && match[2];\n\t\n\t\t\t\tif ( matchExpr[\"CHILD\"].test( match[0] ) ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\n\t\t\t\t// Accept quoted arguments as-is\n\t\t\t\tif ( match[3] ) {\n\t\t\t\t\tmatch[2] = match[4] || match[5] || \"\";\n\t\n\t\t\t\t// Strip excess characters from unquoted arguments\n\t\t\t\t} else if ( unquoted && rpseudo.test( unquoted ) &&\n\t\t\t\t\t// Get excess from tokenize (recursively)\n\t\t\t\t\t(excess = tokenize( unquoted, true )) &&\n\t\t\t\t\t// advance to the next closing parenthesis\n\t\t\t\t\t(excess = unquoted.indexOf( \")\", unquoted.length - excess ) - unquoted.length) ) {\n\t\n\t\t\t\t\t// excess is a negative index\n\t\t\t\t\tmatch[0] = match[0].slice( 0, excess );\n\t\t\t\t\tmatch[2] = unquoted.slice( 0, excess );\n\t\t\t\t}\n\t\n\t\t\t\t// Return only captures needed by the pseudo filter method (type and argument)\n\t\t\t\treturn match.slice( 0, 3 );\n\t\t\t}\n\t\t},\n\t\n\t\tfilter: {\n\t\n\t\t\t\"TAG\": function( nodeNameSelector ) {\n\t\t\t\tvar nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();\n\t\t\t\treturn nodeNameSelector === \"*\" ?\n\t\t\t\t\tfunction() { return true; } :\n\t\t\t\t\tfunction( elem ) {\n\t\t\t\t\t\treturn elem.nodeName && elem.nodeName.toLowerCase() === nodeName;\n\t\t\t\t\t};\n\t\t\t},\n\t\n\t\t\t\"CLASS\": function( className ) {\n\t\t\t\tvar pattern = classCache[ className + \" \" ];\n\t\n\t\t\t\treturn pattern ||\n\t\t\t\t\t(pattern = new RegExp( \"(^|\" + whitespace + \")\" + className + \"(\" + whitespace + \"|$)\" )) &&\n\t\t\t\t\tclassCache( className, function( elem ) {\n\t\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\t});\n\t\t\t},\n\t\n\t\t\t\"ATTR\": function( name, operator, check ) {\n\t\t\t\treturn function( elem ) {\n\t\t\t\t\tvar result = Sizzle.attr( elem, name );\n\t\n\t\t\t\t\tif ( result == null ) {\n\t\t\t\t\t\treturn operator === \"!=\";\n\t\t\t\t\t}\n\t\t\t\t\tif ( !operator ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\n\t\t\t\t\tresult += \"\";\n\t\n\t\t\t\t\treturn operator === \"=\" ? result === check :\n\t\t\t\t\t\toperator === \"!=\" ? result !== check :\n\t\t\t\t\t\toperator === \"^=\" ? check && result.indexOf( check ) === 0 :\n\t\t\t\t\t\toperator === \"*=\" ? check && result.indexOf( check ) > -1 :\n\t\t\t\t\t\toperator === \"$=\" ? check && result.slice( -check.length ) === check :\n\t\t\t\t\t\toperator === \"~=\" ? ( \" \" + result.replace( rwhitespace, \" \" ) + \" \" ).indexOf( check ) > -1 :\n\t\t\t\t\t\toperator === \"|=\" ? result === check || result.slice( 0, check.length + 1 ) === check + \"-\" :\n\t\t\t\t\t\tfalse;\n\t\t\t\t};\n\t\t\t},\n\t\n\t\t\t\"CHILD\": function( type, what, argument, first, last ) {\n\t\t\t\tvar simple = type.slice( 0, 3 ) !== \"nth\",\n\t\t\t\t\tforward = type.slice( -4 ) !== \"last\",\n\t\t\t\t\tofType = what === \"of-type\";\n\t\n\t\t\t\treturn first === 1 && last === 0 ?\n\t\n\t\t\t\t\t// Shortcut for :nth-*(n)\n\t\t\t\t\tfunction( elem ) {\n\t\t\t\t\t\treturn !!elem.parentNode;\n\t\t\t\t\t} :\n\t\n\t\t\t\t\tfunction( elem, context, xml ) {\n\t\t\t\t\t\tvar cache, uniqueCache, outerCache, node, nodeIndex, start,\n\t\t\t\t\t\t\tdir = simple !== forward ? \"nextSibling\" : \"previousSibling\",\n\t\t\t\t\t\t\tparent = elem.parentNode,\n\t\t\t\t\t\t\tname = ofType && elem.nodeName.toLowerCase(),\n\t\t\t\t\t\t\tuseCache = !xml && !ofType,\n\t\t\t\t\t\t\tdiff = false;\n\t\n\t\t\t\t\t\tif ( parent ) {\n\t\n\t\t\t\t\t\t\t// :(first|last|only)-(child|of-type)\n\t\t\t\t\t\t\tif ( simple ) {\n\t\t\t\t\t\t\t\twhile ( dir ) {\n\t\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\t\twhile ( (node = node[ dir ]) ) {\n\t\t\t\t\t\t\t\t\t\tif ( ofType ?\n\t\t\t\t\t\t\t\t\t\t\tnode.nodeName.toLowerCase() === name :\n\t\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) {\n\t\n\t\t\t\t\t\t\t\t\t\t\treturn false;\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\t// Reverse direction for :only-* (if we haven't yet done so)\n\t\t\t\t\t\t\t\t\tstart = dir = type === \"only\" && !start && \"nextSibling\";\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tstart = [ forward ? parent.firstChild : parent.lastChild ];\n\t\n\t\t\t\t\t\t\t// non-xml :nth-child(...) stores cache data on `parent`\n\t\t\t\t\t\t\tif ( forward && useCache ) {\n\t\n\t\t\t\t\t\t\t\t// Seek `elem` from a previously-cached index\n\t\n\t\t\t\t\t\t\t\t// ...in a gzip-friendly way\n\t\t\t\t\t\t\t\tnode = parent;\n\t\t\t\t\t\t\t\touterCache = node[ expando ] || (node[ expando ] = {});\n\t\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\t\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 && cache[ 2 ];\n\t\t\t\t\t\t\t\tnode = nodeIndex && parent.childNodes[ nodeIndex ];\n\t\n\t\t\t\t\t\t\t\twhile ( (node = ++nodeIndex && node && node[ dir ] ||\n\t\n\t\t\t\t\t\t\t\t\t// Fallback to seeking `elem` from the start\n\t\t\t\t\t\t\t\t\t(diff = nodeIndex = 0) || start.pop()) ) {\n\t\n\t\t\t\t\t\t\t\t\t// When found, cache indexes on `parent` and break\n\t\t\t\t\t\t\t\t\tif ( node.nodeType === 1 && ++diff && node === elem ) {\n\t\t\t\t\t\t\t\t\t\tuniqueCache[ type ] = [ dirruns, nodeIndex, diff ];\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t// Use previously-cached element index if available\n\t\t\t\t\t\t\t\tif ( useCache ) {\n\t\t\t\t\t\t\t\t\t// ...in a gzip-friendly way\n\t\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\t\touterCache = node[ expando ] || (node[ expando ] = {});\n\t\n\t\t\t\t\t\t\t\t\t// Support: IE <9 only\n\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\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t\t\t(outerCache[ node.uniqueID ] = {});\n\t\n\t\t\t\t\t\t\t\t\tcache = uniqueCache[ type ] || [];\n\t\t\t\t\t\t\t\t\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\n\t\t\t\t\t\t\t\t\tdiff = nodeIndex;\n\t\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t\t// xml :nth-child(...)\n\t\t\t\t\t\t\t\t// or :nth-last-child(...) or :nth(-last)?-of-type(...)\n\t\t\t\t\t\t\t\tif ( diff === false ) {\n\t\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\t\twhile ( (node = ++nodeIndex && node && node[ dir ] ||\n\t\t\t\t\t\t\t\t\t\t(diff = nodeIndex = 0) || start.pop()) ) {\n\t\n\t\t\t\t\t\t\t\t\t\tif ( ( ofType ?\n\t\t\t\t\t\t\t\t\t\t\tnode.nodeName.toLowerCase() === name :\n\t\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) &&\n\t\t\t\t\t\t\t\t\t\t\t++diff ) {\n\t\n\t\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\t\tif ( useCache ) {\n\t\t\t\t\t\t\t\t\t\t\t\touterCache = node[ expando ] || (node[ expando ] = {});\n\t\n\t\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\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\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\t(outerCache[ node.uniqueID ] = {});\n\t\n\t\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\t}\n\t\n\t\t\t\t\t\t\t\t\t\t\tif ( node === elem ) {\n\t\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t\t}\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\n\t\t\t\t\t\t\t// Incorporate the offset, then check against cycle size\n\t\t\t\t\t\t\tdiff -= last;\n\t\t\t\t\t\t\treturn diff === first || ( diff % first === 0 && diff / first >= 0 );\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t},\n\t\n\t\t\t\"PSEUDO\": function( pseudo, argument ) {\n\t\t\t\t// pseudo-class names are case-insensitive\n\t\t\t\t// http://www.w3.org/TR/selectors/#pseudo-classes\n\t\t\t\t// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters\n\t\t\t\t// Remember that setFilters inherits from pseudos\n\t\t\t\tvar args,\n\t\t\t\t\tfn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||\n\t\t\t\t\t\tSizzle.error( \"unsupported pseudo: \" + pseudo );\n\t\n\t\t\t\t// The user may use createPseudo to indicate that\n\t\t\t\t// arguments are needed to create the filter function\n\t\t\t\t// just as Sizzle does\n\t\t\t\tif ( fn[ expando ] ) {\n\t\t\t\t\treturn fn( argument );\n\t\t\t\t}\n\t\n\t\t\t\t// But maintain support for old signatures\n\t\t\t\tif ( fn.length > 1 ) {\n\t\t\t\t\targs = [ pseudo, pseudo, \"\", argument ];\n\t\t\t\t\treturn Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?\n\t\t\t\t\t\tmarkFunction(function( seed, matches ) {\n\t\t\t\t\t\t\tvar idx,\n\t\t\t\t\t\t\t\tmatched = fn( seed, argument ),\n\t\t\t\t\t\t\t\ti = matched.length;\n\t\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\t\tidx = indexOf( seed, matched[i] );\n\t\t\t\t\t\t\t\tseed[ idx ] = !( matches[ idx ] = matched[i] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}) :\n\t\t\t\t\t\tfunction( elem ) {\n\t\t\t\t\t\t\treturn fn( elem, 0, args );\n\t\t\t\t\t\t};\n\t\t\t\t}\n\t\n\t\t\t\treturn fn;\n\t\t\t}\n\t\t},\n\t\n\t\tpseudos: {\n\t\t\t// Potentially complex pseudos\n\t\t\t\"not\": markFunction(function( selector ) {\n\t\t\t\t// Trim the selector passed to compile\n\t\t\t\t// to avoid treating leading and trailing\n\t\t\t\t// spaces as combinators\n\t\t\t\tvar input = [],\n\t\t\t\t\tresults = [],\n\t\t\t\t\tmatcher = compile( selector.replace( rtrim, \"$1\" ) );\n\t\n\t\t\t\treturn matcher[ expando ] ?\n\t\t\t\t\tmarkFunction(function( seed, matches, context, xml ) {\n\t\t\t\t\t\tvar elem,\n\t\t\t\t\t\t\tunmatched = matcher( seed, null, xml, [] ),\n\t\t\t\t\t\t\ti = seed.length;\n\t\n\t\t\t\t\t\t// Match elements unmatched by `matcher`\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tif ( (elem = unmatched[i]) ) {\n\t\t\t\t\t\t\t\tseed[i] = !(matches[i] = elem);\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\tfunction( elem, context, xml ) {\n\t\t\t\t\t\tinput[0] = elem;\n\t\t\t\t\t\tmatcher( input, null, xml, results );\n\t\t\t\t\t\t// Don't keep the element (issue #299)\n\t\t\t\t\t\tinput[0] = null;\n\t\t\t\t\t\treturn !results.pop();\n\t\t\t\t\t};\n\t\t\t}),\n\t\n\t\t\t\"has\": markFunction(function( selector ) {\n\t\t\t\treturn function( elem ) {\n\t\t\t\t\treturn Sizzle( selector, elem ).length > 0;\n\t\t\t\t};\n\t\t\t}),\n\t\n\t\t\t\"contains\": markFunction(function( text ) {\n\t\t\t\ttext = text.replace( runescape, funescape );\n\t\t\t\treturn function( elem ) {\n\t\t\t\t\treturn ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;\n\t\t\t\t};\n\t\t\t}),\n\t\n\t\t\t// \"Whether an element is represented by a :lang() selector\n\t\t\t// is based solely on the element's language value\n\t\t\t// being equal to the identifier C,\n\t\t\t// or beginning with the identifier C immediately followed by \"-\".\n\t\t\t// The matching of C against the element's language value is performed case-insensitively.\n\t\t\t// The identifier C does not have to be a valid language name.\"\n\t\t\t// http://www.w3.org/TR/selectors/#lang-pseudo\n\t\t\t\"lang\": markFunction( function( lang ) {\n\t\t\t\t// lang value must be a valid identifier\n\t\t\t\tif ( !ridentifier.test(lang || \"\") ) {\n\t\t\t\t\tSizzle.error( \"unsupported lang: \" + lang );\n\t\t\t\t}\n\t\t\t\tlang = lang.replace( runescape, funescape ).toLowerCase();\n\t\t\t\treturn function( elem ) {\n\t\t\t\t\tvar elemLang;\n\t\t\t\t\tdo {\n\t\t\t\t\t\tif ( (elemLang = documentIsHTML ?\n\t\t\t\t\t\t\telem.lang :\n\t\t\t\t\t\t\telem.getAttribute(\"xml:lang\") || elem.getAttribute(\"lang\")) ) {\n\t\n\t\t\t\t\t\t\telemLang = elemLang.toLowerCase();\n\t\t\t\t\t\t\treturn elemLang === lang || elemLang.indexOf( lang + \"-\" ) === 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t} while ( (elem = elem.parentNode) && elem.nodeType === 1 );\n\t\t\t\t\treturn false;\n\t\t\t\t};\n\t\t\t}),\n\t\n\t\t\t// Miscellaneous\n\t\t\t\"target\": function( elem ) {\n\t\t\t\tvar hash = window.location && window.location.hash;\n\t\t\t\treturn hash && hash.slice( 1 ) === elem.id;\n\t\t\t},\n\t\n\t\t\t\"root\": function( elem ) {\n\t\t\t\treturn elem === docElem;\n\t\t\t},\n\t\n\t\t\t\"focus\": function( elem ) {\n\t\t\t\treturn elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);\n\t\t\t},\n\t\n\t\t\t// Boolean properties\n\t\t\t\"enabled\": function( elem ) {\n\t\t\t\treturn elem.disabled === false;\n\t\t\t},\n\t\n\t\t\t\"disabled\": function( elem ) {\n\t\t\t\treturn elem.disabled === true;\n\t\t\t},\n\t\n\t\t\t\"checked\": function( elem ) {\n\t\t\t\t// In CSS3, :checked should return both checked and selected elements\n\t\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\t\tvar nodeName = elem.nodeName.toLowerCase();\n\t\t\t\treturn (nodeName === \"input\" && !!elem.checked) || (nodeName === \"option\" && !!elem.selected);\n\t\t\t},\n\t\n\t\t\t\"selected\": function( elem ) {\n\t\t\t\t// Accessing this property makes selected-by-default\n\t\t\t\t// options in Safari work properly\n\t\t\t\tif ( elem.parentNode ) {\n\t\t\t\t\telem.parentNode.selectedIndex;\n\t\t\t\t}\n\t\n\t\t\t\treturn elem.selected === true;\n\t\t\t},\n\t\n\t\t\t// Contents\n\t\t\t\"empty\": function( elem ) {\n\t\t\t\t// http://www.w3.org/TR/selectors/#empty-pseudo\n\t\t\t\t// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),\n\t\t\t\t// but not by others (comment: 8; processing instruction: 7; etc.)\n\t\t\t\t// nodeType < 6 works because attributes (2) do not appear as children\n\t\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\t\tif ( elem.nodeType < 6 ) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t},\n\t\n\t\t\t\"parent\": function( elem ) {\n\t\t\t\treturn !Expr.pseudos[\"empty\"]( elem );\n\t\t\t},\n\t\n\t\t\t// Element/input types\n\t\t\t\"header\": function( elem ) {\n\t\t\t\treturn rheader.test( elem.nodeName );\n\t\t\t},\n\t\n\t\t\t\"input\": function( elem ) {\n\t\t\t\treturn rinputs.test( elem.nodeName );\n\t\t\t},\n\t\n\t\t\t\"button\": function( elem ) {\n\t\t\t\tvar name = elem.nodeName.toLowerCase();\n\t\t\t\treturn name === \"input\" && elem.type === \"button\" || name === \"button\";\n\t\t\t},\n\t\n\t\t\t\"text\": function( elem ) {\n\t\t\t\tvar attr;\n\t\t\t\treturn elem.nodeName.toLowerCase() === \"input\" &&\n\t\t\t\t\telem.type === \"text\" &&\n\t\n\t\t\t\t\t// Support: IE<8\n\t\t\t\t\t// New HTML5 attribute values (e.g., \"search\") appear with elem.type === \"text\"\n\t\t\t\t\t( (attr = elem.getAttribute(\"type\")) == null || attr.toLowerCase() === \"text\" );\n\t\t\t},\n\t\n\t\t\t// Position-in-collection\n\t\t\t\"first\": createPositionalPseudo(function() {\n\t\t\t\treturn [ 0 ];\n\t\t\t}),\n\t\n\t\t\t\"last\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\t\treturn [ length - 1 ];\n\t\t\t}),\n\t\n\t\t\t\"eq\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\t\treturn [ argument < 0 ? argument + length : argument ];\n\t\t\t}),\n\t\n\t\t\t\"even\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\t\tvar i = 0;\n\t\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\t\tmatchIndexes.push( i );\n\t\t\t\t}\n\t\t\t\treturn matchIndexes;\n\t\t\t}),\n\t\n\t\t\t\"odd\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\t\tvar i = 1;\n\t\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\t\tmatchIndexes.push( i );\n\t\t\t\t}\n\t\t\t\treturn matchIndexes;\n\t\t\t}),\n\t\n\t\t\t\"lt\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\t\tvar i = argument < 0 ? argument + length : argument;\n\t\t\t\tfor ( ; --i >= 0; ) {\n\t\t\t\t\tmatchIndexes.push( i );\n\t\t\t\t}\n\t\t\t\treturn matchIndexes;\n\t\t\t}),\n\t\n\t\t\t\"gt\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\t\tvar i = argument < 0 ? argument + length : argument;\n\t\t\t\tfor ( ; ++i < length; ) {\n\t\t\t\t\tmatchIndexes.push( i );\n\t\t\t\t}\n\t\t\t\treturn matchIndexes;\n\t\t\t})\n\t\t}\n\t};\n\t\n\tExpr.pseudos[\"nth\"] = Expr.pseudos[\"eq\"];\n\t\n\t// Add button/input type pseudos\n\tfor ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {\n\t\tExpr.pseudos[ i ] = createInputPseudo( i );\n\t}\n\tfor ( i in { submit: true, reset: true } ) {\n\t\tExpr.pseudos[ i ] = createButtonPseudo( i );\n\t}\n\t\n\t// Easy API for creating new setFilters\n\tfunction setFilters() {}\n\tsetFilters.prototype = Expr.filters = Expr.pseudos;\n\tExpr.setFilters = new setFilters();\n\t\n\ttokenize = Sizzle.tokenize = function( selector, parseOnly ) {\n\t\tvar matched, match, tokens, type,\n\t\t\tsoFar, groups, preFilters,\n\t\t\tcached = tokenCache[ selector + \" \" ];\n\t\n\t\tif ( cached ) {\n\t\t\treturn parseOnly ? 0 : cached.slice( 0 );\n\t\t}\n\t\n\t\tsoFar = selector;\n\t\tgroups = [];\n\t\tpreFilters = Expr.preFilter;\n\t\n\t\twhile ( soFar ) {\n\t\n\t\t\t// Comma and first run\n\t\t\tif ( !matched || (match = rcomma.exec( soFar )) ) {\n\t\t\t\tif ( match ) {\n\t\t\t\t\t// Don't consume trailing commas as valid\n\t\t\t\t\tsoFar = soFar.slice( match[0].length ) || soFar;\n\t\t\t\t}\n\t\t\t\tgroups.push( (tokens = []) );\n\t\t\t}\n\t\n\t\t\tmatched = false;\n\t\n\t\t\t// Combinators\n\t\t\tif ( (match = rcombinators.exec( soFar )) ) {\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\t// Cast descendant combinators to space\n\t\t\t\t\ttype: match[0].replace( rtrim, \" \" )\n\t\t\t\t});\n\t\t\t\tsoFar = soFar.slice( matched.length );\n\t\t\t}\n\t\n\t\t\t// Filters\n\t\t\tfor ( type in Expr.filter ) {\n\t\t\t\tif ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||\n\t\t\t\t\t(match = preFilters[ type ]( match ))) ) {\n\t\t\t\t\tmatched = match.shift();\n\t\t\t\t\ttokens.push({\n\t\t\t\t\t\tvalue: matched,\n\t\t\t\t\t\ttype: type,\n\t\t\t\t\t\tmatches: match\n\t\t\t\t\t});\n\t\t\t\t\tsoFar = soFar.slice( matched.length );\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\tif ( !matched ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\n\t\t// Return the length of the invalid excess\n\t\t// if we're just parsing\n\t\t// Otherwise, throw an error or return tokens\n\t\treturn parseOnly ?\n\t\t\tsoFar.length :\n\t\t\tsoFar ?\n\t\t\t\tSizzle.error( selector ) :\n\t\t\t\t// Cache the tokens\n\t\t\t\ttokenCache( selector, groups ).slice( 0 );\n\t};\n\t\n\tfunction toSelector( tokens ) {\n\t\tvar i = 0,\n\t\t\tlen = tokens.length,\n\t\t\tselector = \"\";\n\t\tfor ( ; i < len; i++ ) {\n\t\t\tselector += tokens[i].value;\n\t\t}\n\t\treturn selector;\n\t}\n\t\n\tfunction addCombinator( matcher, combinator, base ) {\n\t\tvar dir = combinator.dir,\n\t\t\tcheckNonElements = base && dir === \"parentNode\",\n\t\t\tdoneName = done++;\n\t\n\t\treturn combinator.first ?\n\t\t\t// Check against closest ancestor/preceding element\n\t\t\tfunction( elem, context, 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\treturn matcher( elem, context, xml );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} :\n\t\n\t\t\t// Check against all ancestor/preceding elements\n\t\t\tfunction( elem, context, xml ) {\n\t\t\t\tvar oldCache, uniqueCache, outerCache,\n\t\t\t\t\tnewCache = [ dirruns, doneName ];\n\t\n\t\t\t\t// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching\n\t\t\t\tif ( xml ) {\n\t\t\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\t\tif ( 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} else {\n\t\t\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\t\touterCache = elem[ expando ] || (elem[ expando ] = {});\n\t\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[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {});\n\t\n\t\t\t\t\t\t\tif ( (oldCache = uniqueCache[ dir ]) &&\n\t\t\t\t\t\t\t\toldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {\n\t\n\t\t\t\t\t\t\t\t// Assign to newCache so results back-propagate to previous elements\n\t\t\t\t\t\t\t\treturn (newCache[ 2 ] = oldCache[ 2 ]);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t// Reuse newcache so results back-propagate to previous elements\n\t\t\t\t\t\t\t\tuniqueCache[ dir ] = newCache;\n\t\n\t\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\t\tif ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {\n\t\t\t\t\t\t\t\t\treturn true;\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}\n\t\t\t\t}\n\t\t\t};\n\t}\n\t\n\tfunction elementMatcher( matchers ) {\n\t\treturn matchers.length > 1 ?\n\t\t\tfunction( elem, context, xml ) {\n\t\t\t\tvar i = matchers.length;\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\tif ( !matchers[i]( elem, context, xml ) ) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t} :\n\t\t\tmatchers[0];\n\t}\n\t\n\tfunction multipleContexts( selector, contexts, results ) {\n\t\tvar i = 0,\n\t\t\tlen = contexts.length;\n\t\tfor ( ; i < len; i++ ) {\n\t\t\tSizzle( selector, contexts[i], results );\n\t\t}\n\t\treturn results;\n\t}\n\t\n\tfunction condense( unmatched, map, filter, context, xml ) {\n\t\tvar elem,\n\t\t\tnewUnmatched = [],\n\t\t\ti = 0,\n\t\t\tlen = unmatched.length,\n\t\t\tmapped = map != null;\n\t\n\t\tfor ( ; i < len; i++ ) {\n\t\t\tif ( (elem = unmatched[i]) ) {\n\t\t\t\tif ( !filter || filter( elem, context, xml ) ) {\n\t\t\t\t\tnewUnmatched.push( elem );\n\t\t\t\t\tif ( mapped ) {\n\t\t\t\t\t\tmap.push( i );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\n\t\treturn newUnmatched;\n\t}\n\t\n\tfunction setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {\n\t\tif ( postFilter && !postFilter[ expando ] ) {\n\t\t\tpostFilter = setMatcher( postFilter );\n\t\t}\n\t\tif ( postFinder && !postFinder[ expando ] ) {\n\t\t\tpostFinder = setMatcher( postFinder, postSelector );\n\t\t}\n\t\treturn markFunction(function( seed, results, context, xml ) {\n\t\t\tvar temp, i, elem,\n\t\t\t\tpreMap = [],\n\t\t\t\tpostMap = [],\n\t\t\t\tpreexisting = results.length,\n\t\n\t\t\t\t// Get initial elements from seed or context\n\t\t\t\telems = seed || multipleContexts( selector || \"*\", context.nodeType ? [ context ] : context, [] ),\n\t\n\t\t\t\t// Prefilter to get matcher input, preserving a map for seed-results synchronization\n\t\t\t\tmatcherIn = preFilter && ( seed || !selector ) ?\n\t\t\t\t\tcondense( elems, preMap, preFilter, context, xml ) :\n\t\t\t\t\telems,\n\t\n\t\t\t\tmatcherOut = matcher ?\n\t\t\t\t\t// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,\n\t\t\t\t\tpostFinder || ( seed ? preFilter : preexisting || postFilter ) ?\n\t\n\t\t\t\t\t\t// ...intermediate processing is necessary\n\t\t\t\t\t\t[] :\n\t\n\t\t\t\t\t\t// ...otherwise use results directly\n\t\t\t\t\t\tresults :\n\t\t\t\t\tmatcherIn;\n\t\n\t\t\t// Find primary matches\n\t\t\tif ( matcher ) {\n\t\t\t\tmatcher( matcherIn, matcherOut, context, xml );\n\t\t\t}\n\t\n\t\t\t// Apply postFilter\n\t\t\tif ( postFilter ) {\n\t\t\t\ttemp = condense( matcherOut, postMap );\n\t\t\t\tpostFilter( temp, [], context, xml );\n\t\n\t\t\t\t// Un-match failing elements by moving them back to matcherIn\n\t\t\t\ti = temp.length;\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\tif ( (elem = temp[i]) ) {\n\t\t\t\t\t\tmatcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\tif ( seed ) {\n\t\t\t\tif ( postFinder || preFilter ) {\n\t\t\t\t\tif ( postFinder ) {\n\t\t\t\t\t\t// Get the final matcherOut by condensing this intermediate into postFinder contexts\n\t\t\t\t\t\ttemp = [];\n\t\t\t\t\t\ti = matcherOut.length;\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tif ( (elem = matcherOut[i]) ) {\n\t\t\t\t\t\t\t\t// Restore matcherIn since elem is not yet a final match\n\t\t\t\t\t\t\t\ttemp.push( (matcherIn[i] = elem) );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tpostFinder( null, (matcherOut = []), temp, xml );\n\t\t\t\t\t}\n\t\n\t\t\t\t\t// Move matched elements from seed to results to keep them synchronized\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(temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {\n\t\n\t\t\t\t\t\t\tseed[temp] = !(results[temp] = elem);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\n\t\t\t// Add elements to results, through postFinder if defined\n\t\t\t} else {\n\t\t\t\tmatcherOut = condense(\n\t\t\t\t\tmatcherOut === results ?\n\t\t\t\t\t\tmatcherOut.splice( preexisting, matcherOut.length ) :\n\t\t\t\t\t\tmatcherOut\n\t\t\t\t);\n\t\t\t\tif ( postFinder ) {\n\t\t\t\t\tpostFinder( null, results, matcherOut, xml );\n\t\t\t\t} else {\n\t\t\t\t\tpush.apply( results, matcherOut );\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\t\n\tfunction matcherFromTokens( tokens ) {\n\t\tvar checkContext, matcher, j,\n\t\t\tlen = tokens.length,\n\t\t\tleadingRelative = Expr.relative[ tokens[0].type ],\n\t\t\timplicitRelative = leadingRelative || Expr.relative[\" \"],\n\t\t\ti = leadingRelative ? 1 : 0,\n\t\n\t\t\t// The foundational matcher ensures that elements are reachable from top-level context(s)\n\t\t\tmatchContext = addCombinator( function( elem ) {\n\t\t\t\treturn elem === checkContext;\n\t\t\t}, implicitRelative, true ),\n\t\t\tmatchAnyContext = addCombinator( function( elem ) {\n\t\t\t\treturn indexOf( checkContext, elem ) > -1;\n\t\t\t}, implicitRelative, true ),\n\t\t\tmatchers = [ function( elem, context, xml ) {\n\t\t\t\tvar ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (\n\t\t\t\t\t(checkContext = context).nodeType ?\n\t\t\t\t\t\tmatchContext( elem, context, xml ) :\n\t\t\t\t\t\tmatchAnyContext( elem, context, xml ) );\n\t\t\t\t// Avoid hanging onto element (issue #299)\n\t\t\t\tcheckContext = null;\n\t\t\t\treturn ret;\n\t\t\t} ];\n\t\n\t\tfor ( ; i < len; i++ ) {\n\t\t\tif ( (matcher = Expr.relative[ tokens[i].type ]) ) {\n\t\t\t\tmatchers = [ addCombinator(elementMatcher( matchers ), matcher) ];\n\t\t\t} else {\n\t\t\t\tmatcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );\n\t\n\t\t\t\t// Return special upon seeing a positional matcher\n\t\t\t\tif ( matcher[ expando ] ) {\n\t\t\t\t\t// Find the next relative operator (if any) for proper handling\n\t\t\t\t\tj = ++i;\n\t\t\t\t\tfor ( ; j < len; j++ ) {\n\t\t\t\t\t\tif ( Expr.relative[ tokens[j].type ] ) {\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\treturn setMatcher(\n\t\t\t\t\t\ti > 1 && elementMatcher( matchers ),\n\t\t\t\t\t\ti > 1 && toSelector(\n\t\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\t\ttokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === \" \" ? \"*\" : \"\" })\n\t\t\t\t\t\t).replace( rtrim, \"$1\" ),\n\t\t\t\t\t\tmatcher,\n\t\t\t\t\t\ti < j && matcherFromTokens( tokens.slice( i, j ) ),\n\t\t\t\t\t\tj < len && matcherFromTokens( (tokens = tokens.slice( j )) ),\n\t\t\t\t\t\tj < len && toSelector( tokens )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tmatchers.push( matcher );\n\t\t\t}\n\t\t}\n\t\n\t\treturn elementMatcher( matchers );\n\t}\n\t\n\tfunction matcherFromGroupMatchers( elementMatchers, setMatchers ) {\n\t\tvar bySet = setMatchers.length > 0,\n\t\t\tbyElement = elementMatchers.length > 0,\n\t\t\tsuperMatcher = function( seed, context, xml, results, outermost ) {\n\t\t\t\tvar elem, j, matcher,\n\t\t\t\t\tmatchedCount = 0,\n\t\t\t\t\ti = \"0\",\n\t\t\t\t\tunmatched = seed && [],\n\t\t\t\t\tsetMatched = [],\n\t\t\t\t\tcontextBackup = outermostContext,\n\t\t\t\t\t// We must always have either seed elements or outermost context\n\t\t\t\t\telems = seed || byElement && Expr.find[\"TAG\"]( \"*\", outermost ),\n\t\t\t\t\t// Use integer dirruns iff this is the outermost matcher\n\t\t\t\t\tdirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),\n\t\t\t\t\tlen = elems.length;\n\t\n\t\t\t\tif ( outermost ) {\n\t\t\t\t\toutermostContext = context === document || context || outermost;\n\t\t\t\t}\n\t\n\t\t\t\t// Add elements passing elementMatchers directly to results\n\t\t\t\t// Support: IE<9, Safari\n\t\t\t\t// Tolerate NodeList properties (IE: \"length\"; Safari: ) matching elements by id\n\t\t\t\tfor ( ; i !== len && (elem = elems[i]) != null; i++ ) {\n\t\t\t\t\tif ( byElement && elem ) {\n\t\t\t\t\t\tj = 0;\n\t\t\t\t\t\tif ( !context && elem.ownerDocument !== document ) {\n\t\t\t\t\t\t\tsetDocument( elem );\n\t\t\t\t\t\t\txml = !documentIsHTML;\n\t\t\t\t\t\t}\n\t\t\t\t\t\twhile ( (matcher = elementMatchers[j++]) ) {\n\t\t\t\t\t\t\tif ( matcher( elem, context || document, xml) ) {\n\t\t\t\t\t\t\t\tresults.push( elem );\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\tif ( outermost ) {\n\t\t\t\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\n\t\t\t\t\t// Track unmatched elements for set filters\n\t\t\t\t\tif ( bySet ) {\n\t\t\t\t\t\t// They will have gone through all possible matchers\n\t\t\t\t\t\tif ( (elem = !matcher && elem) ) {\n\t\t\t\t\t\t\tmatchedCount--;\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t// Lengthen the array for every element, matched or not\n\t\t\t\t\t\tif ( seed ) {\n\t\t\t\t\t\t\tunmatched.push( elem );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\n\t\t\t\t// `i` is now the count of elements visited above, and adding it to `matchedCount`\n\t\t\t\t// makes the latter nonnegative.\n\t\t\t\tmatchedCount += i;\n\t\n\t\t\t\t// Apply set filters to unmatched elements\n\t\t\t\t// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`\n\t\t\t\t// equals `i`), unless we didn't visit _any_ elements in the above loop because we have\n\t\t\t\t// no element matchers and no seed.\n\t\t\t\t// Incrementing an initially-string \"0\" `i` allows `i` to remain a string only in that\n\t\t\t\t// case, which will result in a \"00\" `matchedCount` that differs from `i` but is also\n\t\t\t\t// numerically zero.\n\t\t\t\tif ( bySet && i !== matchedCount ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\twhile ( (matcher = setMatchers[j++]) ) {\n\t\t\t\t\t\tmatcher( unmatched, setMatched, context, xml );\n\t\t\t\t\t}\n\t\n\t\t\t\t\tif ( seed ) {\n\t\t\t\t\t\t// Reintegrate element matches to eliminate the need for sorting\n\t\t\t\t\t\tif ( matchedCount > 0 ) {\n\t\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\t\tif ( !(unmatched[i] || setMatched[i]) ) {\n\t\t\t\t\t\t\t\t\tsetMatched[i] = pop.call( results );\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\n\t\t\t\t\t\t// Discard index placeholder values to get only actual matches\n\t\t\t\t\t\tsetMatched = condense( setMatched );\n\t\t\t\t\t}\n\t\n\t\t\t\t\t// Add matches to results\n\t\t\t\t\tpush.apply( results, setMatched );\n\t\n\t\t\t\t\t// Seedless set matches succeeding multiple successful matchers stipulate sorting\n\t\t\t\t\tif ( outermost && !seed && setMatched.length > 0 &&\n\t\t\t\t\t\t( matchedCount + setMatchers.length ) > 1 ) {\n\t\n\t\t\t\t\t\tSizzle.uniqueSort( results );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\n\t\t\t\t// Override manipulation of globals by nested matchers\n\t\t\t\tif ( outermost ) {\n\t\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\t\toutermostContext = contextBackup;\n\t\t\t\t}\n\t\n\t\t\t\treturn unmatched;\n\t\t\t};\n\t\n\t\treturn bySet ?\n\t\t\tmarkFunction( superMatcher ) :\n\t\t\tsuperMatcher;\n\t}\n\t\n\tcompile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {\n\t\tvar i,\n\t\t\tsetMatchers = [],\n\t\t\telementMatchers = [],\n\t\t\tcached = compilerCache[ selector + \" \" ];\n\t\n\t\tif ( !cached ) {\n\t\t\t// Generate a function of recursive functions that can be used to check each element\n\t\t\tif ( !match ) {\n\t\t\t\tmatch = tokenize( selector );\n\t\t\t}\n\t\t\ti = match.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tcached = matcherFromTokens( match[i] );\n\t\t\t\tif ( cached[ expando ] ) {\n\t\t\t\t\tsetMatchers.push( cached );\n\t\t\t\t} else {\n\t\t\t\t\telementMatchers.push( cached );\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\t// Cache the compiled function\n\t\t\tcached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );\n\t\n\t\t\t// Save selector and tokenization\n\t\t\tcached.selector = selector;\n\t\t}\n\t\treturn cached;\n\t};\n\t\n\t/**\n\t * A low-level selection function that works with Sizzle's compiled\n\t * selector functions\n\t * @param {String|Function} selector A selector or a pre-compiled\n\t * selector function built with Sizzle.compile\n\t * @param {Element} context\n\t * @param {Array} [results]\n\t * @param {Array} [seed] A set of elements to match against\n\t */\n\tselect = Sizzle.select = function( selector, context, results, seed ) {\n\t\tvar i, tokens, token, type, find,\n\t\t\tcompiled = typeof selector === \"function\" && selector,\n\t\t\tmatch = !seed && tokenize( (selector = compiled.selector || selector) );\n\t\n\t\tresults = results || [];\n\t\n\t\t// Try to minimize operations if there is only one selector in the list and no seed\n\t\t// (the latter of which guarantees us context)\n\t\tif ( match.length === 1 ) {\n\t\n\t\t\t// Reduce context if the leading compound selector is an ID\n\t\t\ttokens = match[0] = match[0].slice( 0 );\n\t\t\tif ( tokens.length > 2 && (token = tokens[0]).type === \"ID\" &&\n\t\t\t\t\tsupport.getById && context.nodeType === 9 && documentIsHTML &&\n\t\t\t\t\tExpr.relative[ tokens[1].type ] ) {\n\t\n\t\t\t\tcontext = ( Expr.find[\"ID\"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];\n\t\t\t\tif ( !context ) {\n\t\t\t\t\treturn results;\n\t\n\t\t\t\t// Precompiled matchers will still verify ancestry, so step up a level\n\t\t\t\t} else if ( compiled ) {\n\t\t\t\t\tcontext = context.parentNode;\n\t\t\t\t}\n\t\n\t\t\t\tselector = selector.slice( tokens.shift().value.length );\n\t\t\t}\n\t\n\t\t\t// Fetch a seed set for right-to-left matching\n\t\t\ti = matchExpr[\"needsContext\"].test( selector ) ? 0 : tokens.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\ttoken = tokens[i];\n\t\n\t\t\t\t// Abort if we hit a combinator\n\t\t\t\tif ( Expr.relative[ (type = token.type) ] ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif ( (find = Expr.find[ type ]) ) {\n\t\t\t\t\t// Search, expanding context for leading sibling combinators\n\t\t\t\t\tif ( (seed = find(\n\t\t\t\t\t\ttoken.matches[0].replace( runescape, funescape ),\n\t\t\t\t\t\trsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context\n\t\t\t\t\t)) ) {\n\t\n\t\t\t\t\t\t// If seed is empty or no tokens remain, we can return early\n\t\t\t\t\t\ttokens.splice( i, 1 );\n\t\t\t\t\t\tselector = seed.length && toSelector( tokens );\n\t\t\t\t\t\tif ( !selector ) {\n\t\t\t\t\t\t\tpush.apply( results, seed );\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\n\t\t// Compile and execute a filtering function if one is not provided\n\t\t// Provide `match` to avoid retokenization if we modified the selector above\n\t\t( compiled || compile( selector, match ) )(\n\t\t\tseed,\n\t\t\tcontext,\n\t\t\t!documentIsHTML,\n\t\t\tresults,\n\t\t\t!context || rsibling.test( selector ) && testContext( context.parentNode ) || context\n\t\t);\n\t\treturn results;\n\t};\n\t\n\t// One-time assignments\n\t\n\t// Sort stability\n\tsupport.sortStable = expando.split(\"\").sort( sortOrder ).join(\"\") === expando;\n\t\n\t// Support: Chrome 14-35+\n\t// Always assume duplicates if they aren't passed to the comparison function\n\tsupport.detectDuplicates = !!hasDuplicate;\n\t\n\t// Initialize against the default document\n\tsetDocument();\n\t\n\t// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)\n\t// Detached nodes confoundingly follow *each other*\n\tsupport.sortDetached = assert(function( div1 ) {\n\t\t// Should return 1, but returns 4 (following)\n\t\treturn div1.compareDocumentPosition( document.createElement(\"div\") ) & 1;\n\t});\n\t\n\t// Support: IE<8\n\t// Prevent attribute/property \"interpolation\"\n\t// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx\n\tif ( !assert(function( div ) {\n\t\tdiv.innerHTML = \"\";\n\t\treturn div.firstChild.getAttribute(\"href\") === \"#\" ;\n\t}) ) {\n\t\taddHandle( \"type|href|height|width\", function( elem, name, isXML ) {\n\t\t\tif ( !isXML ) {\n\t\t\t\treturn elem.getAttribute( name, name.toLowerCase() === \"type\" ? 1 : 2 );\n\t\t\t}\n\t\t});\n\t}\n\t\n\t// Support: IE<9\n\t// Use defaultValue in place of getAttribute(\"value\")\n\tif ( !support.attributes || !assert(function( div ) {\n\t\tdiv.innerHTML = \"\";\n\t\tdiv.firstChild.setAttribute( \"value\", \"\" );\n\t\treturn div.firstChild.getAttribute( \"value\" ) === \"\";\n\t}) ) {\n\t\taddHandle( \"value\", function( elem, name, isXML ) {\n\t\t\tif ( !isXML && elem.nodeName.toLowerCase() === \"input\" ) {\n\t\t\t\treturn elem.defaultValue;\n\t\t\t}\n\t\t});\n\t}\n\t\n\t// Support: IE<9\n\t// Use getAttributeNode to fetch booleans when getAttribute lies\n\tif ( !assert(function( div ) {\n\t\treturn div.getAttribute(\"disabled\") == null;\n\t}) ) {\n\t\taddHandle( booleans, function( elem, name, isXML ) {\n\t\t\tvar val;\n\t\t\tif ( !isXML ) {\n\t\t\t\treturn elem[ name ] === true ? name.toLowerCase() :\n\t\t\t\t\t\t(val = elem.getAttributeNode( name )) && val.specified ?\n\t\t\t\t\t\tval.value :\n\t\t\t\t\tnull;\n\t\t\t}\n\t\t});\n\t}\n\t\n\treturn Sizzle;\n\t\n\t})( window );\n\t\n\t\n\t\n\tjQuery.find = Sizzle;\n\tjQuery.expr = Sizzle.selectors;\n\tjQuery.expr[ \":\" ] = jQuery.expr.pseudos;\n\tjQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;\n\tjQuery.text = Sizzle.getText;\n\tjQuery.isXMLDoc = Sizzle.isXML;\n\tjQuery.contains = Sizzle.contains;\n\t\n\t\n\t\n\tvar dir = function( elem, dir, until ) {\n\t\tvar matched = [],\n\t\t\ttruncate = until !== undefined;\n\t\n\t\twhile ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {\n\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\tif ( truncate && jQuery( elem ).is( until ) ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tmatched.push( elem );\n\t\t\t}\n\t\t}\n\t\treturn matched;\n\t};\n\t\n\t\n\tvar siblings = function( n, elem ) {\n\t\tvar matched = [];\n\t\n\t\tfor ( ; n; n = n.nextSibling ) {\n\t\t\tif ( n.nodeType === 1 && n !== elem ) {\n\t\t\t\tmatched.push( n );\n\t\t\t}\n\t\t}\n\t\n\t\treturn matched;\n\t};\n\t\n\t\n\tvar rneedsContext = jQuery.expr.match.needsContext;\n\t\n\tvar rsingleTag = ( /^<([\\w-]+)\\s*\\/?>(?:<\\/\\1>|)$/ );\n\t\n\t\n\t\n\tvar risSimple = /^.[^:#\\[\\.,]*$/;\n\t\n\t// Implement the identical functionality for filter and not\n\tfunction winnow( elements, qualifier, not ) {\n\t\tif ( jQuery.isFunction( qualifier ) ) {\n\t\t\treturn jQuery.grep( elements, function( elem, i ) {\n\t\t\t\t/* jshint -W018 */\n\t\t\t\treturn !!qualifier.call( elem, i, elem ) !== not;\n\t\t\t} );\n\t\n\t\t}\n\t\n\t\tif ( qualifier.nodeType ) {\n\t\t\treturn jQuery.grep( elements, function( elem ) {\n\t\t\t\treturn ( elem === qualifier ) !== not;\n\t\t\t} );\n\t\n\t\t}\n\t\n\t\tif ( typeof qualifier === \"string\" ) {\n\t\t\tif ( risSimple.test( qualifier ) ) {\n\t\t\t\treturn jQuery.filter( qualifier, elements, not );\n\t\t\t}\n\t\n\t\t\tqualifier = jQuery.filter( qualifier, elements );\n\t\t}\n\t\n\t\treturn jQuery.grep( elements, function( elem ) {\n\t\t\treturn ( jQuery.inArray( elem, qualifier ) > -1 ) !== not;\n\t\t} );\n\t}\n\t\n\tjQuery.filter = function( expr, elems, not ) {\n\t\tvar elem = elems[ 0 ];\n\t\n\t\tif ( not ) {\n\t\t\texpr = \":not(\" + expr + \")\";\n\t\t}\n\t\n\t\treturn elems.length === 1 && elem.nodeType === 1 ?\n\t\t\tjQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] :\n\t\t\tjQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {\n\t\t\t\treturn elem.nodeType === 1;\n\t\t\t} ) );\n\t};\n\t\n\tjQuery.fn.extend( {\n\t\tfind: function( selector ) {\n\t\t\tvar i,\n\t\t\t\tret = [],\n\t\t\t\tself = this,\n\t\t\t\tlen = self.length;\n\t\n\t\t\tif ( typeof selector !== \"string\" ) {\n\t\t\t\treturn this.pushStack( jQuery( selector ).filter( function() {\n\t\t\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\t\t\tif ( jQuery.contains( self[ i ], this ) ) {\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}\n\t\n\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\tjQuery.find( selector, self[ i ], ret );\n\t\t\t}\n\t\n\t\t\t// Needed because $( selector, context ) becomes $( context ).find( selector )\n\t\t\tret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret );\n\t\t\tret.selector = this.selector ? this.selector + \" \" + selector : selector;\n\t\t\treturn ret;\n\t\t},\n\t\tfilter: function( selector ) {\n\t\t\treturn this.pushStack( winnow( this, selector || [], false ) );\n\t\t},\n\t\tnot: function( selector ) {\n\t\t\treturn this.pushStack( winnow( this, selector || [], true ) );\n\t\t},\n\t\tis: function( selector ) {\n\t\t\treturn !!winnow(\n\t\t\t\tthis,\n\t\n\t\t\t\t// If this is a positional/relative selector, check membership in the returned set\n\t\t\t\t// so $(\"p:first\").is(\"p:last\") won't return true for a doc with two \"p\".\n\t\t\t\ttypeof selector === \"string\" && rneedsContext.test( selector ) ?\n\t\t\t\t\tjQuery( selector ) :\n\t\t\t\t\tselector || [],\n\t\t\t\tfalse\n\t\t\t).length;\n\t\t}\n\t} );\n\t\n\t\n\t// Initialize a jQuery object\n\t\n\t\n\t// A central reference to the root jQuery(document)\n\tvar rootjQuery,\n\t\n\t\t// A simple way to check for HTML strings\n\t\t// Prioritize #id over to avoid XSS via location.hash (#9521)\n\t\t// Strict HTML recognition (#11290: must start with <)\n\t\trquickExpr = /^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]*))$/,\n\t\n\t\tinit = jQuery.fn.init = function( selector, context, root ) {\n\t\t\tvar match, elem;\n\t\n\t\t\t// HANDLE: $(\"\"), $(null), $(undefined), $(false)\n\t\t\tif ( !selector ) {\n\t\t\t\treturn this;\n\t\t\t}\n\t\n\t\t\t// init accepts an alternate rootjQuery\n\t\t\t// so migrate can support jQuery.sub (gh-2101)\n\t\t\troot = root || rootjQuery;\n\t\n\t\t\t// Handle HTML strings\n\t\t\tif ( typeof selector === \"string\" ) {\n\t\t\t\tif ( selector.charAt( 0 ) === \"<\" &&\n\t\t\t\t\tselector.charAt( selector.length - 1 ) === \">\" &&\n\t\t\t\t\tselector.length >= 3 ) {\n\t\n\t\t\t\t\t// Assume that strings that start and end with <> are HTML and skip the regex check\n\t\t\t\t\tmatch = [ null, selector, null ];\n\t\n\t\t\t\t} else {\n\t\t\t\t\tmatch = rquickExpr.exec( selector );\n\t\t\t\t}\n\t\n\t\t\t\t// Match html or make sure no context is specified for #id\n\t\t\t\tif ( match && ( match[ 1 ] || !context ) ) {\n\t\n\t\t\t\t\t// HANDLE: $(html) -> $(array)\n\t\t\t\t\tif ( match[ 1 ] ) {\n\t\t\t\t\t\tcontext = context instanceof jQuery ? context[ 0 ] : context;\n\t\n\t\t\t\t\t\t// scripts is true for back-compat\n\t\t\t\t\t\t// Intentionally let the error be thrown if parseHTML is not present\n\t\t\t\t\t\tjQuery.merge( this, jQuery.parseHTML(\n\t\t\t\t\t\t\tmatch[ 1 ],\n\t\t\t\t\t\t\tcontext && context.nodeType ? context.ownerDocument || context : document,\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t) );\n\t\n\t\t\t\t\t\t// HANDLE: $(html, props)\n\t\t\t\t\t\tif ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {\n\t\t\t\t\t\t\tfor ( match in context ) {\n\t\n\t\t\t\t\t\t\t\t// Properties of context are called as methods if possible\n\t\t\t\t\t\t\t\tif ( jQuery.isFunction( this[ match ] ) ) {\n\t\t\t\t\t\t\t\t\tthis[ match ]( context[ match ] );\n\t\n\t\t\t\t\t\t\t\t// ...and otherwise set as attributes\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tthis.attr( match, context[ match ] );\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\n\t\t\t\t\t\treturn this;\n\t\n\t\t\t\t\t// HANDLE: $(#id)\n\t\t\t\t\t} else {\n\t\t\t\t\t\telem = document.getElementById( match[ 2 ] );\n\t\n\t\t\t\t\t\t// Check parentNode to catch when Blackberry 4.6 returns\n\t\t\t\t\t\t// nodes that are no longer in the document #6963\n\t\t\t\t\t\tif ( elem && elem.parentNode ) {\n\t\n\t\t\t\t\t\t\t// Handle the case where IE and Opera return items\n\t\t\t\t\t\t\t// by name instead of ID\n\t\t\t\t\t\t\tif ( elem.id !== match[ 2 ] ) {\n\t\t\t\t\t\t\t\treturn rootjQuery.find( selector );\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t// Otherwise, we inject the element directly into the jQuery object\n\t\t\t\t\t\t\tthis.length = 1;\n\t\t\t\t\t\t\tthis[ 0 ] = elem;\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\tthis.context = document;\n\t\t\t\t\t\tthis.selector = selector;\n\t\t\t\t\t\treturn this;\n\t\t\t\t\t}\n\t\n\t\t\t\t// HANDLE: $(expr, $(...))\n\t\t\t\t} else if ( !context || context.jquery ) {\n\t\t\t\t\treturn ( context || root ).find( selector );\n\t\n\t\t\t\t// HANDLE: $(expr, context)\n\t\t\t\t// (which is just equivalent to: $(context).find(expr)\n\t\t\t\t} else {\n\t\t\t\t\treturn this.constructor( context ).find( selector );\n\t\t\t\t}\n\t\n\t\t\t// HANDLE: $(DOMElement)\n\t\t\t} else if ( selector.nodeType ) {\n\t\t\t\tthis.context = this[ 0 ] = selector;\n\t\t\t\tthis.length = 1;\n\t\t\t\treturn this;\n\t\n\t\t\t// HANDLE: $(function)\n\t\t\t// Shortcut for document ready\n\t\t\t} else if ( jQuery.isFunction( selector ) ) {\n\t\t\t\treturn typeof root.ready !== \"undefined\" ?\n\t\t\t\t\troot.ready( selector ) :\n\t\n\t\t\t\t\t// Execute immediately if ready is not present\n\t\t\t\t\tselector( jQuery );\n\t\t\t}\n\t\n\t\t\tif ( selector.selector !== undefined ) {\n\t\t\t\tthis.selector = selector.selector;\n\t\t\t\tthis.context = selector.context;\n\t\t\t}\n\t\n\t\t\treturn jQuery.makeArray( selector, this );\n\t\t};\n\t\n\t// Give the init function the jQuery prototype for later instantiation\n\tinit.prototype = jQuery.fn;\n\t\n\t// Initialize central reference\n\trootjQuery = jQuery( document );\n\t\n\t\n\tvar rparentsprev = /^(?:parents|prev(?:Until|All))/,\n\t\n\t\t// methods guaranteed to produce a unique set when starting from a unique set\n\t\tguaranteedUnique = {\n\t\t\tchildren: true,\n\t\t\tcontents: true,\n\t\t\tnext: true,\n\t\t\tprev: true\n\t\t};\n\t\n\tjQuery.fn.extend( {\n\t\thas: function( target ) {\n\t\t\tvar i,\n\t\t\t\ttargets = jQuery( target, this ),\n\t\t\t\tlen = targets.length;\n\t\n\t\t\treturn this.filter( function() {\n\t\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\t\tif ( jQuery.contains( this, targets[ i ] ) ) {\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\t\n\t\tclosest: function( selectors, context ) {\n\t\t\tvar cur,\n\t\t\t\ti = 0,\n\t\t\t\tl = this.length,\n\t\t\t\tmatched = [],\n\t\t\t\tpos = rneedsContext.test( selectors ) || typeof selectors !== \"string\" ?\n\t\t\t\t\tjQuery( selectors, context || this.context ) :\n\t\t\t\t\t0;\n\t\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tfor ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {\n\t\n\t\t\t\t\t// Always skip document fragments\n\t\t\t\t\tif ( cur.nodeType < 11 && ( pos ?\n\t\t\t\t\t\tpos.index( cur ) > -1 :\n\t\n\t\t\t\t\t\t// Don't pass non-elements to Sizzle\n\t\t\t\t\t\tcur.nodeType === 1 &&\n\t\t\t\t\t\t\tjQuery.find.matchesSelector( cur, selectors ) ) ) {\n\t\n\t\t\t\t\t\tmatched.push( cur );\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\treturn this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );\n\t\t},\n\t\n\t\t// Determine the position of an element within\n\t\t// the matched set of elements\n\t\tindex: function( elem ) {\n\t\n\t\t\t// No argument, return index in parent\n\t\t\tif ( !elem ) {\n\t\t\t\treturn ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;\n\t\t\t}\n\t\n\t\t\t// index in selector\n\t\t\tif ( typeof elem === \"string\" ) {\n\t\t\t\treturn jQuery.inArray( this[ 0 ], jQuery( elem ) );\n\t\t\t}\n\t\n\t\t\t// Locate the position of the desired element\n\t\t\treturn jQuery.inArray(\n\t\n\t\t\t\t// If it receives a jQuery object, the first element is used\n\t\t\t\telem.jquery ? elem[ 0 ] : elem, this );\n\t\t},\n\t\n\t\tadd: function( selector, context ) {\n\t\t\treturn this.pushStack(\n\t\t\t\tjQuery.uniqueSort(\n\t\t\t\t\tjQuery.merge( this.get(), jQuery( selector, context ) )\n\t\t\t\t)\n\t\t\t);\n\t\t},\n\t\n\t\taddBack: function( selector ) {\n\t\t\treturn this.add( selector == null ?\n\t\t\t\tthis.prevObject : this.prevObject.filter( selector )\n\t\t\t);\n\t\t}\n\t} );\n\t\n\tfunction sibling( cur, dir ) {\n\t\tdo {\n\t\t\tcur = cur[ dir ];\n\t\t} while ( cur && cur.nodeType !== 1 );\n\t\n\t\treturn cur;\n\t}\n\t\n\tjQuery.each( {\n\t\tparent: function( elem ) {\n\t\t\tvar parent = elem.parentNode;\n\t\t\treturn parent && parent.nodeType !== 11 ? parent : null;\n\t\t},\n\t\tparents: function( elem ) {\n\t\t\treturn dir( elem, \"parentNode\" );\n\t\t},\n\t\tparentsUntil: function( elem, i, until ) {\n\t\t\treturn dir( elem, \"parentNode\", until );\n\t\t},\n\t\tnext: function( elem ) {\n\t\t\treturn sibling( elem, \"nextSibling\" );\n\t\t},\n\t\tprev: function( elem ) {\n\t\t\treturn sibling( elem, \"previousSibling\" );\n\t\t},\n\t\tnextAll: function( elem ) {\n\t\t\treturn dir( elem, \"nextSibling\" );\n\t\t},\n\t\tprevAll: function( elem ) {\n\t\t\treturn dir( elem, \"previousSibling\" );\n\t\t},\n\t\tnextUntil: function( elem, i, until ) {\n\t\t\treturn dir( elem, \"nextSibling\", until );\n\t\t},\n\t\tprevUntil: function( elem, i, until ) {\n\t\t\treturn dir( elem, \"previousSibling\", until );\n\t\t},\n\t\tsiblings: function( elem ) {\n\t\t\treturn siblings( ( elem.parentNode || {} ).firstChild, elem );\n\t\t},\n\t\tchildren: function( elem ) {\n\t\t\treturn siblings( elem.firstChild );\n\t\t},\n\t\tcontents: function( elem ) {\n\t\t\treturn jQuery.nodeName( elem, \"iframe\" ) ?\n\t\t\t\telem.contentDocument || elem.contentWindow.document :\n\t\t\t\tjQuery.merge( [], elem.childNodes );\n\t\t}\n\t}, function( name, fn ) {\n\t\tjQuery.fn[ name ] = function( until, selector ) {\n\t\t\tvar ret = jQuery.map( this, fn, until );\n\t\n\t\t\tif ( name.slice( -5 ) !== \"Until\" ) {\n\t\t\t\tselector = until;\n\t\t\t}\n\t\n\t\t\tif ( selector && typeof selector === \"string\" ) {\n\t\t\t\tret = jQuery.filter( selector, ret );\n\t\t\t}\n\t\n\t\t\tif ( this.length > 1 ) {\n\t\n\t\t\t\t// Remove duplicates\n\t\t\t\tif ( !guaranteedUnique[ name ] ) {\n\t\t\t\t\tret = jQuery.uniqueSort( ret );\n\t\t\t\t}\n\t\n\t\t\t\t// Reverse order for parents* and prev-derivatives\n\t\t\t\tif ( rparentsprev.test( name ) ) {\n\t\t\t\t\tret = ret.reverse();\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\treturn this.pushStack( ret );\n\t\t};\n\t} );\n\tvar rnotwhite = ( /\\S+/g );\n\t\n\t\n\t\n\t// Convert String-formatted options into Object-formatted ones\n\tfunction createOptions( options ) {\n\t\tvar object = {};\n\t\tjQuery.each( options.match( rnotwhite ) || [], function( _, flag ) {\n\t\t\tobject[ flag ] = true;\n\t\t} );\n\t\treturn object;\n\t}\n\t\n\t/*\n\t * Create a callback list using the following parameters:\n\t *\n\t *\toptions: an optional list of space-separated options that will change how\n\t *\t\t\tthe callback list behaves or a more traditional option object\n\t *\n\t * By default a callback list will act like an event callback list and can be\n\t * \"fired\" multiple times.\n\t *\n\t * Possible options:\n\t *\n\t *\tonce:\t\t\twill ensure the callback list can only be fired once (like a Deferred)\n\t *\n\t *\tmemory:\t\t\twill keep track of previous values and will call any callback added\n\t *\t\t\t\t\tafter the list has been fired right away with the latest \"memorized\"\n\t *\t\t\t\t\tvalues (like a Deferred)\n\t *\n\t *\tunique:\t\t\twill ensure a callback can only be added once (no duplicate in the list)\n\t *\n\t *\tstopOnFalse:\tinterrupt callings when a callback returns false\n\t *\n\t */\n\tjQuery.Callbacks = function( options ) {\n\t\n\t\t// Convert options from String-formatted to Object-formatted if needed\n\t\t// (we check in cache first)\n\t\toptions = typeof options === \"string\" ?\n\t\t\tcreateOptions( options ) :\n\t\t\tjQuery.extend( {}, options );\n\t\n\t\tvar // Flag to know if list is currently firing\n\t\t\tfiring,\n\t\n\t\t\t// Last fire value for non-forgettable lists\n\t\t\tmemory,\n\t\n\t\t\t// Flag to know if list was already fired\n\t\t\tfired,\n\t\n\t\t\t// Flag to prevent firing\n\t\t\tlocked,\n\t\n\t\t\t// Actual callback list\n\t\t\tlist = [],\n\t\n\t\t\t// Queue of execution data for repeatable lists\n\t\t\tqueue = [],\n\t\n\t\t\t// Index of currently firing callback (modified by add/remove as needed)\n\t\t\tfiringIndex = -1,\n\t\n\t\t\t// Fire callbacks\n\t\t\tfire = function() {\n\t\n\t\t\t\t// Enforce single-firing\n\t\t\t\tlocked = options.once;\n\t\n\t\t\t\t// Execute callbacks for all pending executions,\n\t\t\t\t// respecting firingIndex overrides and runtime changes\n\t\t\t\tfired = firing = true;\n\t\t\t\tfor ( ; queue.length; firingIndex = -1 ) {\n\t\t\t\t\tmemory = queue.shift();\n\t\t\t\t\twhile ( ++firingIndex < list.length ) {\n\t\n\t\t\t\t\t\t// Run callback and check for early termination\n\t\t\t\t\t\tif ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&\n\t\t\t\t\t\t\toptions.stopOnFalse ) {\n\t\n\t\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\t\tfiringIndex = list.length;\n\t\t\t\t\t\t\tmemory = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\n\t\t\t\t// Forget the data if we're done with it\n\t\t\t\tif ( !options.memory ) {\n\t\t\t\t\tmemory = false;\n\t\t\t\t}\n\t\n\t\t\t\tfiring = false;\n\t\n\t\t\t\t// Clean up if we're done firing for good\n\t\t\t\tif ( locked ) {\n\t\n\t\t\t\t\t// Keep an empty list if we have data for future add calls\n\t\t\t\t\tif ( memory ) {\n\t\t\t\t\t\tlist = [];\n\t\n\t\t\t\t\t// Otherwise, this object is spent\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlist = \"\";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\n\t\t\t// Actual Callbacks object\n\t\t\tself = {\n\t\n\t\t\t\t// Add a callback or a collection of callbacks to the list\n\t\t\t\tadd: function() {\n\t\t\t\t\tif ( list ) {\n\t\n\t\t\t\t\t\t// If we have memory from a past run, we should fire after adding\n\t\t\t\t\t\tif ( memory && !firing ) {\n\t\t\t\t\t\t\tfiringIndex = list.length - 1;\n\t\t\t\t\t\t\tqueue.push( memory );\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t( function add( args ) {\n\t\t\t\t\t\t\tjQuery.each( args, function( _, arg ) {\n\t\t\t\t\t\t\t\tif ( jQuery.isFunction( arg ) ) {\n\t\t\t\t\t\t\t\t\tif ( !options.unique || !self.has( arg ) ) {\n\t\t\t\t\t\t\t\t\t\tlist.push( arg );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} else if ( arg && arg.length && jQuery.type( arg ) !== \"string\" ) {\n\t\n\t\t\t\t\t\t\t\t\t// Inspect recursively\n\t\t\t\t\t\t\t\t\tadd( arg );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} )( arguments );\n\t\n\t\t\t\t\t\tif ( memory && !firing ) {\n\t\t\t\t\t\t\tfire();\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\t\n\t\t\t\t// Remove a callback from the list\n\t\t\t\tremove: function() {\n\t\t\t\t\tjQuery.each( arguments, function( _, arg ) {\n\t\t\t\t\t\tvar index;\n\t\t\t\t\t\twhile ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {\n\t\t\t\t\t\t\tlist.splice( index, 1 );\n\t\n\t\t\t\t\t\t\t// Handle firing indexes\n\t\t\t\t\t\t\tif ( index <= firingIndex ) {\n\t\t\t\t\t\t\t\tfiringIndex--;\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\treturn this;\n\t\t\t\t},\n\t\n\t\t\t\t// Check if a given callback is in the list.\n\t\t\t\t// If no argument is given, return whether or not list has callbacks attached.\n\t\t\t\thas: function( fn ) {\n\t\t\t\t\treturn fn ?\n\t\t\t\t\t\tjQuery.inArray( fn, list ) > -1 :\n\t\t\t\t\t\tlist.length > 0;\n\t\t\t\t},\n\t\n\t\t\t\t// Remove all callbacks from the list\n\t\t\t\tempty: function() {\n\t\t\t\t\tif ( list ) {\n\t\t\t\t\t\tlist = [];\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\t\n\t\t\t\t// Disable .fire and .add\n\t\t\t\t// Abort any current/pending executions\n\t\t\t\t// Clear all callbacks and values\n\t\t\t\tdisable: function() {\n\t\t\t\t\tlocked = queue = [];\n\t\t\t\t\tlist = memory = \"\";\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\t\t\t\tdisabled: function() {\n\t\t\t\t\treturn !list;\n\t\t\t\t},\n\t\n\t\t\t\t// Disable .fire\n\t\t\t\t// Also disable .add unless we have memory (since it would have no effect)\n\t\t\t\t// Abort any pending executions\n\t\t\t\tlock: function() {\n\t\t\t\t\tlocked = true;\n\t\t\t\t\tif ( !memory ) {\n\t\t\t\t\t\tself.disable();\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\t\t\t\tlocked: function() {\n\t\t\t\t\treturn !!locked;\n\t\t\t\t},\n\t\n\t\t\t\t// Call all callbacks with the given context and arguments\n\t\t\t\tfireWith: function( context, args ) {\n\t\t\t\t\tif ( !locked ) {\n\t\t\t\t\t\targs = args || [];\n\t\t\t\t\t\targs = [ context, args.slice ? args.slice() : args ];\n\t\t\t\t\t\tqueue.push( args );\n\t\t\t\t\t\tif ( !firing ) {\n\t\t\t\t\t\t\tfire();\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\t\n\t\t\t\t// Call all the callbacks with the given arguments\n\t\t\t\tfire: function() {\n\t\t\t\t\tself.fireWith( this, arguments );\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\t\n\t\t\t\t// To know if the callbacks have already been called at least once\n\t\t\t\tfired: function() {\n\t\t\t\t\treturn !!fired;\n\t\t\t\t}\n\t\t\t};\n\t\n\t\treturn self;\n\t};\n\t\n\t\n\tjQuery.extend( {\n\t\n\t\tDeferred: function( func ) {\n\t\t\tvar tuples = [\n\t\n\t\t\t\t\t// action, add listener, listener list, final state\n\t\t\t\t\t[ \"resolve\", \"done\", jQuery.Callbacks( \"once memory\" ), \"resolved\" ],\n\t\t\t\t\t[ \"reject\", \"fail\", jQuery.Callbacks( \"once memory\" ), \"rejected\" ],\n\t\t\t\t\t[ \"notify\", \"progress\", jQuery.Callbacks( \"memory\" ) ]\n\t\t\t\t],\n\t\t\t\tstate = \"pending\",\n\t\t\t\tpromise = {\n\t\t\t\t\tstate: function() {\n\t\t\t\t\t\treturn state;\n\t\t\t\t\t},\n\t\t\t\t\talways: function() {\n\t\t\t\t\t\tdeferred.done( arguments ).fail( arguments );\n\t\t\t\t\t\treturn this;\n\t\t\t\t\t},\n\t\t\t\t\tthen: function( /* fnDone, fnFail, fnProgress */ ) {\n\t\t\t\t\t\tvar fns = arguments;\n\t\t\t\t\t\treturn jQuery.Deferred( function( newDefer ) {\n\t\t\t\t\t\t\tjQuery.each( tuples, function( i, tuple ) {\n\t\t\t\t\t\t\t\tvar fn = jQuery.isFunction( fns[ i ] ) && fns[ i ];\n\t\n\t\t\t\t\t\t\t\t// deferred[ done | fail | progress ] for forwarding actions to newDefer\n\t\t\t\t\t\t\t\tdeferred[ tuple[ 1 ] ]( function() {\n\t\t\t\t\t\t\t\t\tvar returned = fn && fn.apply( this, arguments );\n\t\t\t\t\t\t\t\t\tif ( returned && jQuery.isFunction( returned.promise ) ) {\n\t\t\t\t\t\t\t\t\t\treturned.promise()\n\t\t\t\t\t\t\t\t\t\t\t.progress( newDefer.notify )\n\t\t\t\t\t\t\t\t\t\t\t.done( newDefer.resolve )\n\t\t\t\t\t\t\t\t\t\t\t.fail( newDefer.reject );\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tnewDefer[ tuple[ 0 ] + \"With\" ](\n\t\t\t\t\t\t\t\t\t\t\tthis === promise ? newDefer.promise() : this,\n\t\t\t\t\t\t\t\t\t\t\tfn ? [ returned ] : arguments\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\tfns = null;\n\t\t\t\t\t\t} ).promise();\n\t\t\t\t\t},\n\t\n\t\t\t\t\t// Get a promise for this deferred\n\t\t\t\t\t// If obj is provided, the promise aspect is added to the object\n\t\t\t\t\tpromise: function( obj ) {\n\t\t\t\t\t\treturn obj != null ? jQuery.extend( obj, promise ) : promise;\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tdeferred = {};\n\t\n\t\t\t// Keep pipe for back-compat\n\t\t\tpromise.pipe = promise.then;\n\t\n\t\t\t// Add list-specific methods\n\t\t\tjQuery.each( tuples, function( i, tuple ) {\n\t\t\t\tvar list = tuple[ 2 ],\n\t\t\t\t\tstateString = tuple[ 3 ];\n\t\n\t\t\t\t// promise[ done | fail | progress ] = list.add\n\t\t\t\tpromise[ tuple[ 1 ] ] = list.add;\n\t\n\t\t\t\t// Handle state\n\t\t\t\tif ( stateString ) {\n\t\t\t\t\tlist.add( function() {\n\t\n\t\t\t\t\t\t// state = [ resolved | rejected ]\n\t\t\t\t\t\tstate = stateString;\n\t\n\t\t\t\t\t// [ reject_list | resolve_list ].disable; progress_list.lock\n\t\t\t\t\t}, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock );\n\t\t\t\t}\n\t\n\t\t\t\t// deferred[ resolve | reject | notify ]\n\t\t\t\tdeferred[ tuple[ 0 ] ] = function() {\n\t\t\t\t\tdeferred[ tuple[ 0 ] + \"With\" ]( this === deferred ? promise : this, arguments );\n\t\t\t\t\treturn this;\n\t\t\t\t};\n\t\t\t\tdeferred[ tuple[ 0 ] + \"With\" ] = list.fireWith;\n\t\t\t} );\n\t\n\t\t\t// Make the deferred a promise\n\t\t\tpromise.promise( deferred );\n\t\n\t\t\t// Call given func if any\n\t\t\tif ( func ) {\n\t\t\t\tfunc.call( deferred, deferred );\n\t\t\t}\n\t\n\t\t\t// All done!\n\t\t\treturn deferred;\n\t\t},\n\t\n\t\t// Deferred helper\n\t\twhen: function( subordinate /* , ..., subordinateN */ ) {\n\t\t\tvar i = 0,\n\t\t\t\tresolveValues = slice.call( arguments ),\n\t\t\t\tlength = resolveValues.length,\n\t\n\t\t\t\t// the count of uncompleted subordinates\n\t\t\t\tremaining = length !== 1 ||\n\t\t\t\t\t( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0,\n\t\n\t\t\t\t// the master Deferred.\n\t\t\t\t// If resolveValues consist of only a single Deferred, just use that.\n\t\t\t\tdeferred = remaining === 1 ? subordinate : jQuery.Deferred(),\n\t\n\t\t\t\t// Update function for both resolve and progress values\n\t\t\t\tupdateFunc = function( i, contexts, values ) {\n\t\t\t\t\treturn function( value ) {\n\t\t\t\t\t\tcontexts[ i ] = this;\n\t\t\t\t\t\tvalues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;\n\t\t\t\t\t\tif ( values === progressValues ) {\n\t\t\t\t\t\t\tdeferred.notifyWith( contexts, values );\n\t\n\t\t\t\t\t\t} else if ( !( --remaining ) ) {\n\t\t\t\t\t\t\tdeferred.resolveWith( contexts, values );\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t},\n\t\n\t\t\t\tprogressValues, progressContexts, resolveContexts;\n\t\n\t\t\t// add listeners to Deferred subordinates; treat others as resolved\n\t\t\tif ( length > 1 ) {\n\t\t\t\tprogressValues = new Array( length );\n\t\t\t\tprogressContexts = new Array( length );\n\t\t\t\tresolveContexts = new Array( length );\n\t\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\t\tif ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) {\n\t\t\t\t\t\tresolveValues[ i ].promise()\n\t\t\t\t\t\t\t.progress( updateFunc( i, progressContexts, progressValues ) )\n\t\t\t\t\t\t\t.done( updateFunc( i, resolveContexts, resolveValues ) )\n\t\t\t\t\t\t\t.fail( deferred.reject );\n\t\t\t\t\t} else {\n\t\t\t\t\t\t--remaining;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\t// if we're not waiting on anything, resolve the master\n\t\t\tif ( !remaining ) {\n\t\t\t\tdeferred.resolveWith( resolveContexts, resolveValues );\n\t\t\t}\n\t\n\t\t\treturn deferred.promise();\n\t\t}\n\t} );\n\t\n\t\n\t// The deferred used on DOM ready\n\tvar readyList;\n\t\n\tjQuery.fn.ready = function( fn ) {\n\t\n\t\t// Add the callback\n\t\tjQuery.ready.promise().done( fn );\n\t\n\t\treturn this;\n\t};\n\t\n\tjQuery.extend( {\n\t\n\t\t// Is the DOM ready to be used? Set to true once it occurs.\n\t\tisReady: false,\n\t\n\t\t// A counter to track how many items to wait for before\n\t\t// the ready event fires. See #6781\n\t\treadyWait: 1,\n\t\n\t\t// Hold (or release) the ready event\n\t\tholdReady: function( hold ) {\n\t\t\tif ( hold ) {\n\t\t\t\tjQuery.readyWait++;\n\t\t\t} else {\n\t\t\t\tjQuery.ready( true );\n\t\t\t}\n\t\t},\n\t\n\t\t// Handle when the DOM is ready\n\t\tready: function( wait ) {\n\t\n\t\t\t// Abort if there are pending holds or we're already ready\n\t\t\tif ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\n\t\t\t// Remember that the DOM is ready\n\t\t\tjQuery.isReady = true;\n\t\n\t\t\t// If a normal DOM Ready event fired, decrement, and wait if need be\n\t\t\tif ( wait !== true && --jQuery.readyWait > 0 ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\n\t\t\t// If there are functions bound, to execute\n\t\t\treadyList.resolveWith( document, [ jQuery ] );\n\t\n\t\t\t// Trigger any bound ready events\n\t\t\tif ( jQuery.fn.triggerHandler ) {\n\t\t\t\tjQuery( document ).triggerHandler( \"ready\" );\n\t\t\t\tjQuery( document ).off( \"ready\" );\n\t\t\t}\n\t\t}\n\t} );\n\t\n\t/**\n\t * Clean-up method for dom ready events\n\t */\n\tfunction detach() {\n\t\tif ( document.addEventListener ) {\n\t\t\tdocument.removeEventListener( \"DOMContentLoaded\", completed );\n\t\t\twindow.removeEventListener( \"load\", completed );\n\t\n\t\t} else {\n\t\t\tdocument.detachEvent( \"onreadystatechange\", completed );\n\t\t\twindow.detachEvent( \"onload\", completed );\n\t\t}\n\t}\n\t\n\t/**\n\t * The ready event handler and self cleanup method\n\t */\n\tfunction completed() {\n\t\n\t\t// readyState === \"complete\" is good enough for us to call the dom ready in oldIE\n\t\tif ( document.addEventListener ||\n\t\t\twindow.event.type === \"load\" ||\n\t\t\tdocument.readyState === \"complete\" ) {\n\t\n\t\t\tdetach();\n\t\t\tjQuery.ready();\n\t\t}\n\t}\n\t\n\tjQuery.ready.promise = function( obj ) {\n\t\tif ( !readyList ) {\n\t\n\t\t\treadyList = jQuery.Deferred();\n\t\n\t\t\t// Catch cases where $(document).ready() is called\n\t\t\t// after the browser event has already occurred.\n\t\t\t// Support: IE6-10\n\t\t\t// Older IE sometimes signals \"interactive\" too soon\n\t\t\tif ( document.readyState === \"complete\" ||\n\t\t\t\t( document.readyState !== \"loading\" && !document.documentElement.doScroll ) ) {\n\t\n\t\t\t\t// Handle it asynchronously to allow scripts the opportunity to delay ready\n\t\t\t\twindow.setTimeout( jQuery.ready );\n\t\n\t\t\t// Standards-based browsers support DOMContentLoaded\n\t\t\t} else if ( document.addEventListener ) {\n\t\n\t\t\t\t// Use the handy event callback\n\t\t\t\tdocument.addEventListener( \"DOMContentLoaded\", completed );\n\t\n\t\t\t\t// A fallback to window.onload, that will always work\n\t\t\t\twindow.addEventListener( \"load\", completed );\n\t\n\t\t\t// If IE event model is used\n\t\t\t} else {\n\t\n\t\t\t\t// Ensure firing before onload, maybe late but safe also for iframes\n\t\t\t\tdocument.attachEvent( \"onreadystatechange\", completed );\n\t\n\t\t\t\t// A fallback to window.onload, that will always work\n\t\t\t\twindow.attachEvent( \"onload\", completed );\n\t\n\t\t\t\t// If IE and not a frame\n\t\t\t\t// continually check to see if the document is ready\n\t\t\t\tvar top = false;\n\t\n\t\t\t\ttry {\n\t\t\t\t\ttop = window.frameElement == null && document.documentElement;\n\t\t\t\t} catch ( e ) {}\n\t\n\t\t\t\tif ( top && top.doScroll ) {\n\t\t\t\t\t( function doScrollCheck() {\n\t\t\t\t\t\tif ( !jQuery.isReady ) {\n\t\n\t\t\t\t\t\t\ttry {\n\t\n\t\t\t\t\t\t\t\t// Use the trick by Diego Perini\n\t\t\t\t\t\t\t\t// http://javascript.nwbox.com/IEContentLoaded/\n\t\t\t\t\t\t\t\ttop.doScroll( \"left\" );\n\t\t\t\t\t\t\t} catch ( e ) {\n\t\t\t\t\t\t\t\treturn window.setTimeout( doScrollCheck, 50 );\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t// detach all dom ready events\n\t\t\t\t\t\t\tdetach();\n\t\n\t\t\t\t\t\t\t// and execute any waiting functions\n\t\t\t\t\t\t\tjQuery.ready();\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\treturn readyList.promise( obj );\n\t};\n\t\n\t// Kick off the DOM ready check even if the user does not\n\tjQuery.ready.promise();\n\t\n\t\n\t\n\t\n\t// Support: IE<9\n\t// Iteration over object's inherited properties before its own\n\tvar i;\n\tfor ( i in jQuery( support ) ) {\n\t\tbreak;\n\t}\n\tsupport.ownFirst = i === \"0\";\n\t\n\t// Note: most support tests are defined in their respective modules.\n\t// false until the test is run\n\tsupport.inlineBlockNeedsLayout = false;\n\t\n\t// Execute ASAP in case we need to set body.style.zoom\n\tjQuery( function() {\n\t\n\t\t// Minified: var a,b,c,d\n\t\tvar val, div, body, container;\n\t\n\t\tbody = document.getElementsByTagName( \"body\" )[ 0 ];\n\t\tif ( !body || !body.style ) {\n\t\n\t\t\t// Return for frameset docs that don't have a body\n\t\t\treturn;\n\t\t}\n\t\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\t\n\t\tif ( typeof div.style.zoom !== \"undefined\" ) {\n\t\n\t\t\t// Support: IE<8\n\t\t\t// Check if natively block-level elements act like inline-block\n\t\t\t// elements when setting their display to 'inline' and giving\n\t\t\t// them layout\n\t\t\tdiv.style.cssText = \"display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1\";\n\t\n\t\t\tsupport.inlineBlockNeedsLayout = val = div.offsetWidth === 3;\n\t\t\tif ( val ) {\n\t\n\t\t\t\t// Prevent IE 6 from affecting layout for positioned elements #11048\n\t\t\t\t// Prevent IE from shrinking the body in IE 7 mode #12869\n\t\t\t\t// Support: IE<8\n\t\t\t\tbody.style.zoom = 1;\n\t\t\t}\n\t\t}\n\t\n\t\tbody.removeChild( container );\n\t} );\n\t\n\t\n\t( function() {\n\t\tvar div = document.createElement( \"div\" );\n\t\n\t\t// Support: IE<9\n\t\tsupport.deleteExpando = true;\n\t\ttry {\n\t\t\tdelete div.test;\n\t\t} catch ( e ) {\n\t\t\tsupport.deleteExpando = false;\n\t\t}\n\t\n\t\t// Null elements to avoid leaks in IE.\n\t\tdiv = null;\n\t} )();\n\tvar acceptData = function( elem ) {\n\t\tvar noData = jQuery.noData[ ( elem.nodeName + \" \" ).toLowerCase() ],\n\t\t\tnodeType = +elem.nodeType || 1;\n\t\n\t\t// Do not set data on non-element DOM nodes because it will not be cleared (#8335).\n\t\treturn nodeType !== 1 && nodeType !== 9 ?\n\t\t\tfalse :\n\t\n\t\t\t// Nodes accept data unless otherwise specified; rejection can be conditional\n\t\t\t!noData || noData !== true && elem.getAttribute( \"classid\" ) === noData;\n\t};\n\t\n\t\n\t\n\t\n\tvar rbrace = /^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,\n\t\trmultiDash = /([A-Z])/g;\n\t\n\tfunction dataAttr( elem, key, data ) {\n\t\n\t\t// If nothing was found internally, try to fetch any\n\t\t// data from the HTML5 data-* attribute\n\t\tif ( data === undefined && elem.nodeType === 1 ) {\n\t\n\t\t\tvar name = \"data-\" + key.replace( rmultiDash, \"-$1\" ).toLowerCase();\n\t\n\t\t\tdata = elem.getAttribute( name );\n\t\n\t\t\tif ( typeof data === \"string\" ) {\n\t\t\t\ttry {\n\t\t\t\t\tdata = data === \"true\" ? true :\n\t\t\t\t\t\tdata === \"false\" ? false :\n\t\t\t\t\t\tdata === \"null\" ? null :\n\t\n\t\t\t\t\t\t// Only convert to a number if it doesn't change the string\n\t\t\t\t\t\t+data + \"\" === data ? +data :\n\t\t\t\t\t\trbrace.test( data ) ? jQuery.parseJSON( data ) :\n\t\t\t\t\t\tdata;\n\t\t\t\t} catch ( e ) {}\n\t\n\t\t\t\t// Make sure we set the data so it isn't changed later\n\t\t\t\tjQuery.data( elem, key, data );\n\t\n\t\t\t} else {\n\t\t\t\tdata = undefined;\n\t\t\t}\n\t\t}\n\t\n\t\treturn data;\n\t}\n\t\n\t// checks a cache object for emptiness\n\tfunction isEmptyDataObject( obj ) {\n\t\tvar name;\n\t\tfor ( name in obj ) {\n\t\n\t\t\t// if the public data object is empty, the private is still empty\n\t\t\tif ( name === \"data\" && jQuery.isEmptyObject( obj[ name ] ) ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif ( name !== \"toJSON\" ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\n\t\treturn true;\n\t}\n\t\n\tfunction internalData( elem, name, data, pvt /* Internal Use Only */ ) {\n\t\tif ( !acceptData( elem ) ) {\n\t\t\treturn;\n\t\t}\n\t\n\t\tvar ret, thisCache,\n\t\t\tinternalKey = jQuery.expando,\n\t\n\t\t\t// We have to handle DOM nodes and JS objects differently because IE6-7\n\t\t\t// can't GC object references properly across the DOM-JS boundary\n\t\t\tisNode = elem.nodeType,\n\t\n\t\t\t// Only DOM nodes need the global jQuery cache; JS object data is\n\t\t\t// attached directly to the object so GC can occur automatically\n\t\t\tcache = isNode ? jQuery.cache : elem,\n\t\n\t\t\t// Only defining an ID for JS objects if its cache already exists allows\n\t\t\t// the code to shortcut on the same path as a DOM node with no cache\n\t\t\tid = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey;\n\t\n\t\t// Avoid doing any more work than we need to when trying to get data on an\n\t\t// object that has no data at all\n\t\tif ( ( !id || !cache[ id ] || ( !pvt && !cache[ id ].data ) ) &&\n\t\t\tdata === undefined && typeof name === \"string\" ) {\n\t\t\treturn;\n\t\t}\n\t\n\t\tif ( !id ) {\n\t\n\t\t\t// Only DOM nodes need a new unique ID for each element since their data\n\t\t\t// ends up in the global cache\n\t\t\tif ( isNode ) {\n\t\t\t\tid = elem[ internalKey ] = deletedIds.pop() || jQuery.guid++;\n\t\t\t} else {\n\t\t\t\tid = internalKey;\n\t\t\t}\n\t\t}\n\t\n\t\tif ( !cache[ id ] ) {\n\t\n\t\t\t// Avoid exposing jQuery metadata on plain JS objects when the object\n\t\t\t// is serialized using JSON.stringify\n\t\t\tcache[ id ] = isNode ? {} : { toJSON: jQuery.noop };\n\t\t}\n\t\n\t\t// An object can be passed to jQuery.data instead of a key/value pair; this gets\n\t\t// shallow copied over onto the existing cache\n\t\tif ( typeof name === \"object\" || typeof name === \"function\" ) {\n\t\t\tif ( pvt ) {\n\t\t\t\tcache[ id ] = jQuery.extend( cache[ id ], name );\n\t\t\t} else {\n\t\t\t\tcache[ id ].data = jQuery.extend( cache[ id ].data, name );\n\t\t\t}\n\t\t}\n\t\n\t\tthisCache = cache[ id ];\n\t\n\t\t// jQuery data() is stored in a separate object inside the object's internal data\n\t\t// cache in order to avoid key collisions between internal data and user-defined\n\t\t// data.\n\t\tif ( !pvt ) {\n\t\t\tif ( !thisCache.data ) {\n\t\t\t\tthisCache.data = {};\n\t\t\t}\n\t\n\t\t\tthisCache = thisCache.data;\n\t\t}\n\t\n\t\tif ( data !== undefined ) {\n\t\t\tthisCache[ jQuery.camelCase( name ) ] = data;\n\t\t}\n\t\n\t\t// Check for both converted-to-camel and non-converted data property names\n\t\t// If a data property was specified\n\t\tif ( typeof name === \"string\" ) {\n\t\n\t\t\t// First Try to find as-is property data\n\t\t\tret = thisCache[ name ];\n\t\n\t\t\t// Test for null|undefined property data\n\t\t\tif ( ret == null ) {\n\t\n\t\t\t\t// Try to find the camelCased property\n\t\t\t\tret = thisCache[ jQuery.camelCase( name ) ];\n\t\t\t}\n\t\t} else {\n\t\t\tret = thisCache;\n\t\t}\n\t\n\t\treturn ret;\n\t}\n\t\n\tfunction internalRemoveData( elem, name, pvt ) {\n\t\tif ( !acceptData( elem ) ) {\n\t\t\treturn;\n\t\t}\n\t\n\t\tvar thisCache, i,\n\t\t\tisNode = elem.nodeType,\n\t\n\t\t\t// See jQuery.data for more information\n\t\t\tcache = isNode ? jQuery.cache : elem,\n\t\t\tid = isNode ? elem[ jQuery.expando ] : jQuery.expando;\n\t\n\t\t// If there is already no cache entry for this object, there is no\n\t\t// purpose in continuing\n\t\tif ( !cache[ id ] ) {\n\t\t\treturn;\n\t\t}\n\t\n\t\tif ( name ) {\n\t\n\t\t\tthisCache = pvt ? cache[ id ] : cache[ id ].data;\n\t\n\t\t\tif ( thisCache ) {\n\t\n\t\t\t\t// Support array or space separated string names for data keys\n\t\t\t\tif ( !jQuery.isArray( name ) ) {\n\t\n\t\t\t\t\t// try the string as a key before any manipulation\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\n\t\t\t\t\t\t// split the camel cased version by spaces unless a key with the spaces exists\n\t\t\t\t\t\tname = jQuery.camelCase( name );\n\t\t\t\t\t\tif ( name in thisCache ) {\n\t\t\t\t\t\t\tname = [ name ];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tname = name.split( \" \" );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\n\t\t\t\t\t// If \"name\" is an array of keys...\n\t\t\t\t\t// When data is initially created, via (\"key\", \"val\") signature,\n\t\t\t\t\t// keys will be converted to camelCase.\n\t\t\t\t\t// Since there is no way to tell _how_ a key was added, remove\n\t\t\t\t\t// both plain key and camelCase key. #12786\n\t\t\t\t\t// This will only penalize the array argument path.\n\t\t\t\t\tname = name.concat( jQuery.map( name, jQuery.camelCase ) );\n\t\t\t\t}\n\t\n\t\t\t\ti = name.length;\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\tdelete thisCache[ name[ i ] ];\n\t\t\t\t}\n\t\n\t\t\t\t// If there is no data left in the cache, we want to continue\n\t\t\t\t// and let the cache object itself get destroyed\n\t\t\t\tif ( pvt ? !isEmptyDataObject( thisCache ) : !jQuery.isEmptyObject( thisCache ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\n\t\t// See jQuery.data for more information\n\t\tif ( !pvt ) {\n\t\t\tdelete cache[ id ].data;\n\t\n\t\t\t// Don't destroy the parent cache unless the internal data object\n\t\t\t// had been the only thing left in it\n\t\t\tif ( !isEmptyDataObject( cache[ id ] ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\n\t\t// Destroy the cache\n\t\tif ( isNode ) {\n\t\t\tjQuery.cleanData( [ elem ], true );\n\t\n\t\t// Use delete when supported for expandos or `cache` is not a window per isWindow (#10080)\n\t\t/* jshint eqeqeq: false */\n\t\t} else if ( support.deleteExpando || cache != cache.window ) {\n\t\t\t/* jshint eqeqeq: true */\n\t\t\tdelete cache[ id ];\n\t\n\t\t// When all else fails, undefined\n\t\t} else {\n\t\t\tcache[ id ] = undefined;\n\t\t}\n\t}\n\t\n\tjQuery.extend( {\n\t\tcache: {},\n\t\n\t\t// The following elements (space-suffixed to avoid Object.prototype collisions)\n\t\t// throw uncatchable exceptions if you attempt to set expando properties\n\t\tnoData: {\n\t\t\t\"applet \": true,\n\t\t\t\"embed \": true,\n\t\n\t\t\t// ...but Flash objects (which have this classid) *can* handle expandos\n\t\t\t\"object \": \"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"\n\t\t},\n\t\n\t\thasData: function( elem ) {\n\t\t\telem = elem.nodeType ? jQuery.cache[ elem[ jQuery.expando ] ] : elem[ jQuery.expando ];\n\t\t\treturn !!elem && !isEmptyDataObject( elem );\n\t\t},\n\t\n\t\tdata: function( elem, name, data ) {\n\t\t\treturn internalData( elem, name, data );\n\t\t},\n\t\n\t\tremoveData: function( elem, name ) {\n\t\t\treturn internalRemoveData( elem, name );\n\t\t},\n\t\n\t\t// For internal use only.\n\t\t_data: function( elem, name, data ) {\n\t\t\treturn internalData( elem, name, data, true );\n\t\t},\n\t\n\t\t_removeData: function( elem, name ) {\n\t\t\treturn internalRemoveData( elem, name, true );\n\t\t}\n\t} );\n\t\n\tjQuery.fn.extend( {\n\t\tdata: function( key, value ) {\n\t\t\tvar i, name, data,\n\t\t\t\telem = this[ 0 ],\n\t\t\t\tattrs = elem && elem.attributes;\n\t\n\t\t\t// Special expections of .data basically thwart jQuery.access,\n\t\t\t// so implement the relevant behavior ourselves\n\t\n\t\t\t// Gets all values\n\t\t\tif ( key === undefined ) {\n\t\t\t\tif ( this.length ) {\n\t\t\t\t\tdata = jQuery.data( elem );\n\t\n\t\t\t\t\tif ( elem.nodeType === 1 && !jQuery._data( elem, \"parsedAttrs\" ) ) {\n\t\t\t\t\t\ti = attrs.length;\n\t\t\t\t\t\twhile ( i-- ) {\n\t\n\t\t\t\t\t\t\t// Support: IE11+\n\t\t\t\t\t\t\t// The attrs elements can be null (#14894)\n\t\t\t\t\t\t\tif ( attrs[ i ] ) {\n\t\t\t\t\t\t\t\tname = attrs[ i ].name;\n\t\t\t\t\t\t\t\tif ( name.indexOf( \"data-\" ) === 0 ) {\n\t\t\t\t\t\t\t\t\tname = jQuery.camelCase( name.slice( 5 ) );\n\t\t\t\t\t\t\t\t\tdataAttr( elem, name, data[ name ] );\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\tjQuery._data( elem, \"parsedAttrs\", true );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\n\t\t\t\treturn data;\n\t\t\t}\n\t\n\t\t\t// Sets multiple values\n\t\t\tif ( typeof key === \"object\" ) {\n\t\t\t\treturn this.each( function() {\n\t\t\t\t\tjQuery.data( this, key );\n\t\t\t\t} );\n\t\t\t}\n\t\n\t\t\treturn arguments.length > 1 ?\n\t\n\t\t\t\t// Sets one value\n\t\t\t\tthis.each( function() {\n\t\t\t\t\tjQuery.data( this, key, value );\n\t\t\t\t} ) :\n\t\n\t\t\t\t// Gets one value\n\t\t\t\t// Try to fetch any internally stored data first\n\t\t\t\telem ? dataAttr( elem, key, jQuery.data( elem, key ) ) : undefined;\n\t\t},\n\t\n\t\tremoveData: function( key ) {\n\t\t\treturn this.each( function() {\n\t\t\t\tjQuery.removeData( this, key );\n\t\t\t} );\n\t\t}\n\t} );\n\t\n\t\n\tjQuery.extend( {\n\t\tqueue: function( elem, type, data ) {\n\t\t\tvar queue;\n\t\n\t\t\tif ( elem ) {\n\t\t\t\ttype = ( type || \"fx\" ) + \"queue\";\n\t\t\t\tqueue = jQuery._data( elem, type );\n\t\n\t\t\t\t// Speed up dequeue by getting out quickly if this is just a lookup\n\t\t\t\tif ( data ) {\n\t\t\t\t\tif ( !queue || jQuery.isArray( data ) ) {\n\t\t\t\t\t\tqueue = jQuery._data( elem, type, jQuery.makeArray( data ) );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tqueue.push( data );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn queue || [];\n\t\t\t}\n\t\t},\n\t\n\t\tdequeue: function( elem, type ) {\n\t\t\ttype = type || \"fx\";\n\t\n\t\t\tvar queue = jQuery.queue( elem, type ),\n\t\t\t\tstartLength = queue.length,\n\t\t\t\tfn = queue.shift(),\n\t\t\t\thooks = jQuery._queueHooks( elem, type ),\n\t\t\t\tnext = function() {\n\t\t\t\t\tjQuery.dequeue( elem, type );\n\t\t\t\t};\n\t\n\t\t\t// If the fx queue is dequeued, always remove the progress sentinel\n\t\t\tif ( fn === \"inprogress\" ) {\n\t\t\t\tfn = queue.shift();\n\t\t\t\tstartLength--;\n\t\t\t}\n\t\n\t\t\tif ( fn ) {\n\t\n\t\t\t\t// Add a progress sentinel to prevent the fx queue from being\n\t\t\t\t// automatically dequeued\n\t\t\t\tif ( type === \"fx\" ) {\n\t\t\t\t\tqueue.unshift( \"inprogress\" );\n\t\t\t\t}\n\t\n\t\t\t\t// clear up the last queue stop function\n\t\t\t\tdelete hooks.stop;\n\t\t\t\tfn.call( elem, next, hooks );\n\t\t\t}\n\t\n\t\t\tif ( !startLength && hooks ) {\n\t\t\t\thooks.empty.fire();\n\t\t\t}\n\t\t},\n\t\n\t\t// not intended for public consumption - generates a queueHooks object,\n\t\t// or returns the current one\n\t\t_queueHooks: function( elem, type ) {\n\t\t\tvar key = type + \"queueHooks\";\n\t\t\treturn jQuery._data( elem, key ) || jQuery._data( elem, key, {\n\t\t\t\tempty: jQuery.Callbacks( \"once memory\" ).add( function() {\n\t\t\t\t\tjQuery._removeData( elem, type + \"queue\" );\n\t\t\t\t\tjQuery._removeData( elem, key );\n\t\t\t\t} )\n\t\t\t} );\n\t\t}\n\t} );\n\t\n\tjQuery.fn.extend( {\n\t\tqueue: function( type, data ) {\n\t\t\tvar setter = 2;\n\t\n\t\t\tif ( typeof type !== \"string\" ) {\n\t\t\t\tdata = type;\n\t\t\t\ttype = \"fx\";\n\t\t\t\tsetter--;\n\t\t\t}\n\t\n\t\t\tif ( arguments.length < setter ) {\n\t\t\t\treturn jQuery.queue( this[ 0 ], type );\n\t\t\t}\n\t\n\t\t\treturn data === undefined ?\n\t\t\t\tthis :\n\t\t\t\tthis.each( function() {\n\t\t\t\t\tvar queue = jQuery.queue( this, type, data );\n\t\n\t\t\t\t\t// ensure a hooks for this queue\n\t\t\t\t\tjQuery._queueHooks( this, type );\n\t\n\t\t\t\t\tif ( type === \"fx\" && queue[ 0 ] !== \"inprogress\" ) {\n\t\t\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t},\n\t\tdequeue: function( type ) {\n\t\t\treturn this.each( function() {\n\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t} );\n\t\t},\n\t\tclearQueue: function( type ) {\n\t\t\treturn this.queue( type || \"fx\", [] );\n\t\t},\n\t\n\t\t// Get a promise resolved when queues of a certain type\n\t\t// are emptied (fx is the type by default)\n\t\tpromise: function( type, obj ) {\n\t\t\tvar tmp,\n\t\t\t\tcount = 1,\n\t\t\t\tdefer = jQuery.Deferred(),\n\t\t\t\telements = this,\n\t\t\t\ti = this.length,\n\t\t\t\tresolve = function() {\n\t\t\t\t\tif ( !( --count ) ) {\n\t\t\t\t\t\tdefer.resolveWith( elements, [ elements ] );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\n\t\t\tif ( typeof type !== \"string\" ) {\n\t\t\t\tobj = type;\n\t\t\t\ttype = undefined;\n\t\t\t}\n\t\t\ttype = type || \"fx\";\n\t\n\t\t\twhile ( i-- ) {\n\t\t\t\ttmp = jQuery._data( elements[ i ], type + \"queueHooks\" );\n\t\t\t\tif ( tmp && tmp.empty ) {\n\t\t\t\t\tcount++;\n\t\t\t\t\ttmp.empty.add( resolve );\n\t\t\t\t}\n\t\t\t}\n\t\t\tresolve();\n\t\t\treturn defer.promise( obj );\n\t\t}\n\t} );\n\t\n\t\n\t( function() {\n\t\tvar shrinkWrapBlocksVal;\n\t\n\t\tsupport.shrinkWrapBlocks = function() {\n\t\t\tif ( shrinkWrapBlocksVal != null ) {\n\t\t\t\treturn shrinkWrapBlocksVal;\n\t\t\t}\n\t\n\t\t\t// Will be changed later if needed.\n\t\t\tshrinkWrapBlocksVal = false;\n\t\n\t\t\t// Minified: var b,c,d\n\t\t\tvar div, body, container;\n\t\n\t\t\tbody = document.getElementsByTagName( \"body\" )[ 0 ];\n\t\t\tif ( !body || !body.style ) {\n\t\n\t\t\t\t// Test fired too early or in an unsupported environment, exit.\n\t\t\t\treturn;\n\t\t\t}\n\t\n\t\t\t// Setup\n\t\t\tdiv = document.createElement( \"div\" );\n\t\t\tcontainer = document.createElement( \"div\" );\n\t\t\tcontainer.style.cssText = \"position:absolute;border:0;width:0;height:0;top:0;left:-9999px\";\n\t\t\tbody.appendChild( container ).appendChild( div );\n\t\n\t\t\t// Support: IE6\n\t\t\t// Check if elements with layout shrink-wrap their children\n\t\t\tif ( typeof div.style.zoom !== \"undefined\" ) {\n\t\n\t\t\t\t// Reset CSS: box-sizing; display; margin; border\n\t\t\t\tdiv.style.cssText =\n\t\n\t\t\t\t\t// Support: Firefox<29, Android 2.3\n\t\t\t\t\t// Vendor-prefix box-sizing\n\t\t\t\t\t\"-webkit-box-sizing:content-box;-moz-box-sizing:content-box;\" +\n\t\t\t\t\t\"box-sizing:content-box;display:block;margin:0;border:0;\" +\n\t\t\t\t\t\"padding:1px;width:1px;zoom:1\";\n\t\t\t\tdiv.appendChild( document.createElement( \"div\" ) ).style.width = \"5px\";\n\t\t\t\tshrinkWrapBlocksVal = div.offsetWidth !== 3;\n\t\t\t}\n\t\n\t\t\tbody.removeChild( container );\n\t\n\t\t\treturn shrinkWrapBlocksVal;\n\t\t};\n\t\n\t} )();\n\tvar pnum = ( /[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/ ).source;\n\t\n\tvar rcssNum = new RegExp( \"^(?:([+-])=|)(\" + pnum + \")([a-z%]*)$\", \"i\" );\n\t\n\t\n\tvar cssExpand = [ \"Top\", \"Right\", \"Bottom\", \"Left\" ];\n\t\n\tvar isHidden = function( elem, el ) {\n\t\n\t\t\t// isHidden might be called from jQuery#filter function;\n\t\t\t// in that case, element will be second argument\n\t\t\telem = el || elem;\n\t\t\treturn jQuery.css( elem, \"display\" ) === \"none\" ||\n\t\t\t\t!jQuery.contains( elem.ownerDocument, elem );\n\t\t};\n\t\n\t\n\t\n\tfunction adjustCSS( elem, prop, valueParts, tween ) {\n\t\tvar adjusted,\n\t\t\tscale = 1,\n\t\t\tmaxIterations = 20,\n\t\t\tcurrentValue = tween ?\n\t\t\t\tfunction() { return tween.cur(); } :\n\t\t\t\tfunction() { return jQuery.css( elem, prop, \"\" ); },\n\t\t\tinitial = currentValue(),\n\t\t\tunit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" ),\n\t\n\t\t\t// Starting value computation is required for potential unit mismatches\n\t\t\tinitialInUnit = ( jQuery.cssNumber[ prop ] || unit !== \"px\" && +initial ) &&\n\t\t\t\trcssNum.exec( jQuery.css( elem, prop ) );\n\t\n\t\tif ( initialInUnit && initialInUnit[ 3 ] !== unit ) {\n\t\n\t\t\t// Trust units reported by jQuery.css\n\t\t\tunit = unit || initialInUnit[ 3 ];\n\t\n\t\t\t// Make sure we update the tween properties later on\n\t\t\tvalueParts = valueParts || [];\n\t\n\t\t\t// Iteratively approximate from a nonzero starting point\n\t\t\tinitialInUnit = +initial || 1;\n\t\n\t\t\tdo {\n\t\n\t\t\t\t// If previous iteration zeroed out, double until we get *something*.\n\t\t\t\t// Use string for doubling so we don't accidentally see scale as unchanged below\n\t\t\t\tscale = scale || \".5\";\n\t\n\t\t\t\t// Adjust and apply\n\t\t\t\tinitialInUnit = initialInUnit / scale;\n\t\t\t\tjQuery.style( elem, prop, initialInUnit + unit );\n\t\n\t\t\t// Update scale, tolerating zero or NaN from tween.cur()\n\t\t\t// Break the loop if scale is unchanged or perfect, or if we've just had enough.\n\t\t\t} while (\n\t\t\t\tscale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations\n\t\t\t);\n\t\t}\n\t\n\t\tif ( valueParts ) {\n\t\t\tinitialInUnit = +initialInUnit || +initial || 0;\n\t\n\t\t\t// Apply relative offset (+=/-=) if specified\n\t\t\tadjusted = valueParts[ 1 ] ?\n\t\t\t\tinitialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :\n\t\t\t\t+valueParts[ 2 ];\n\t\t\tif ( tween ) {\n\t\t\t\ttween.unit = unit;\n\t\t\t\ttween.start = initialInUnit;\n\t\t\t\ttween.end = adjusted;\n\t\t\t}\n\t\t}\n\t\treturn adjusted;\n\t}\n\t\n\t\n\t// Multifunctional method to get and set values of a collection\n\t// The value/s can optionally be executed if it's a function\n\tvar access = function( elems, fn, key, value, chainable, emptyGet, raw ) {\n\t\tvar i = 0,\n\t\t\tlength = elems.length,\n\t\t\tbulk = key == null;\n\t\n\t\t// Sets many values\n\t\tif ( jQuery.type( key ) === \"object\" ) {\n\t\t\tchainable = true;\n\t\t\tfor ( i in key ) {\n\t\t\t\taccess( elems, fn, i, key[ i ], true, emptyGet, raw );\n\t\t\t}\n\t\n\t\t// Sets one value\n\t\t} else if ( value !== undefined ) {\n\t\t\tchainable = true;\n\t\n\t\t\tif ( !jQuery.isFunction( value ) ) {\n\t\t\t\traw = true;\n\t\t\t}\n\t\n\t\t\tif ( bulk ) {\n\t\n\t\t\t\t// Bulk operations run against the entire set\n\t\t\t\tif ( raw ) {\n\t\t\t\t\tfn.call( elems, value );\n\t\t\t\t\tfn = null;\n\t\n\t\t\t\t// ...except when executing function values\n\t\t\t\t} else {\n\t\t\t\t\tbulk = fn;\n\t\t\t\t\tfn = function( elem, key, value ) {\n\t\t\t\t\t\treturn bulk.call( jQuery( elem ), value );\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\tif ( fn ) {\n\t\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\t\tfn(\n\t\t\t\t\t\telems[ i ],\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\traw ? value : value.call( elems[ i ], i, fn( elems[ i ], key ) )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\n\t\treturn chainable ?\n\t\t\telems :\n\t\n\t\t\t// Gets\n\t\t\tbulk ?\n\t\t\t\tfn.call( elems ) :\n\t\t\t\tlength ? fn( elems[ 0 ], key ) : emptyGet;\n\t};\n\tvar rcheckableType = ( /^(?:checkbox|radio)$/i );\n\t\n\tvar rtagName = ( /<([\\w:-]+)/ );\n\t\n\tvar rscriptType = ( /^$|\\/(?:java|ecma)script/i );\n\t\n\tvar rleadingWhitespace = ( /^\\s+/ );\n\t\n\tvar nodeNames = \"abbr|article|aside|audio|bdi|canvas|data|datalist|\" +\n\t\t\t\"details|dialog|figcaption|figure|footer|header|hgroup|main|\" +\n\t\t\t\"mark|meter|nav|output|picture|progress|section|summary|template|time|video\";\n\t\n\t\n\t\n\tfunction createSafeFragment( document ) {\n\t\tvar list = nodeNames.split( \"|\" ),\n\t\t\tsafeFrag = document.createDocumentFragment();\n\t\n\t\tif ( safeFrag.createElement ) {\n\t\t\twhile ( list.length ) {\n\t\t\t\tsafeFrag.createElement(\n\t\t\t\t\tlist.pop()\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\treturn safeFrag;\n\t}\n\t\n\t\n\t( function() {\n\t\tvar div = document.createElement( \"div\" ),\n\t\t\tfragment = document.createDocumentFragment(),\n\t\t\tinput = document.createElement( \"input\" );\n\t\n\t\t// Setup\n\t\tdiv.innerHTML = \"
          a\";\n\t\n\t\t// IE strips leading whitespace when .innerHTML is used\n\t\tsupport.leadingWhitespace = div.firstChild.nodeType === 3;\n\t\n\t\t// Make sure that tbody elements aren't automatically inserted\n\t\t// IE will insert them into empty tables\n\t\tsupport.tbody = !div.getElementsByTagName( \"tbody\" ).length;\n\t\n\t\t// Make sure that link elements get serialized correctly by innerHTML\n\t\t// This requires a wrapper element in IE\n\t\tsupport.htmlSerialize = !!div.getElementsByTagName( \"link\" ).length;\n\t\n\t\t// Makes sure cloning an html5 element does not cause problems\n\t\t// Where outerHTML is undefined, this still works\n\t\tsupport.html5Clone =\n\t\t\tdocument.createElement( \"nav\" ).cloneNode( true ).outerHTML !== \"<:nav>\";\n\t\n\t\t// Check if a disconnected checkbox will retain its checked\n\t\t// value of true after appended to the DOM (IE6/7)\n\t\tinput.type = \"checkbox\";\n\t\tinput.checked = true;\n\t\tfragment.appendChild( input );\n\t\tsupport.appendChecked = input.checked;\n\t\n\t\t// Make sure textarea (and checkbox) defaultValue is properly cloned\n\t\t// Support: IE6-IE11+\n\t\tdiv.innerHTML = \"\";\n\t\tsupport.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;\n\t\n\t\t// #11217 - WebKit loses check when the name is after the checked attribute\n\t\tfragment.appendChild( div );\n\t\n\t\t// Support: Windows Web Apps (WWA)\n\t\t// `name` and `type` must use .setAttribute for WWA (#14901)\n\t\tinput = document.createElement( \"input\" );\n\t\tinput.setAttribute( \"type\", \"radio\" );\n\t\tinput.setAttribute( \"checked\", \"checked\" );\n\t\tinput.setAttribute( \"name\", \"t\" );\n\t\n\t\tdiv.appendChild( input );\n\t\n\t\t// Support: Safari 5.1, iOS 5.1, Android 4.x, Android 2.3\n\t\t// old WebKit doesn't clone checked state correctly in fragments\n\t\tsupport.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;\n\t\n\t\t// Support: IE<9\n\t\t// Cloned elements keep attachEvent handlers, we use addEventListener on IE9+\n\t\tsupport.noCloneEvent = !!div.addEventListener;\n\t\n\t\t// Support: IE<9\n\t\t// Since attributes and properties are the same in IE,\n\t\t// cleanData must set properties to undefined rather than use removeAttribute\n\t\tdiv[ jQuery.expando ] = 1;\n\t\tsupport.attributes = !div.getAttribute( jQuery.expando );\n\t} )();\n\t\n\t\n\t// We have to close these tags to support XHTML (#13200)\n\tvar wrapMap = {\n\t\toption: [ 1, \"\" ],\n\t\tlegend: [ 1, \"
          \", \"
          \" ],\n\t\tarea: [ 1, \"\", \"\" ],\n\t\n\t\t// Support: IE8\n\t\tparam: [ 1, \"\", \"\" ],\n\t\tthead: [ 1, \"\", \"
          \" ],\n\t\ttr: [ 2, \"\", \"
          \" ],\n\t\tcol: [ 2, \"\", \"
          \" ],\n\t\ttd: [ 3, \"\", \"
          \" ],\n\t\n\t\t// IE6-8 can't serialize link, script, style, or any html5 (NoScope) tags,\n\t\t// unless wrapped in a div with non-breaking characters in front of it.\n\t\t_default: support.htmlSerialize ? [ 0, \"\", \"\" ] : [ 1, \"X
          \", \"
          \" ]\n\t};\n\t\n\t// Support: IE8-IE9\n\twrapMap.optgroup = wrapMap.option;\n\t\n\twrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;\n\twrapMap.th = wrapMap.td;\n\t\n\t\n\tfunction getAll( context, tag ) {\n\t\tvar elems, elem,\n\t\t\ti = 0,\n\t\t\tfound = typeof context.getElementsByTagName !== \"undefined\" ?\n\t\t\t\tcontext.getElementsByTagName( tag || \"*\" ) :\n\t\t\t\ttypeof context.querySelectorAll !== \"undefined\" ?\n\t\t\t\t\tcontext.querySelectorAll( tag || \"*\" ) :\n\t\t\t\t\tundefined;\n\t\n\t\tif ( !found ) {\n\t\t\tfor ( found = [], elems = context.childNodes || context;\n\t\t\t\t( elem = elems[ i ] ) != null;\n\t\t\t\ti++\n\t\t\t) {\n\t\t\t\tif ( !tag || jQuery.nodeName( elem, tag ) ) {\n\t\t\t\t\tfound.push( elem );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery.merge( found, getAll( elem, tag ) );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\n\t\treturn tag === undefined || tag && jQuery.nodeName( context, tag ) ?\n\t\t\tjQuery.merge( [ context ], found ) :\n\t\t\tfound;\n\t}\n\t\n\t\n\t// Mark scripts as having already been evaluated\n\tfunction setGlobalEval( elems, refElements ) {\n\t\tvar elem,\n\t\t\ti = 0;\n\t\tfor ( ; ( elem = elems[ i ] ) != null; i++ ) {\n\t\t\tjQuery._data(\n\t\t\t\telem,\n\t\t\t\t\"globalEval\",\n\t\t\t\t!refElements || jQuery._data( refElements[ i ], \"globalEval\" )\n\t\t\t);\n\t\t}\n\t}\n\t\n\t\n\tvar rhtml = /<|&#?\\w+;/,\n\t\trtbody = / from table fragments\n\t\t\t\t\tif ( !support.tbody ) {\n\t\n\t\t\t\t\t\t// String was a , *may* have spurious \n\t\t\t\t\t\telem = tag === \"table\" && !rtbody.test( elem ) ?\n\t\t\t\t\t\t\ttmp.firstChild :\n\t\n\t\t\t\t\t\t\t// String was a bare or \n\t\t\t\t\t\t\twrap[ 1 ] === \"
          \" && !rtbody.test( elem ) ?\n\t\t\t\t\t\t\t\ttmp :\n\t\t\t\t\t\t\t\t0;\n\t\n\t\t\t\t\t\tj = elem && elem.childNodes.length;\n\t\t\t\t\t\twhile ( j-- ) {\n\t\t\t\t\t\t\tif ( jQuery.nodeName( ( tbody = elem.childNodes[ j ] ), \"tbody\" ) &&\n\t\t\t\t\t\t\t\t!tbody.childNodes.length ) {\n\t\n\t\t\t\t\t\t\t\telem.removeChild( tbody );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\n\t\t\t\t\tjQuery.merge( nodes, tmp.childNodes );\n\t\n\t\t\t\t\t// Fix #12392 for WebKit and IE > 9\n\t\t\t\t\ttmp.textContent = \"\";\n\t\n\t\t\t\t\t// Fix #12392 for oldIE\n\t\t\t\t\twhile ( tmp.firstChild ) {\n\t\t\t\t\t\ttmp.removeChild( tmp.firstChild );\n\t\t\t\t\t}\n\t\n\t\t\t\t\t// Remember the top-level container for proper cleanup\n\t\t\t\t\ttmp = safe.lastChild;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\n\t\t// Fix #11356: Clear elements from fragment\n\t\tif ( tmp ) {\n\t\t\tsafe.removeChild( tmp );\n\t\t}\n\t\n\t\t// Reset defaultChecked for any radios and checkboxes\n\t\t// about to be appended to the DOM in IE 6/7 (#8060)\n\t\tif ( !support.appendChecked ) {\n\t\t\tjQuery.grep( getAll( nodes, \"input\" ), fixDefaultChecked );\n\t\t}\n\t\n\t\ti = 0;\n\t\twhile ( ( elem = nodes[ i++ ] ) ) {\n\t\n\t\t\t// Skip elements already in the context collection (trac-4087)\n\t\t\tif ( selection && jQuery.inArray( elem, selection ) > -1 ) {\n\t\t\t\tif ( ignored ) {\n\t\t\t\t\tignored.push( elem );\n\t\t\t\t}\n\t\n\t\t\t\tcontinue;\n\t\t\t}\n\t\n\t\t\tcontains = jQuery.contains( elem.ownerDocument, elem );\n\t\n\t\t\t// Append to fragment\n\t\t\ttmp = getAll( safe.appendChild( elem ), \"script\" );\n\t\n\t\t\t// Preserve script evaluation history\n\t\t\tif ( contains ) {\n\t\t\t\tsetGlobalEval( tmp );\n\t\t\t}\n\t\n\t\t\t// Capture executables\n\t\t\tif ( scripts ) {\n\t\t\t\tj = 0;\n\t\t\t\twhile ( ( elem = tmp[ j++ ] ) ) {\n\t\t\t\t\tif ( rscriptType.test( elem.type || \"\" ) ) {\n\t\t\t\t\t\tscripts.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\n\t\ttmp = null;\n\t\n\t\treturn safe;\n\t}\n\t\n\t\n\t( function() {\n\t\tvar i, eventName,\n\t\t\tdiv = document.createElement( \"div\" );\n\t\n\t\t// Support: IE<9 (lack submit/change bubble), Firefox (lack focus(in | out) events)\n\t\tfor ( i in { submit: true, change: true, focusin: true } ) {\n\t\t\teventName = \"on\" + i;\n\t\n\t\t\tif ( !( support[ i ] = eventName in window ) ) {\n\t\n\t\t\t\t// Beware of CSP restrictions (https://developer.mozilla.org/en/Security/CSP)\n\t\t\t\tdiv.setAttribute( eventName, \"t\" );\n\t\t\t\tsupport[ i ] = div.attributes[ eventName ].expando === false;\n\t\t\t}\n\t\t}\n\t\n\t\t// Null elements to avoid leaks in IE.\n\t\tdiv = null;\n\t} )();\n\t\n\t\n\tvar rformElems = /^(?:input|select|textarea)$/i,\n\t\trkeyEvent = /^key/,\n\t\trmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,\n\t\trfocusMorph = /^(?:focusinfocus|focusoutblur)$/,\n\t\trtypenamespace = /^([^.]*)(?:\\.(.+)|)/;\n\t\n\tfunction returnTrue() {\n\t\treturn true;\n\t}\n\t\n\tfunction returnFalse() {\n\t\treturn false;\n\t}\n\t\n\t// Support: IE9\n\t// See #13393 for more info\n\tfunction safeActiveElement() {\n\t\ttry {\n\t\t\treturn document.activeElement;\n\t\t} catch ( err ) { }\n\t}\n\t\n\tfunction on( elem, types, selector, data, fn, one ) {\n\t\tvar origFn, type;\n\t\n\t\t// Types can be a map of types/handlers\n\t\tif ( typeof types === \"object\" ) {\n\t\n\t\t\t// ( types-Object, selector, data )\n\t\t\tif ( typeof selector !== \"string\" ) {\n\t\n\t\t\t\t// ( types-Object, data )\n\t\t\t\tdata = data || selector;\n\t\t\t\tselector = undefined;\n\t\t\t}\n\t\t\tfor ( type in types ) {\n\t\t\t\ton( elem, type, selector, data, types[ type ], one );\n\t\t\t}\n\t\t\treturn elem;\n\t\t}\n\t\n\t\tif ( data == null && fn == null ) {\n\t\n\t\t\t// ( types, fn )\n\t\t\tfn = selector;\n\t\t\tdata = selector = undefined;\n\t\t} else if ( fn == null ) {\n\t\t\tif ( typeof selector === \"string\" ) {\n\t\n\t\t\t\t// ( types, selector, fn )\n\t\t\t\tfn = data;\n\t\t\t\tdata = undefined;\n\t\t\t} else {\n\t\n\t\t\t\t// ( types, data, fn )\n\t\t\t\tfn = data;\n\t\t\t\tdata = selector;\n\t\t\t\tselector = undefined;\n\t\t\t}\n\t\t}\n\t\tif ( fn === false ) {\n\t\t\tfn = returnFalse;\n\t\t} else if ( !fn ) {\n\t\t\treturn elem;\n\t\t}\n\t\n\t\tif ( one === 1 ) {\n\t\t\torigFn = fn;\n\t\t\tfn = function( event ) {\n\t\n\t\t\t\t// Can use an empty set, since event contains the info\n\t\t\t\tjQuery().off( event );\n\t\t\t\treturn origFn.apply( this, arguments );\n\t\t\t};\n\t\n\t\t\t// Use same guid so caller can remove using origFn\n\t\t\tfn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );\n\t\t}\n\t\treturn elem.each( function() {\n\t\t\tjQuery.event.add( this, types, fn, data, selector );\n\t\t} );\n\t}\n\t\n\t/*\n\t * Helper functions for managing events -- not part of the public interface.\n\t * Props to Dean Edwards' addEvent library for many of the ideas.\n\t */\n\tjQuery.event = {\n\t\n\t\tglobal: {},\n\t\n\t\tadd: function( elem, types, handler, data, selector ) {\n\t\t\tvar tmp, events, t, handleObjIn,\n\t\t\t\tspecial, eventHandle, handleObj,\n\t\t\t\thandlers, type, namespaces, origType,\n\t\t\t\telemData = jQuery._data( elem );\n\t\n\t\t\t// Don't attach events to noData or text/comment nodes (but allow plain objects)\n\t\t\tif ( !elemData ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\n\t\t\t// Caller can pass in an object of custom data in lieu of the handler\n\t\t\tif ( handler.handler ) {\n\t\t\t\thandleObjIn = handler;\n\t\t\t\thandler = handleObjIn.handler;\n\t\t\t\tselector = handleObjIn.selector;\n\t\t\t}\n\t\n\t\t\t// Make sure that the handler has a unique ID, used to find/remove it later\n\t\t\tif ( !handler.guid ) {\n\t\t\t\thandler.guid = jQuery.guid++;\n\t\t\t}\n\t\n\t\t\t// Init the element's event structure and main handler, if this is the first\n\t\t\tif ( !( events = elemData.events ) ) {\n\t\t\t\tevents = elemData.events = {};\n\t\t\t}\n\t\t\tif ( !( eventHandle = elemData.handle ) ) {\n\t\t\t\teventHandle = elemData.handle = function( e ) {\n\t\n\t\t\t\t\t// Discard the second event of a jQuery.event.trigger() and\n\t\t\t\t\t// when an event is called after a page has unloaded\n\t\t\t\t\treturn typeof jQuery !== \"undefined\" &&\n\t\t\t\t\t\t( !e || jQuery.event.triggered !== e.type ) ?\n\t\t\t\t\t\tjQuery.event.dispatch.apply( eventHandle.elem, arguments ) :\n\t\t\t\t\t\tundefined;\n\t\t\t\t};\n\t\n\t\t\t\t// Add elem as a property of the handle fn to prevent a memory leak\n\t\t\t\t// with IE non-native events\n\t\t\t\teventHandle.elem = elem;\n\t\t\t}\n\t\n\t\t\t// Handle multiple events separated by a space\n\t\t\ttypes = ( types || \"\" ).match( rnotwhite ) || [ \"\" ];\n\t\t\tt = types.length;\n\t\t\twhile ( t-- ) {\n\t\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\n\t\t\t\ttype = origType = tmp[ 1 ];\n\t\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\n\t\n\t\t\t\t// There *must* be a type, no attaching namespace-only handlers\n\t\t\t\tif ( !type ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\n\t\t\t\t// If event changes its type, use the special event handlers for the changed type\n\t\t\t\tspecial = jQuery.event.special[ type ] || {};\n\t\n\t\t\t\t// If selector defined, determine special event api type, otherwise given type\n\t\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\t\n\t\t\t\t// Update special based on newly reset type\n\t\t\t\tspecial = jQuery.event.special[ type ] || {};\n\t\n\t\t\t\t// handleObj is passed to all event handlers\n\t\t\t\thandleObj = jQuery.extend( {\n\t\t\t\t\ttype: type,\n\t\t\t\t\torigType: origType,\n\t\t\t\t\tdata: data,\n\t\t\t\t\thandler: handler,\n\t\t\t\t\tguid: handler.guid,\n\t\t\t\t\tselector: selector,\n\t\t\t\t\tneedsContext: selector && jQuery.expr.match.needsContext.test( selector ),\n\t\t\t\t\tnamespace: namespaces.join( \".\" )\n\t\t\t\t}, handleObjIn );\n\t\n\t\t\t\t// Init the event handler queue if we're the first\n\t\t\t\tif ( !( handlers = events[ type ] ) ) {\n\t\t\t\t\thandlers = events[ type ] = [];\n\t\t\t\t\thandlers.delegateCount = 0;\n\t\n\t\t\t\t\t// Only use addEventListener/attachEvent if the special events handler returns false\n\t\t\t\t\tif ( !special.setup ||\n\t\t\t\t\t\tspecial.setup.call( elem, data, namespaces, eventHandle ) === false ) {\n\t\n\t\t\t\t\t\t// Bind the global event handler to the element\n\t\t\t\t\t\tif ( elem.addEventListener ) {\n\t\t\t\t\t\t\telem.addEventListener( type, eventHandle, false );\n\t\n\t\t\t\t\t\t} else if ( elem.attachEvent ) {\n\t\t\t\t\t\t\telem.attachEvent( \"on\" + type, eventHandle );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\n\t\t\t\tif ( special.add ) {\n\t\t\t\t\tspecial.add.call( elem, handleObj );\n\t\n\t\t\t\t\tif ( !handleObj.handler.guid ) {\n\t\t\t\t\t\thandleObj.handler.guid = handler.guid;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\n\t\t\t\t// Add to the element's handler list, delegates in front\n\t\t\t\tif ( selector ) {\n\t\t\t\t\thandlers.splice( handlers.delegateCount++, 0, handleObj );\n\t\t\t\t} else {\n\t\t\t\t\thandlers.push( handleObj );\n\t\t\t\t}\n\t\n\t\t\t\t// Keep track of which events have ever been used, for event optimization\n\t\t\t\tjQuery.event.global[ type ] = true;\n\t\t\t}\n\t\n\t\t\t// Nullify elem to prevent memory leaks in IE\n\t\t\telem = null;\n\t\t},\n\t\n\t\t// Detach an event or set of events from an element\n\t\tremove: function( elem, types, handler, selector, mappedTypes ) {\n\t\t\tvar j, handleObj, tmp,\n\t\t\t\torigCount, t, events,\n\t\t\t\tspecial, handlers, type,\n\t\t\t\tnamespaces, origType,\n\t\t\t\telemData = jQuery.hasData( elem ) && jQuery._data( elem );\n\t\n\t\t\tif ( !elemData || !( events = elemData.events ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\n\t\t\t// Once for each type.namespace in types; type may be omitted\n\t\t\ttypes = ( types || \"\" ).match( rnotwhite ) || [ \"\" ];\n\t\t\tt = types.length;\n\t\t\twhile ( t-- ) {\n\t\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\n\t\t\t\ttype = origType = tmp[ 1 ];\n\t\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\n\t\n\t\t\t\t// Unbind all events (on this namespace, if provided) for the element\n\t\t\t\tif ( !type ) {\n\t\t\t\t\tfor ( type in events ) {\n\t\t\t\t\t\tjQuery.event.remove( elem, type + types[ t ], handler, selector, true );\n\t\t\t\t\t}\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\n\t\t\t\tspecial = jQuery.event.special[ type ] || {};\n\t\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\t\t\t\thandlers = events[ type ] || [];\n\t\t\t\ttmp = tmp[ 2 ] &&\n\t\t\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join( \"\\\\.(?:.*\\\\.|)\" ) + \"(\\\\.|$)\" );\n\t\n\t\t\t\t// Remove matching events\n\t\t\t\torigCount = j = handlers.length;\n\t\t\t\twhile ( j-- ) {\n\t\t\t\t\thandleObj = handlers[ j ];\n\t\n\t\t\t\t\tif ( ( mappedTypes || origType === handleObj.origType ) &&\n\t\t\t\t\t\t( !handler || handler.guid === handleObj.guid ) &&\n\t\t\t\t\t\t( !tmp || tmp.test( handleObj.namespace ) ) &&\n\t\t\t\t\t\t( !selector || selector === handleObj.selector ||\n\t\t\t\t\t\t\tselector === \"**\" && handleObj.selector ) ) {\n\t\t\t\t\t\thandlers.splice( j, 1 );\n\t\n\t\t\t\t\t\tif ( handleObj.selector ) {\n\t\t\t\t\t\t\thandlers.delegateCount--;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( special.remove ) {\n\t\t\t\t\t\t\tspecial.remove.call( elem, handleObj );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\n\t\t\t\t// Remove generic event handler if we removed something and no more handlers exist\n\t\t\t\t// (avoids potential for endless recursion during removal of special event handlers)\n\t\t\t\tif ( origCount && !handlers.length ) {\n\t\t\t\t\tif ( !special.teardown ||\n\t\t\t\t\t\tspecial.teardown.call( elem, namespaces, elemData.handle ) === false ) {\n\t\n\t\t\t\t\t\tjQuery.removeEvent( elem, type, elemData.handle );\n\t\t\t\t\t}\n\t\n\t\t\t\t\tdelete events[ type ];\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\t// Remove the expando if it's no longer used\n\t\t\tif ( jQuery.isEmptyObject( events ) ) {\n\t\t\t\tdelete elemData.handle;\n\t\n\t\t\t\t// removeData also checks for emptiness and clears the expando if empty\n\t\t\t\t// so use it instead of delete\n\t\t\t\tjQuery._removeData( elem, \"events\" );\n\t\t\t}\n\t\t},\n\t\n\t\ttrigger: function( event, data, elem, onlyHandlers ) {\n\t\t\tvar handle, ontype, cur,\n\t\t\t\tbubbleType, special, tmp, i,\n\t\t\t\teventPath = [ elem || document ],\n\t\t\t\ttype = hasOwn.call( event, \"type\" ) ? event.type : event,\n\t\t\t\tnamespaces = hasOwn.call( event, \"namespace\" ) ? event.namespace.split( \".\" ) : [];\n\t\n\t\t\tcur = tmp = elem = elem || document;\n\t\n\t\t\t// Don't do events on text and comment nodes\n\t\t\tif ( elem.nodeType === 3 || elem.nodeType === 8 ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\n\t\t\t// focus/blur morphs to focusin/out; ensure we're not firing them right now\n\t\t\tif ( rfocusMorph.test( type + jQuery.event.triggered ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\n\t\t\tif ( type.indexOf( \".\" ) > -1 ) {\n\t\n\t\t\t\t// Namespaced trigger; create a regexp to match event type in handle()\n\t\t\t\tnamespaces = type.split( \".\" );\n\t\t\t\ttype = namespaces.shift();\n\t\t\t\tnamespaces.sort();\n\t\t\t}\n\t\t\tontype = type.indexOf( \":\" ) < 0 && \"on\" + type;\n\t\n\t\t\t// Caller can pass in a jQuery.Event object, Object, or just an event type string\n\t\t\tevent = event[ jQuery.expando ] ?\n\t\t\t\tevent :\n\t\t\t\tnew jQuery.Event( type, typeof event === \"object\" && event );\n\t\n\t\t\t// Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)\n\t\t\tevent.isTrigger = onlyHandlers ? 2 : 3;\n\t\t\tevent.namespace = namespaces.join( \".\" );\n\t\t\tevent.rnamespace = event.namespace ?\n\t\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join( \"\\\\.(?:.*\\\\.|)\" ) + \"(\\\\.|$)\" ) :\n\t\t\t\tnull;\n\t\n\t\t\t// Clean up the event in case it is being reused\n\t\t\tevent.result = undefined;\n\t\t\tif ( !event.target ) {\n\t\t\t\tevent.target = elem;\n\t\t\t}\n\t\n\t\t\t// Clone any incoming data and prepend the event, creating the handler arg list\n\t\t\tdata = data == null ?\n\t\t\t\t[ event ] :\n\t\t\t\tjQuery.makeArray( data, [ event ] );\n\t\n\t\t\t// Allow special events to draw outside the lines\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\t\t\tif ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\n\t\t\t// Determine event propagation path in advance, per W3C events spec (#9951)\n\t\t\t// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)\n\t\t\tif ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {\n\t\n\t\t\t\tbubbleType = special.delegateType || type;\n\t\t\t\tif ( !rfocusMorph.test( bubbleType + type ) ) {\n\t\t\t\t\tcur = cur.parentNode;\n\t\t\t\t}\n\t\t\t\tfor ( ; cur; cur = cur.parentNode ) {\n\t\t\t\t\teventPath.push( cur );\n\t\t\t\t\ttmp = cur;\n\t\t\t\t}\n\t\n\t\t\t\t// Only add window if we got to document (e.g., not plain obj or detached DOM)\n\t\t\t\tif ( tmp === ( elem.ownerDocument || document ) ) {\n\t\t\t\t\teventPath.push( tmp.defaultView || tmp.parentWindow || window );\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\t// Fire handlers on the event path\n\t\t\ti = 0;\n\t\t\twhile ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {\n\t\n\t\t\t\tevent.type = i > 1 ?\n\t\t\t\t\tbubbleType :\n\t\t\t\t\tspecial.bindType || type;\n\t\n\t\t\t\t// jQuery handler\n\t\t\t\thandle = ( jQuery._data( cur, \"events\" ) || {} )[ event.type ] &&\n\t\t\t\t\tjQuery._data( cur, \"handle\" );\n\t\n\t\t\t\tif ( handle ) {\n\t\t\t\t\thandle.apply( cur, data );\n\t\t\t\t}\n\t\n\t\t\t\t// Native handler\n\t\t\t\thandle = ontype && cur[ ontype ];\n\t\t\t\tif ( handle && handle.apply && acceptData( cur ) ) {\n\t\t\t\t\tevent.result = handle.apply( cur, data );\n\t\t\t\t\tif ( event.result === false ) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tevent.type = type;\n\t\n\t\t\t// If nobody prevented the default action, do it now\n\t\t\tif ( !onlyHandlers && !event.isDefaultPrevented() ) {\n\t\n\t\t\t\tif (\n\t\t\t\t\t( !special._default ||\n\t\t\t\t\t special._default.apply( eventPath.pop(), data ) === false\n\t\t\t\t\t) && acceptData( elem )\n\t\t\t\t) {\n\t\n\t\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\t// Can't use an .isFunction() check here because IE6/7 fails that test.\n\t\t\t\t\t// Don't do default actions on window, that's where global variables be (#6170)\n\t\t\t\t\tif ( ontype && elem[ type ] && !jQuery.isWindow( elem ) ) {\n\t\n\t\t\t\t\t\t// Don't re-trigger an onFOO event when we call its FOO() method\n\t\t\t\t\t\ttmp = elem[ ontype ];\n\t\n\t\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\t\telem[ ontype ] = null;\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t// Prevent re-triggering of the same event, since we already bubbled it above\n\t\t\t\t\t\tjQuery.event.triggered = type;\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\telem[ type ]();\n\t\t\t\t\t\t} catch ( e ) {\n\t\n\t\t\t\t\t\t\t// IE<9 dies on focus/blur to hidden element (#1486,#12518)\n\t\t\t\t\t\t\t// only reproducible on winXP IE8 native, not IE9 in IE8 mode\n\t\t\t\t\t\t}\n\t\t\t\t\t\tjQuery.event.triggered = undefined;\n\t\n\t\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\t\telem[ ontype ] = tmp;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\treturn event.result;\n\t\t},\n\t\n\t\tdispatch: function( event ) {\n\t\n\t\t\t// Make a writable jQuery.Event from the native event object\n\t\t\tevent = jQuery.event.fix( event );\n\t\n\t\t\tvar i, j, ret, matched, handleObj,\n\t\t\t\thandlerQueue = [],\n\t\t\t\targs = slice.call( arguments ),\n\t\t\t\thandlers = ( jQuery._data( this, \"events\" ) || {} )[ event.type ] || [],\n\t\t\t\tspecial = jQuery.event.special[ event.type ] || {};\n\t\n\t\t\t// Use the fix-ed jQuery.Event rather than the (read-only) native event\n\t\t\targs[ 0 ] = event;\n\t\t\tevent.delegateTarget = this;\n\t\n\t\t\t// Call the preDispatch hook for the mapped type, and let it bail if desired\n\t\t\tif ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\n\t\t\t// Determine handlers\n\t\t\thandlerQueue = jQuery.event.handlers.call( this, event, handlers );\n\t\n\t\t\t// Run delegates first; they may want to stop propagation beneath us\n\t\t\ti = 0;\n\t\t\twhile ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {\n\t\t\t\tevent.currentTarget = matched.elem;\n\t\n\t\t\t\tj = 0;\n\t\t\t\twhile ( ( handleObj = matched.handlers[ j++ ] ) &&\n\t\t\t\t\t!event.isImmediatePropagationStopped() ) {\n\t\n\t\t\t\t\t// Triggered event must either 1) have no namespace, or 2) have namespace(s)\n\t\t\t\t\t// a subset or equal to those in the bound event (both can have no namespace).\n\t\t\t\t\tif ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) {\n\t\n\t\t\t\t\t\tevent.handleObj = handleObj;\n\t\t\t\t\t\tevent.data = handleObj.data;\n\t\n\t\t\t\t\t\tret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||\n\t\t\t\t\t\t\thandleObj.handler ).apply( matched.elem, args );\n\t\n\t\t\t\t\t\tif ( ret !== undefined ) {\n\t\t\t\t\t\t\tif ( ( event.result = ret ) === false ) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\tevent.stopPropagation();\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\n\t\t\t// Call the postDispatch hook for the mapped type\n\t\t\tif ( special.postDispatch ) {\n\t\t\t\tspecial.postDispatch.call( this, event );\n\t\t\t}\n\t\n\t\t\treturn event.result;\n\t\t},\n\t\n\t\thandlers: function( event, handlers ) {\n\t\t\tvar i, matches, sel, handleObj,\n\t\t\t\thandlerQueue = [],\n\t\t\t\tdelegateCount = handlers.delegateCount,\n\t\t\t\tcur = event.target;\n\t\n\t\t\t// Support (at least): Chrome, IE9\n\t\t\t// Find delegate handlers\n\t\t\t// Black-hole SVG instance trees (#13180)\n\t\t\t//\n\t\t\t// Support: Firefox<=42+\n\t\t\t// Avoid non-left-click in FF but don't block IE radio events (#3861, gh-2343)\n\t\t\tif ( delegateCount && cur.nodeType &&\n\t\t\t\t( event.type !== \"click\" || isNaN( event.button ) || event.button < 1 ) ) {\n\t\n\t\t\t\t/* jshint eqeqeq: false */\n\t\t\t\tfor ( ; cur != this; cur = cur.parentNode || this ) {\n\t\t\t\t\t/* jshint eqeqeq: true */\n\t\n\t\t\t\t\t// Don't check non-elements (#13208)\n\t\t\t\t\t// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)\n\t\t\t\t\tif ( cur.nodeType === 1 && ( cur.disabled !== true || event.type !== \"click\" ) ) {\n\t\t\t\t\t\tmatches = [];\n\t\t\t\t\t\tfor ( i = 0; i < delegateCount; i++ ) {\n\t\t\t\t\t\t\thandleObj = handlers[ i ];\n\t\n\t\t\t\t\t\t\t// Don't conflict with Object.prototype properties (#13203)\n\t\t\t\t\t\t\tsel = handleObj.selector + \" \";\n\t\n\t\t\t\t\t\t\tif ( matches[ sel ] === undefined ) {\n\t\t\t\t\t\t\t\tmatches[ sel ] = handleObj.needsContext ?\n\t\t\t\t\t\t\t\t\tjQuery( sel, this ).index( cur ) > -1 :\n\t\t\t\t\t\t\t\t\tjQuery.find( sel, this, null, [ cur ] ).length;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( matches[ sel ] ) {\n\t\t\t\t\t\t\t\tmatches.push( handleObj );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( matches.length ) {\n\t\t\t\t\t\t\thandlerQueue.push( { elem: cur, handlers: matches } );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\t// Add the remaining (directly-bound) handlers\n\t\t\tif ( delegateCount < handlers.length ) {\n\t\t\t\thandlerQueue.push( { elem: this, handlers: handlers.slice( delegateCount ) } );\n\t\t\t}\n\t\n\t\t\treturn handlerQueue;\n\t\t},\n\t\n\t\tfix: function( event ) {\n\t\t\tif ( event[ jQuery.expando ] ) {\n\t\t\t\treturn event;\n\t\t\t}\n\t\n\t\t\t// Create a writable copy of the event object and normalize some properties\n\t\t\tvar i, prop, copy,\n\t\t\t\ttype = event.type,\n\t\t\t\toriginalEvent = event,\n\t\t\t\tfixHook = this.fixHooks[ type ];\n\t\n\t\t\tif ( !fixHook ) {\n\t\t\t\tthis.fixHooks[ type ] = fixHook =\n\t\t\t\t\trmouseEvent.test( type ) ? this.mouseHooks :\n\t\t\t\t\trkeyEvent.test( type ) ? this.keyHooks :\n\t\t\t\t\t{};\n\t\t\t}\n\t\t\tcopy = fixHook.props ? this.props.concat( fixHook.props ) : this.props;\n\t\n\t\t\tevent = new jQuery.Event( originalEvent );\n\t\n\t\t\ti = copy.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tprop = copy[ i ];\n\t\t\t\tevent[ prop ] = originalEvent[ prop ];\n\t\t\t}\n\t\n\t\t\t// Support: IE<9\n\t\t\t// Fix target property (#1925)\n\t\t\tif ( !event.target ) {\n\t\t\t\tevent.target = originalEvent.srcElement || document;\n\t\t\t}\n\t\n\t\t\t// Support: Safari 6-8+\n\t\t\t// Target should not be a text node (#504, #13143)\n\t\t\tif ( event.target.nodeType === 3 ) {\n\t\t\t\tevent.target = event.target.parentNode;\n\t\t\t}\n\t\n\t\t\t// Support: IE<9\n\t\t\t// For mouse/key events, metaKey==false if it's undefined (#3368, #11328)\n\t\t\tevent.metaKey = !!event.metaKey;\n\t\n\t\t\treturn fixHook.filter ? fixHook.filter( event, originalEvent ) : event;\n\t\t},\n\t\n\t\t// Includes some event props shared by KeyEvent and MouseEvent\n\t\tprops: ( \"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase \" +\n\t\t\t\"metaKey relatedTarget shiftKey target timeStamp view which\" ).split( \" \" ),\n\t\n\t\tfixHooks: {},\n\t\n\t\tkeyHooks: {\n\t\t\tprops: \"char charCode key keyCode\".split( \" \" ),\n\t\t\tfilter: function( event, original ) {\n\t\n\t\t\t\t// Add which for key events\n\t\t\t\tif ( event.which == null ) {\n\t\t\t\t\tevent.which = original.charCode != null ? original.charCode : original.keyCode;\n\t\t\t\t}\n\t\n\t\t\t\treturn event;\n\t\t\t}\n\t\t},\n\t\n\t\tmouseHooks: {\n\t\t\tprops: ( \"button buttons clientX clientY fromElement offsetX offsetY \" +\n\t\t\t\t\"pageX pageY screenX screenY toElement\" ).split( \" \" ),\n\t\t\tfilter: function( event, original ) {\n\t\t\t\tvar body, eventDoc, doc,\n\t\t\t\t\tbutton = original.button,\n\t\t\t\t\tfromElement = original.fromElement;\n\t\n\t\t\t\t// Calculate pageX/Y if missing and clientX/Y available\n\t\t\t\tif ( event.pageX == null && original.clientX != null ) {\n\t\t\t\t\teventDoc = event.target.ownerDocument || document;\n\t\t\t\t\tdoc = eventDoc.documentElement;\n\t\t\t\t\tbody = eventDoc.body;\n\t\n\t\t\t\t\tevent.pageX = original.clientX +\n\t\t\t\t\t\t( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) -\n\t\t\t\t\t\t( doc && doc.clientLeft || body && body.clientLeft || 0 );\n\t\t\t\t\tevent.pageY = original.clientY +\n\t\t\t\t\t\t( doc && doc.scrollTop || body && body.scrollTop || 0 ) -\n\t\t\t\t\t\t( doc && doc.clientTop || body && body.clientTop || 0 );\n\t\t\t\t}\n\t\n\t\t\t\t// Add relatedTarget, if necessary\n\t\t\t\tif ( !event.relatedTarget && fromElement ) {\n\t\t\t\t\tevent.relatedTarget = fromElement === event.target ?\n\t\t\t\t\t\toriginal.toElement :\n\t\t\t\t\t\tfromElement;\n\t\t\t\t}\n\t\n\t\t\t\t// Add which for click: 1 === left; 2 === middle; 3 === right\n\t\t\t\t// Note: button is not normalized, so don't use it\n\t\t\t\tif ( !event.which && button !== undefined ) {\n\t\t\t\t\tevent.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) );\n\t\t\t\t}\n\t\n\t\t\t\treturn event;\n\t\t\t}\n\t\t},\n\t\n\t\tspecial: {\n\t\t\tload: {\n\t\n\t\t\t\t// Prevent triggered image.load events from bubbling to window.load\n\t\t\t\tnoBubble: true\n\t\t\t},\n\t\t\tfocus: {\n\t\n\t\t\t\t// Fire native event if possible so blur/focus sequence is correct\n\t\t\t\ttrigger: function() {\n\t\t\t\t\tif ( this !== safeActiveElement() && this.focus ) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tthis.focus();\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t} catch ( e ) {\n\t\n\t\t\t\t\t\t\t// Support: IE<9\n\t\t\t\t\t\t\t// If we error on focus to hidden element (#1486, #12518),\n\t\t\t\t\t\t\t// let .trigger() run the handlers\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tdelegateType: \"focusin\"\n\t\t\t},\n\t\t\tblur: {\n\t\t\t\ttrigger: function() {\n\t\t\t\t\tif ( this === safeActiveElement() && this.blur ) {\n\t\t\t\t\t\tthis.blur();\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tdelegateType: \"focusout\"\n\t\t\t},\n\t\t\tclick: {\n\t\n\t\t\t\t// For checkbox, fire native event so checked state will be right\n\t\t\t\ttrigger: function() {\n\t\t\t\t\tif ( jQuery.nodeName( this, \"input\" ) && this.type === \"checkbox\" && this.click ) {\n\t\t\t\t\t\tthis.click();\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t},\n\t\n\t\t\t\t// For cross-browser consistency, don't fire native .click() on links\n\t\t\t\t_default: function( event ) {\n\t\t\t\t\treturn jQuery.nodeName( event.target, \"a\" );\n\t\t\t\t}\n\t\t\t},\n\t\n\t\t\tbeforeunload: {\n\t\t\t\tpostDispatch: function( event ) {\n\t\n\t\t\t\t\t// Support: Firefox 20+\n\t\t\t\t\t// Firefox doesn't alert if the returnValue field is not set.\n\t\t\t\t\tif ( event.result !== undefined && event.originalEvent ) {\n\t\t\t\t\t\tevent.originalEvent.returnValue = event.result;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\n\t\t// Piggyback on a donor event to simulate a different one\n\t\tsimulate: function( type, elem, event ) {\n\t\t\tvar e = jQuery.extend(\n\t\t\t\tnew jQuery.Event(),\n\t\t\t\tevent,\n\t\t\t\t{\n\t\t\t\t\ttype: type,\n\t\t\t\t\tisSimulated: true\n\t\n\t\t\t\t\t// Previously, `originalEvent: {}` was set here, so stopPropagation call\n\t\t\t\t\t// would not be triggered on donor event, since in our own\n\t\t\t\t\t// jQuery.event.stopPropagation function we had a check for existence of\n\t\t\t\t\t// originalEvent.stopPropagation method, so, consequently it would be a noop.\n\t\t\t\t\t//\n\t\t\t\t\t// Guard for simulated events was moved to jQuery.event.stopPropagation function\n\t\t\t\t\t// since `originalEvent` should point to the original event for the\n\t\t\t\t\t// constancy with other events and for more focused logic\n\t\t\t\t}\n\t\t\t);\n\t\n\t\t\tjQuery.event.trigger( e, null, elem );\n\t\n\t\t\tif ( e.isDefaultPrevented() ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t}\n\t};\n\t\n\tjQuery.removeEvent = document.removeEventListener ?\n\t\tfunction( elem, type, handle ) {\n\t\n\t\t\t// This \"if\" is needed for plain objects\n\t\t\tif ( elem.removeEventListener ) {\n\t\t\t\telem.removeEventListener( type, handle );\n\t\t\t}\n\t\t} :\n\t\tfunction( elem, type, handle ) {\n\t\t\tvar name = \"on\" + type;\n\t\n\t\t\tif ( elem.detachEvent ) {\n\t\n\t\t\t\t// #8545, #7054, preventing memory leaks for custom events in IE6-8\n\t\t\t\t// detachEvent needed property on element, by name of that event,\n\t\t\t\t// to properly expose it to GC\n\t\t\t\tif ( typeof elem[ name ] === \"undefined\" ) {\n\t\t\t\t\telem[ name ] = null;\n\t\t\t\t}\n\t\n\t\t\t\telem.detachEvent( name, handle );\n\t\t\t}\n\t\t};\n\t\n\tjQuery.Event = function( src, props ) {\n\t\n\t\t// Allow instantiation without the 'new' keyword\n\t\tif ( !( this instanceof jQuery.Event ) ) {\n\t\t\treturn new jQuery.Event( src, props );\n\t\t}\n\t\n\t\t// Event object\n\t\tif ( src && src.type ) {\n\t\t\tthis.originalEvent = src;\n\t\t\tthis.type = src.type;\n\t\n\t\t\t// Events bubbling up the document may have been marked as prevented\n\t\t\t// by a handler lower down the tree; reflect the correct value.\n\t\t\tthis.isDefaultPrevented = src.defaultPrevented ||\n\t\t\t\t\tsrc.defaultPrevented === undefined &&\n\t\n\t\t\t\t\t// Support: IE < 9, Android < 4.0\n\t\t\t\t\tsrc.returnValue === false ?\n\t\t\t\treturnTrue :\n\t\t\t\treturnFalse;\n\t\n\t\t// Event type\n\t\t} else {\n\t\t\tthis.type = src;\n\t\t}\n\t\n\t\t// Put explicitly provided properties onto the event object\n\t\tif ( props ) {\n\t\t\tjQuery.extend( this, props );\n\t\t}\n\t\n\t\t// Create a timestamp if incoming event doesn't have one\n\t\tthis.timeStamp = src && src.timeStamp || jQuery.now();\n\t\n\t\t// Mark it as fixed\n\t\tthis[ jQuery.expando ] = true;\n\t};\n\t\n\t// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding\n\t// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html\n\tjQuery.Event.prototype = {\n\t\tconstructor: jQuery.Event,\n\t\tisDefaultPrevented: returnFalse,\n\t\tisPropagationStopped: returnFalse,\n\t\tisImmediatePropagationStopped: returnFalse,\n\t\n\t\tpreventDefault: function() {\n\t\t\tvar e = this.originalEvent;\n\t\n\t\t\tthis.isDefaultPrevented = returnTrue;\n\t\t\tif ( !e ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\n\t\t\t// If preventDefault exists, run it on the original event\n\t\t\tif ( e.preventDefault ) {\n\t\t\t\te.preventDefault();\n\t\n\t\t\t// Support: IE\n\t\t\t// Otherwise set the returnValue property of the original event to false\n\t\t\t} else {\n\t\t\t\te.returnValue = false;\n\t\t\t}\n\t\t},\n\t\tstopPropagation: function() {\n\t\t\tvar e = this.originalEvent;\n\t\n\t\t\tthis.isPropagationStopped = returnTrue;\n\t\n\t\t\tif ( !e || this.isSimulated ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\n\t\t\t// If stopPropagation exists, run it on the original event\n\t\t\tif ( e.stopPropagation ) {\n\t\t\t\te.stopPropagation();\n\t\t\t}\n\t\n\t\t\t// Support: IE\n\t\t\t// Set the cancelBubble property of the original event to true\n\t\t\te.cancelBubble = true;\n\t\t},\n\t\tstopImmediatePropagation: function() {\n\t\t\tvar e = this.originalEvent;\n\t\n\t\t\tthis.isImmediatePropagationStopped = returnTrue;\n\t\n\t\t\tif ( e && e.stopImmediatePropagation ) {\n\t\t\t\te.stopImmediatePropagation();\n\t\t\t}\n\t\n\t\t\tthis.stopPropagation();\n\t\t}\n\t};\n\t\n\t// Create mouseenter/leave events using mouseover/out and event-time checks\n\t// so that event delegation works in jQuery.\n\t// Do the same for pointerenter/pointerleave and pointerover/pointerout\n\t//\n\t// Support: Safari 7 only\n\t// Safari sends mouseenter too often; see:\n\t// https://code.google.com/p/chromium/issues/detail?id=470258\n\t// for the description of the bug (it existed in older Chrome versions as well).\n\tjQuery.each( {\n\t\tmouseenter: \"mouseover\",\n\t\tmouseleave: \"mouseout\",\n\t\tpointerenter: \"pointerover\",\n\t\tpointerleave: \"pointerout\"\n\t}, function( orig, fix ) {\n\t\tjQuery.event.special[ orig ] = {\n\t\t\tdelegateType: fix,\n\t\t\tbindType: fix,\n\t\n\t\t\thandle: function( event ) {\n\t\t\t\tvar ret,\n\t\t\t\t\ttarget = this,\n\t\t\t\t\trelated = event.relatedTarget,\n\t\t\t\t\thandleObj = event.handleObj;\n\t\n\t\t\t\t// For mouseenter/leave call the handler if related is outside the target.\n\t\t\t\t// NB: No relatedTarget if the mouse left/entered the browser window\n\t\t\t\tif ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {\n\t\t\t\t\tevent.type = handleObj.origType;\n\t\t\t\t\tret = handleObj.handler.apply( this, arguments );\n\t\t\t\t\tevent.type = fix;\n\t\t\t\t}\n\t\t\t\treturn ret;\n\t\t\t}\n\t\t};\n\t} );\n\t\n\t// IE submit delegation\n\tif ( !support.submit ) {\n\t\n\t\tjQuery.event.special.submit = {\n\t\t\tsetup: function() {\n\t\n\t\t\t\t// Only need this for delegated form submit events\n\t\t\t\tif ( jQuery.nodeName( this, \"form\" ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\n\t\t\t\t// Lazy-add a submit handler when a descendant form may potentially be submitted\n\t\t\t\tjQuery.event.add( this, \"click._submit keypress._submit\", function( e ) {\n\t\n\t\t\t\t\t// Node name check avoids a VML-related crash in IE (#9807)\n\t\t\t\t\tvar elem = e.target,\n\t\t\t\t\t\tform = jQuery.nodeName( elem, \"input\" ) || jQuery.nodeName( elem, \"button\" ) ?\n\t\n\t\t\t\t\t\t\t// Support: IE <=8\n\t\t\t\t\t\t\t// We use jQuery.prop instead of elem.form\n\t\t\t\t\t\t\t// to allow fixing the IE8 delegated submit issue (gh-2332)\n\t\t\t\t\t\t\t// by 3rd party polyfills/workarounds.\n\t\t\t\t\t\t\tjQuery.prop( elem, \"form\" ) :\n\t\t\t\t\t\t\tundefined;\n\t\n\t\t\t\t\tif ( form && !jQuery._data( form, \"submit\" ) ) {\n\t\t\t\t\t\tjQuery.event.add( form, \"submit._submit\", function( event ) {\n\t\t\t\t\t\t\tevent._submitBubble = true;\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tjQuery._data( form, \"submit\", true );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\n\t\t\t\t// return undefined since we don't need an event listener\n\t\t\t},\n\t\n\t\t\tpostDispatch: function( event ) {\n\t\n\t\t\t\t// If form was submitted by the user, bubble the event up the tree\n\t\t\t\tif ( event._submitBubble ) {\n\t\t\t\t\tdelete event._submitBubble;\n\t\t\t\t\tif ( this.parentNode && !event.isTrigger ) {\n\t\t\t\t\t\tjQuery.event.simulate( \"submit\", this.parentNode, event );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\n\t\t\tteardown: function() {\n\t\n\t\t\t\t// Only need this for delegated form submit events\n\t\t\t\tif ( jQuery.nodeName( this, \"form\" ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\n\t\t\t\t// Remove delegated handlers; cleanData eventually reaps submit handlers attached above\n\t\t\t\tjQuery.event.remove( this, \"._submit\" );\n\t\t\t}\n\t\t};\n\t}\n\t\n\t// IE change delegation and checkbox/radio fix\n\tif ( !support.change ) {\n\t\n\t\tjQuery.event.special.change = {\n\t\n\t\t\tsetup: function() {\n\t\n\t\t\t\tif ( rformElems.test( this.nodeName ) ) {\n\t\n\t\t\t\t\t// IE doesn't fire change on a check/radio until blur; trigger it on click\n\t\t\t\t\t// after a propertychange. Eat the blur-change in special.change.handle.\n\t\t\t\t\t// This still fires onchange a second time for check/radio after blur.\n\t\t\t\t\tif ( this.type === \"checkbox\" || this.type === \"radio\" ) {\n\t\t\t\t\t\tjQuery.event.add( this, \"propertychange._change\", function( event ) {\n\t\t\t\t\t\t\tif ( event.originalEvent.propertyName === \"checked\" ) {\n\t\t\t\t\t\t\t\tthis._justChanged = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tjQuery.event.add( this, \"click._change\", function( event ) {\n\t\t\t\t\t\t\tif ( this._justChanged && !event.isTrigger ) {\n\t\t\t\t\t\t\t\tthis._justChanged = false;\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t// Allow triggered, simulated change events (#11500)\n\t\t\t\t\t\t\tjQuery.event.simulate( \"change\", this, event );\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\n\t\t\t\t// Delegated event; lazy-add a change handler on descendant inputs\n\t\t\t\tjQuery.event.add( this, \"beforeactivate._change\", function( e ) {\n\t\t\t\t\tvar elem = e.target;\n\t\n\t\t\t\t\tif ( rformElems.test( elem.nodeName ) && !jQuery._data( elem, \"change\" ) ) {\n\t\t\t\t\t\tjQuery.event.add( elem, \"change._change\", function( event ) {\n\t\t\t\t\t\t\tif ( this.parentNode && !event.isSimulated && !event.isTrigger ) {\n\t\t\t\t\t\t\t\tjQuery.event.simulate( \"change\", this.parentNode, event );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tjQuery._data( elem, \"change\", true );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t},\n\t\n\t\t\thandle: function( event ) {\n\t\t\t\tvar elem = event.target;\n\t\n\t\t\t\t// Swallow native change events from checkbox/radio, we already triggered them above\n\t\t\t\tif ( this !== elem || event.isSimulated || event.isTrigger ||\n\t\t\t\t\t( elem.type !== \"radio\" && elem.type !== \"checkbox\" ) ) {\n\t\n\t\t\t\t\treturn event.handleObj.handler.apply( this, arguments );\n\t\t\t\t}\n\t\t\t},\n\t\n\t\t\tteardown: function() {\n\t\t\t\tjQuery.event.remove( this, \"._change\" );\n\t\n\t\t\t\treturn !rformElems.test( this.nodeName );\n\t\t\t}\n\t\t};\n\t}\n\t\n\t// Support: Firefox\n\t// Firefox doesn't have focus(in | out) events\n\t// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787\n\t//\n\t// Support: Chrome, Safari\n\t// focus(in | out) events fire after focus & blur events,\n\t// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order\n\t// Related ticket - https://code.google.com/p/chromium/issues/detail?id=449857\n\tif ( !support.focusin ) {\n\t\tjQuery.each( { focus: \"focusin\", blur: \"focusout\" }, function( orig, fix ) {\n\t\n\t\t\t// Attach a single capturing handler on the document while someone wants focusin/focusout\n\t\t\tvar handler = function( event ) {\n\t\t\t\tjQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) );\n\t\t\t};\n\t\n\t\t\tjQuery.event.special[ fix ] = {\n\t\t\t\tsetup: function() {\n\t\t\t\t\tvar doc = this.ownerDocument || this,\n\t\t\t\t\t\tattaches = jQuery._data( doc, fix );\n\t\n\t\t\t\t\tif ( !attaches ) {\n\t\t\t\t\t\tdoc.addEventListener( orig, handler, true );\n\t\t\t\t\t}\n\t\t\t\t\tjQuery._data( doc, fix, ( attaches || 0 ) + 1 );\n\t\t\t\t},\n\t\t\t\tteardown: function() {\n\t\t\t\t\tvar doc = this.ownerDocument || this,\n\t\t\t\t\t\tattaches = jQuery._data( doc, fix ) - 1;\n\t\n\t\t\t\t\tif ( !attaches ) {\n\t\t\t\t\t\tdoc.removeEventListener( orig, handler, true );\n\t\t\t\t\t\tjQuery._removeData( doc, fix );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tjQuery._data( doc, fix, attaches );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\t} );\n\t}\n\t\n\tjQuery.fn.extend( {\n\t\n\t\ton: function( types, selector, data, fn ) {\n\t\t\treturn on( this, types, selector, data, fn );\n\t\t},\n\t\tone: function( types, selector, data, fn ) {\n\t\t\treturn on( this, types, selector, data, fn, 1 );\n\t\t},\n\t\toff: function( types, selector, fn ) {\n\t\t\tvar handleObj, type;\n\t\t\tif ( types && types.preventDefault && types.handleObj ) {\n\t\n\t\t\t\t// ( event ) dispatched jQuery.Event\n\t\t\t\thandleObj = types.handleObj;\n\t\t\t\tjQuery( types.delegateTarget ).off(\n\t\t\t\t\thandleObj.namespace ?\n\t\t\t\t\t\thandleObj.origType + \".\" + handleObj.namespace :\n\t\t\t\t\t\thandleObj.origType,\n\t\t\t\t\thandleObj.selector,\n\t\t\t\t\thandleObj.handler\n\t\t\t\t);\n\t\t\t\treturn this;\n\t\t\t}\n\t\t\tif ( typeof types === \"object\" ) {\n\t\n\t\t\t\t// ( types-object [, selector] )\n\t\t\t\tfor ( type in types ) {\n\t\t\t\t\tthis.off( type, selector, types[ type ] );\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t}\n\t\t\tif ( selector === false || typeof selector === \"function\" ) {\n\t\n\t\t\t\t// ( types [, fn] )\n\t\t\t\tfn = selector;\n\t\t\t\tselector = undefined;\n\t\t\t}\n\t\t\tif ( fn === false ) {\n\t\t\t\tfn = returnFalse;\n\t\t\t}\n\t\t\treturn this.each( function() {\n\t\t\t\tjQuery.event.remove( this, types, fn, selector );\n\t\t\t} );\n\t\t},\n\t\n\t\ttrigger: function( type, data ) {\n\t\t\treturn this.each( function() {\n\t\t\t\tjQuery.event.trigger( type, data, this );\n\t\t\t} );\n\t\t},\n\t\ttriggerHandler: function( type, data ) {\n\t\t\tvar elem = this[ 0 ];\n\t\t\tif ( elem ) {\n\t\t\t\treturn jQuery.event.trigger( type, data, elem, true );\n\t\t\t}\n\t\t}\n\t} );\n\t\n\t\n\tvar rinlinejQuery = / jQuery\\d+=\"(?:null|\\d+)\"/g,\n\t\trnoshimcache = new RegExp( \"<(?:\" + nodeNames + \")[\\\\s/>]\", \"i\" ),\n\t\trxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\\w:-]+)[^>]*)\\/>/gi,\n\t\n\t\t// Support: IE 10-11, Edge 10240+\n\t\t// In IE/Edge using regex groups here causes severe slowdowns.\n\t\t// See https://connect.microsoft.com/IE/feedback/details/1736512/\n\t\trnoInnerhtml = /\\s*$/g,\n\t\tsafeFragment = createSafeFragment( document ),\n\t\tfragmentDiv = safeFragment.appendChild( document.createElement( \"div\" ) );\n\t\n\t// Support: IE<8\n\t// Manipulating tables requires a tbody\n\tfunction manipulationTarget( elem, content ) {\n\t\treturn jQuery.nodeName( elem, \"table\" ) &&\n\t\t\tjQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, \"tr\" ) ?\n\t\n\t\t\telem.getElementsByTagName( \"tbody\" )[ 0 ] ||\n\t\t\t\telem.appendChild( elem.ownerDocument.createElement( \"tbody\" ) ) :\n\t\t\telem;\n\t}\n\t\n\t// Replace/restore the type attribute of script elements for safe DOM manipulation\n\tfunction disableScript( elem ) {\n\t\telem.type = ( jQuery.find.attr( elem, \"type\" ) !== null ) + \"/\" + elem.type;\n\t\treturn elem;\n\t}\n\tfunction restoreScript( elem ) {\n\t\tvar match = rscriptTypeMasked.exec( elem.type );\n\t\tif ( match ) {\n\t\t\telem.type = match[ 1 ];\n\t\t} else {\n\t\t\telem.removeAttribute( \"type\" );\n\t\t}\n\t\treturn elem;\n\t}\n\t\n\tfunction cloneCopyEvent( src, dest ) {\n\t\tif ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) {\n\t\t\treturn;\n\t\t}\n\t\n\t\tvar type, i, l,\n\t\t\toldData = jQuery._data( src ),\n\t\t\tcurData = jQuery._data( dest, oldData ),\n\t\t\tevents = oldData.events;\n\t\n\t\tif ( events ) {\n\t\t\tdelete curData.handle;\n\t\t\tcurData.events = {};\n\t\n\t\t\tfor ( type in events ) {\n\t\t\t\tfor ( i = 0, l = events[ type ].length; i < l; i++ ) {\n\t\t\t\t\tjQuery.event.add( dest, type, events[ type ][ i ] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\n\t\t// make the cloned public data object a copy from the original\n\t\tif ( curData.data ) {\n\t\t\tcurData.data = jQuery.extend( {}, curData.data );\n\t\t}\n\t}\n\t\n\tfunction fixCloneNodeIssues( src, dest ) {\n\t\tvar nodeName, e, data;\n\t\n\t\t// We do not need to do anything for non-Elements\n\t\tif ( dest.nodeType !== 1 ) {\n\t\t\treturn;\n\t\t}\n\t\n\t\tnodeName = dest.nodeName.toLowerCase();\n\t\n\t\t// IE6-8 copies events bound via attachEvent when using cloneNode.\n\t\tif ( !support.noCloneEvent && dest[ jQuery.expando ] ) {\n\t\t\tdata = jQuery._data( dest );\n\t\n\t\t\tfor ( e in data.events ) {\n\t\t\t\tjQuery.removeEvent( dest, e, data.handle );\n\t\t\t}\n\t\n\t\t\t// Event data gets referenced instead of copied if the expando gets copied too\n\t\t\tdest.removeAttribute( jQuery.expando );\n\t\t}\n\t\n\t\t// IE blanks contents when cloning scripts, and tries to evaluate newly-set text\n\t\tif ( nodeName === \"script\" && dest.text !== src.text ) {\n\t\t\tdisableScript( dest ).text = src.text;\n\t\t\trestoreScript( dest );\n\t\n\t\t// IE6-10 improperly clones children of object elements using classid.\n\t\t// IE10 throws NoModificationAllowedError if parent is null, #12132.\n\t\t} else if ( nodeName === \"object\" ) {\n\t\t\tif ( dest.parentNode ) {\n\t\t\t\tdest.outerHTML = src.outerHTML;\n\t\t\t}\n\t\n\t\t\t// This path appears unavoidable for IE9. When cloning an object\n\t\t\t// element in IE9, the outerHTML strategy above is not sufficient.\n\t\t\t// If the src has innerHTML and the destination does not,\n\t\t\t// copy the src.innerHTML into the dest.innerHTML. #10324\n\t\t\tif ( support.html5Clone && ( src.innerHTML && !jQuery.trim( dest.innerHTML ) ) ) {\n\t\t\t\tdest.innerHTML = src.innerHTML;\n\t\t\t}\n\t\n\t\t} else if ( nodeName === \"input\" && rcheckableType.test( src.type ) ) {\n\t\n\t\t\t// IE6-8 fails to persist the checked state of a cloned checkbox\n\t\t\t// or radio button. Worse, IE6-7 fail to give the cloned element\n\t\t\t// a checked appearance if the defaultChecked value isn't also set\n\t\n\t\t\tdest.defaultChecked = dest.checked = src.checked;\n\t\n\t\t\t// IE6-7 get confused and end up setting the value of a cloned\n\t\t\t// checkbox/radio button to an empty string instead of \"on\"\n\t\t\tif ( dest.value !== src.value ) {\n\t\t\t\tdest.value = src.value;\n\t\t\t}\n\t\n\t\t// IE6-8 fails to return the selected option to the default selected\n\t\t// state when cloning options\n\t\t} else if ( nodeName === \"option\" ) {\n\t\t\tdest.defaultSelected = dest.selected = src.defaultSelected;\n\t\n\t\t// IE6-8 fails to set the defaultValue to the correct value when\n\t\t// cloning other types of input fields\n\t\t} else if ( nodeName === \"input\" || nodeName === \"textarea\" ) {\n\t\t\tdest.defaultValue = src.defaultValue;\n\t\t}\n\t}\n\t\n\tfunction domManip( collection, args, callback, ignored ) {\n\t\n\t\t// Flatten any nested arrays\n\t\targs = concat.apply( [], args );\n\t\n\t\tvar first, node, hasScripts,\n\t\t\tscripts, doc, fragment,\n\t\t\ti = 0,\n\t\t\tl = collection.length,\n\t\t\tiNoClone = l - 1,\n\t\t\tvalue = args[ 0 ],\n\t\t\tisFunction = jQuery.isFunction( value );\n\t\n\t\t// We can't cloneNode fragments that contain checked, in WebKit\n\t\tif ( isFunction ||\n\t\t\t\t( l > 1 && typeof value === \"string\" &&\n\t\t\t\t\t!support.checkClone && rchecked.test( value ) ) ) {\n\t\t\treturn collection.each( function( index ) {\n\t\t\t\tvar self = collection.eq( index );\n\t\t\t\tif ( isFunction ) {\n\t\t\t\t\targs[ 0 ] = value.call( this, index, self.html() );\n\t\t\t\t}\n\t\t\t\tdomManip( self, args, callback, ignored );\n\t\t\t} );\n\t\t}\n\t\n\t\tif ( l ) {\n\t\t\tfragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );\n\t\t\tfirst = fragment.firstChild;\n\t\n\t\t\tif ( fragment.childNodes.length === 1 ) {\n\t\t\t\tfragment = first;\n\t\t\t}\n\t\n\t\t\t// Require either new content or an interest in ignored elements to invoke the callback\n\t\t\tif ( first || ignored ) {\n\t\t\t\tscripts = jQuery.map( getAll( fragment, \"script\" ), disableScript );\n\t\t\t\thasScripts = scripts.length;\n\t\n\t\t\t\t// Use the original fragment for the last item\n\t\t\t\t// instead of the first because it can end up\n\t\t\t\t// being emptied incorrectly in certain situations (#8070).\n\t\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\t\tnode = fragment;\n\t\n\t\t\t\t\tif ( i !== iNoClone ) {\n\t\t\t\t\t\tnode = jQuery.clone( node, true, true );\n\t\n\t\t\t\t\t\t// Keep references to cloned scripts for later restoration\n\t\t\t\t\t\tif ( hasScripts ) {\n\t\n\t\t\t\t\t\t\t// Support: Android<4.1, PhantomJS<2\n\t\t\t\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\t\t\t\tjQuery.merge( scripts, getAll( node, \"script\" ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\n\t\t\t\t\tcallback.call( collection[ i ], node, i );\n\t\t\t\t}\n\t\n\t\t\t\tif ( hasScripts ) {\n\t\t\t\t\tdoc = scripts[ scripts.length - 1 ].ownerDocument;\n\t\n\t\t\t\t\t// Reenable scripts\n\t\t\t\t\tjQuery.map( scripts, restoreScript );\n\t\n\t\t\t\t\t// Evaluate executable scripts on first document insertion\n\t\t\t\t\tfor ( i = 0; i < hasScripts; i++ ) {\n\t\t\t\t\t\tnode = scripts[ i ];\n\t\t\t\t\t\tif ( rscriptType.test( node.type || \"\" ) &&\n\t\t\t\t\t\t\t!jQuery._data( node, \"globalEval\" ) &&\n\t\t\t\t\t\t\tjQuery.contains( doc, node ) ) {\n\t\n\t\t\t\t\t\t\tif ( node.src ) {\n\t\n\t\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\t\tif ( jQuery._evalUrl ) {\n\t\t\t\t\t\t\t\t\tjQuery._evalUrl( node.src );\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\tjQuery.globalEval(\n\t\t\t\t\t\t\t\t\t( node.text || node.textContent || node.innerHTML || \"\" )\n\t\t\t\t\t\t\t\t\t\t.replace( rcleanScript, \"\" )\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}\n\t\t\t\t}\n\t\n\t\t\t\t// Fix #11809: Avoid leaking memory\n\t\t\t\tfragment = first = null;\n\t\t\t}\n\t\t}\n\t\n\t\treturn collection;\n\t}\n\t\n\tfunction remove( elem, selector, keepData ) {\n\t\tvar node,\n\t\t\telems = selector ? jQuery.filter( selector, elem ) : elem,\n\t\t\ti = 0;\n\t\n\t\tfor ( ; ( node = elems[ i ] ) != null; i++ ) {\n\t\n\t\t\tif ( !keepData && node.nodeType === 1 ) {\n\t\t\t\tjQuery.cleanData( getAll( node ) );\n\t\t\t}\n\t\n\t\t\tif ( node.parentNode ) {\n\t\t\t\tif ( keepData && jQuery.contains( node.ownerDocument, node ) ) {\n\t\t\t\t\tsetGlobalEval( getAll( node, \"script\" ) );\n\t\t\t\t}\n\t\t\t\tnode.parentNode.removeChild( node );\n\t\t\t}\n\t\t}\n\t\n\t\treturn elem;\n\t}\n\t\n\tjQuery.extend( {\n\t\thtmlPrefilter: function( html ) {\n\t\t\treturn html.replace( rxhtmlTag, \"<$1>\" );\n\t\t},\n\t\n\t\tclone: function( elem, dataAndEvents, deepDataAndEvents ) {\n\t\t\tvar destElements, node, clone, i, srcElements,\n\t\t\t\tinPage = jQuery.contains( elem.ownerDocument, elem );\n\t\n\t\t\tif ( support.html5Clone || jQuery.isXMLDoc( elem ) ||\n\t\t\t\t!rnoshimcache.test( \"<\" + elem.nodeName + \">\" ) ) {\n\t\n\t\t\t\tclone = elem.cloneNode( true );\n\t\n\t\t\t// IE<=8 does not properly clone detached, unknown element nodes\n\t\t\t} else {\n\t\t\t\tfragmentDiv.innerHTML = elem.outerHTML;\n\t\t\t\tfragmentDiv.removeChild( clone = fragmentDiv.firstChild );\n\t\t\t}\n\t\n\t\t\tif ( ( !support.noCloneEvent || !support.noCloneChecked ) &&\n\t\t\t\t\t( elem.nodeType === 1 || elem.nodeType === 11 ) && !jQuery.isXMLDoc( elem ) ) {\n\t\n\t\t\t\t// We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2\n\t\t\t\tdestElements = getAll( clone );\n\t\t\t\tsrcElements = getAll( elem );\n\t\n\t\t\t\t// Fix all IE cloning issues\n\t\t\t\tfor ( i = 0; ( node = srcElements[ i ] ) != null; ++i ) {\n\t\n\t\t\t\t\t// Ensure that the destination node is not null; Fixes #9587\n\t\t\t\t\tif ( destElements[ i ] ) {\n\t\t\t\t\t\tfixCloneNodeIssues( node, destElements[ i ] );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\t// Copy the events from the original to the clone\n\t\t\tif ( dataAndEvents ) {\n\t\t\t\tif ( deepDataAndEvents ) {\n\t\t\t\t\tsrcElements = srcElements || getAll( elem );\n\t\t\t\t\tdestElements = destElements || getAll( clone );\n\t\n\t\t\t\t\tfor ( i = 0; ( node = srcElements[ i ] ) != null; i++ ) {\n\t\t\t\t\t\tcloneCopyEvent( node, destElements[ i ] );\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tcloneCopyEvent( elem, clone );\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\t// Preserve script evaluation history\n\t\t\tdestElements = getAll( clone, \"script\" );\n\t\t\tif ( destElements.length > 0 ) {\n\t\t\t\tsetGlobalEval( destElements, !inPage && getAll( elem, \"script\" ) );\n\t\t\t}\n\t\n\t\t\tdestElements = srcElements = node = null;\n\t\n\t\t\t// Return the cloned set\n\t\t\treturn clone;\n\t\t},\n\t\n\t\tcleanData: function( elems, /* internal */ forceAcceptData ) {\n\t\t\tvar elem, type, id, data,\n\t\t\t\ti = 0,\n\t\t\t\tinternalKey = jQuery.expando,\n\t\t\t\tcache = jQuery.cache,\n\t\t\t\tattributes = support.attributes,\n\t\t\t\tspecial = jQuery.event.special;\n\t\n\t\t\tfor ( ; ( elem = elems[ i ] ) != null; i++ ) {\n\t\t\t\tif ( forceAcceptData || acceptData( elem ) ) {\n\t\n\t\t\t\t\tid = elem[ internalKey ];\n\t\t\t\t\tdata = id && cache[ id ];\n\t\n\t\t\t\t\tif ( data ) {\n\t\t\t\t\t\tif ( data.events ) {\n\t\t\t\t\t\t\tfor ( type in data.events ) {\n\t\t\t\t\t\t\t\tif ( special[ type ] ) {\n\t\t\t\t\t\t\t\t\tjQuery.event.remove( elem, type );\n\t\n\t\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\t} else {\n\t\t\t\t\t\t\t\t\tjQuery.removeEvent( elem, type, data.handle );\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\n\t\t\t\t\t\t// Remove cache only if it was not already removed by jQuery.event.remove\n\t\t\t\t\t\tif ( cache[ id ] ) {\n\t\n\t\t\t\t\t\t\tdelete cache[ id ];\n\t\n\t\t\t\t\t\t\t// Support: IE<9\n\t\t\t\t\t\t\t// IE does not allow us to delete expando properties from nodes\n\t\t\t\t\t\t\t// IE creates expando attributes along with the property\n\t\t\t\t\t\t\t// IE does not have a removeAttribute function on Document nodes\n\t\t\t\t\t\t\tif ( !attributes && typeof elem.removeAttribute !== \"undefined\" ) {\n\t\t\t\t\t\t\t\telem.removeAttribute( internalKey );\n\t\n\t\t\t\t\t\t\t// Webkit & Blink performance suffers when deleting properties\n\t\t\t\t\t\t\t// from DOM nodes, so set to undefined instead\n\t\t\t\t\t\t\t// https://code.google.com/p/chromium/issues/detail?id=378607\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\telem[ internalKey ] = undefined;\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\tdeletedIds.push( 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\t\n\tjQuery.fn.extend( {\n\t\n\t\t// Keep domManip exposed until 3.0 (gh-2225)\n\t\tdomManip: domManip,\n\t\n\t\tdetach: function( selector ) {\n\t\t\treturn remove( this, selector, true );\n\t\t},\n\t\n\t\tremove: function( selector ) {\n\t\t\treturn remove( this, selector );\n\t\t},\n\t\n\t\ttext: function( value ) {\n\t\t\treturn access( this, function( value ) {\n\t\t\t\treturn value === undefined ?\n\t\t\t\t\tjQuery.text( this ) :\n\t\t\t\t\tthis.empty().append(\n\t\t\t\t\t\t( this[ 0 ] && this[ 0 ].ownerDocument || document ).createTextNode( value )\n\t\t\t\t\t);\n\t\t\t}, null, value, arguments.length );\n\t\t},\n\t\n\t\tappend: function() {\n\t\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\t\ttarget.appendChild( elem );\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\t\n\t\tprepend: function() {\n\t\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\t\ttarget.insertBefore( elem, target.firstChild );\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\t\n\t\tbefore: function() {\n\t\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\t\tif ( this.parentNode ) {\n\t\t\t\t\tthis.parentNode.insertBefore( elem, this );\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\t\n\t\tafter: function() {\n\t\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\t\tif ( this.parentNode ) {\n\t\t\t\t\tthis.parentNode.insertBefore( elem, this.nextSibling );\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\t\n\t\tempty: function() {\n\t\t\tvar elem,\n\t\t\t\ti = 0;\n\t\n\t\t\tfor ( ; ( elem = this[ i ] ) != null; i++ ) {\n\t\n\t\t\t\t// Remove element nodes and prevent memory leaks\n\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\t\t\t\t}\n\t\n\t\t\t\t// Remove any remaining nodes\n\t\t\t\twhile ( elem.firstChild ) {\n\t\t\t\t\telem.removeChild( elem.firstChild );\n\t\t\t\t}\n\t\n\t\t\t\t// If this is a select, ensure that it displays empty (#12336)\n\t\t\t\t// Support: IE<9\n\t\t\t\tif ( elem.options && jQuery.nodeName( elem, \"select\" ) ) {\n\t\t\t\t\telem.options.length = 0;\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\treturn this;\n\t\t},\n\t\n\t\tclone: function( dataAndEvents, deepDataAndEvents ) {\n\t\t\tdataAndEvents = dataAndEvents == null ? false : dataAndEvents;\n\t\t\tdeepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;\n\t\n\t\t\treturn this.map( function() {\n\t\t\t\treturn jQuery.clone( this, dataAndEvents, deepDataAndEvents );\n\t\t\t} );\n\t\t},\n\t\n\t\thtml: function( value ) {\n\t\t\treturn access( this, function( value ) {\n\t\t\t\tvar elem = this[ 0 ] || {},\n\t\t\t\t\ti = 0,\n\t\t\t\t\tl = this.length;\n\t\n\t\t\t\tif ( value === undefined ) {\n\t\t\t\t\treturn elem.nodeType === 1 ?\n\t\t\t\t\t\telem.innerHTML.replace( rinlinejQuery, \"\" ) :\n\t\t\t\t\t\tundefined;\n\t\t\t\t}\n\t\n\t\t\t\t// See if we can take a shortcut and just use innerHTML\n\t\t\t\tif ( typeof value === \"string\" && !rnoInnerhtml.test( value ) &&\n\t\t\t\t\t( support.htmlSerialize || !rnoshimcache.test( value ) ) &&\n\t\t\t\t\t( support.leadingWhitespace || !rleadingWhitespace.test( value ) ) &&\n\t\t\t\t\t!wrapMap[ ( rtagName.exec( value ) || [ \"\", \"\" ] )[ 1 ].toLowerCase() ] ) {\n\t\n\t\t\t\t\tvalue = jQuery.htmlPrefilter( value );\n\t\n\t\t\t\t\ttry {\n\t\t\t\t\t\tfor ( ; i < l; i++ ) {\n\t\n\t\t\t\t\t\t\t// Remove element nodes and prevent memory leaks\n\t\t\t\t\t\t\telem = this[ i ] || {};\n\t\t\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\t\t\t\t\t\t\t\telem.innerHTML = value;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\telem = 0;\n\t\n\t\t\t\t\t// If using innerHTML throws an exception, use the fallback method\n\t\t\t\t\t} catch ( e ) {}\n\t\t\t\t}\n\t\n\t\t\t\tif ( elem ) {\n\t\t\t\t\tthis.empty().append( value );\n\t\t\t\t}\n\t\t\t}, null, value, arguments.length );\n\t\t},\n\t\n\t\treplaceWith: function() {\n\t\t\tvar ignored = [];\n\t\n\t\t\t// Make the changes, replacing each non-ignored context element with the new content\n\t\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\t\tvar parent = this.parentNode;\n\t\n\t\t\t\tif ( jQuery.inArray( this, ignored ) < 0 ) {\n\t\t\t\t\tjQuery.cleanData( getAll( this ) );\n\t\t\t\t\tif ( parent ) {\n\t\t\t\t\t\tparent.replaceChild( elem, this );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\n\t\t\t// Force callback invocation\n\t\t\t}, ignored );\n\t\t}\n\t} );\n\t\n\tjQuery.each( {\n\t\tappendTo: \"append\",\n\t\tprependTo: \"prepend\",\n\t\tinsertBefore: \"before\",\n\t\tinsertAfter: \"after\",\n\t\treplaceAll: \"replaceWith\"\n\t}, function( name, original ) {\n\t\tjQuery.fn[ name ] = function( selector ) {\n\t\t\tvar elems,\n\t\t\t\ti = 0,\n\t\t\t\tret = [],\n\t\t\t\tinsert = jQuery( selector ),\n\t\t\t\tlast = insert.length - 1;\n\t\n\t\t\tfor ( ; i <= last; i++ ) {\n\t\t\t\telems = i === last ? this : this.clone( true );\n\t\t\t\tjQuery( insert[ i ] )[ original ]( elems );\n\t\n\t\t\t\t// Modern browsers can apply jQuery collections as arrays, but oldIE needs a .get()\n\t\t\t\tpush.apply( ret, elems.get() );\n\t\t\t}\n\t\n\t\t\treturn this.pushStack( ret );\n\t\t};\n\t} );\n\t\n\t\n\tvar iframe,\n\t\telemdisplay = {\n\t\n\t\t\t// Support: Firefox\n\t\t\t// We have to pre-define these values for FF (#10227)\n\t\t\tHTML: \"block\",\n\t\t\tBODY: \"block\"\n\t\t};\n\t\n\t/**\n\t * Retrieve the actual display of a element\n\t * @param {String} name nodeName of the element\n\t * @param {Object} doc Document object\n\t */\n\t\n\t// Called only from within defaultDisplay\n\tfunction actualDisplay( name, doc ) {\n\t\tvar elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ),\n\t\n\t\t\tdisplay = jQuery.css( elem[ 0 ], \"display\" );\n\t\n\t\t// We don't have any data stored on the element,\n\t\t// so use \"detach\" method as fast way to get rid of the element\n\t\telem.detach();\n\t\n\t\treturn display;\n\t}\n\t\n\t/**\n\t * Try to determine the default display value of an element\n\t * @param {String} nodeName\n\t */\n\tfunction defaultDisplay( nodeName ) {\n\t\tvar doc = document,\n\t\t\tdisplay = elemdisplay[ nodeName ];\n\t\n\t\tif ( !display ) {\n\t\t\tdisplay = actualDisplay( nodeName, doc );\n\t\n\t\t\t// If the simple way fails, read from inside an iframe\n\t\t\tif ( display === \"none\" || !display ) {\n\t\n\t\t\t\t// Use the already-created iframe if possible\n\t\t\t\tiframe = ( iframe || jQuery( \"';\n\t\n\t\t\tfunction Ie6(api) {\n\t\t\t\tthis._ns = 'ie6';\n\t\n\t\t\t\tthis.qtip = api;\n\t\t\t\tthis.init(api);\n\t\t\t}\n\t\n\t\t\t$.extend(Ie6.prototype, {\n\t\t\t\t_scroll: function _scroll() {\n\t\t\t\t\tvar overlay = this.qtip.elements.overlay;\n\t\t\t\t\toverlay && (overlay[0].style.top = $(window).scrollTop() + 'px');\n\t\t\t\t},\n\t\n\t\t\t\tinit: function init(qtip) {\n\t\t\t\t\tvar tooltip = qtip.tooltip;\n\t\n\t\t\t\t\t// Create the BGIFrame element if needed\n\t\t\t\t\tif ($('select, object').length < 1) {\n\t\t\t\t\t\tthis.bgiframe = qtip.elements.bgiframe = $(BGIFRAME).appendTo(tooltip);\n\t\n\t\t\t\t\t\t// Update BGIFrame on tooltip move\n\t\t\t\t\t\tqtip._bind(tooltip, 'tooltipmove', this.adjustBGIFrame, this._ns, this);\n\t\t\t\t\t}\n\t\n\t\t\t\t\t// redraw() container for width/height calculations\n\t\t\t\t\tthis.redrawContainer = $('
          ', { id: NAMESPACE + '-rcontainer' }).appendTo(document.body);\n\t\n\t\t\t\t\t// Fixup modal plugin if present too\n\t\t\t\t\tif (qtip.elements.overlay && qtip.elements.overlay.addClass('qtipmodal-ie6fix')) {\n\t\t\t\t\t\tqtip._bind(window, ['scroll', 'resize'], this._scroll, this._ns, this);\n\t\t\t\t\t\tqtip._bind(tooltip, ['tooltipshow'], this._scroll, this._ns, this);\n\t\t\t\t\t}\n\t\n\t\t\t\t\t// Set dimensions\n\t\t\t\t\tthis.redraw();\n\t\t\t\t},\n\t\n\t\t\t\tadjustBGIFrame: function adjustBGIFrame() {\n\t\t\t\t\tvar tooltip = this.qtip.tooltip,\n\t\t\t\t\t dimensions = {\n\t\t\t\t\t\theight: tooltip.outerHeight(FALSE),\n\t\t\t\t\t\twidth: tooltip.outerWidth(FALSE)\n\t\t\t\t\t},\n\t\t\t\t\t plugin = this.qtip.plugins.tip,\n\t\t\t\t\t tip = this.qtip.elements.tip,\n\t\t\t\t\t tipAdjust,\n\t\t\t\t\t offset;\n\t\n\t\t\t\t\t// Adjust border offset\n\t\t\t\t\toffset = parseInt(tooltip.css('borderLeftWidth'), 10) || 0;\n\t\t\t\t\toffset = { left: -offset, top: -offset };\n\t\n\t\t\t\t\t// Adjust for tips plugin\n\t\t\t\t\tif (plugin && tip) {\n\t\t\t\t\t\ttipAdjust = plugin.corner.precedance === 'x' ? [WIDTH, LEFT] : [HEIGHT, TOP];\n\t\t\t\t\t\toffset[tipAdjust[1]] -= tip[tipAdjust[0]]();\n\t\t\t\t\t}\n\t\n\t\t\t\t\t// Update bgiframe\n\t\t\t\t\tthis.bgiframe.css(offset).css(dimensions);\n\t\t\t\t},\n\t\n\t\t\t\t// Max/min width simulator function\n\t\t\t\tredraw: function redraw() {\n\t\t\t\t\tif (this.qtip.rendered < 1 || this.drawing) {\n\t\t\t\t\t\treturn this;\n\t\t\t\t\t}\n\t\n\t\t\t\t\tvar tooltip = this.qtip.tooltip,\n\t\t\t\t\t style = this.qtip.options.style,\n\t\t\t\t\t container = this.qtip.options.position.container,\n\t\t\t\t\t perc,\n\t\t\t\t\t width,\n\t\t\t\t\t max,\n\t\t\t\t\t min;\n\t\n\t\t\t\t\t// Set drawing flag\n\t\t\t\t\tthis.qtip.drawing = 1;\n\t\n\t\t\t\t\t// If tooltip has a set height/width, just set it... like a boss!\n\t\t\t\t\tif (style.height) {\n\t\t\t\t\t\ttooltip.css(HEIGHT, style.height);\n\t\t\t\t\t}\n\t\t\t\t\tif (style.width) {\n\t\t\t\t\t\ttooltip.css(WIDTH, style.width);\n\t\t\t\t\t}\n\t\n\t\t\t\t\t// Simulate max/min width if not set width present...\n\t\t\t\t\telse {\n\t\t\t\t\t\t\t// Reset width and add fluid class\n\t\t\t\t\t\t\ttooltip.css(WIDTH, '').appendTo(this.redrawContainer);\n\t\n\t\t\t\t\t\t\t// Grab our tooltip width (add 1 if odd so we don't get wrapping problems.. huzzah!)\n\t\t\t\t\t\t\twidth = tooltip.width();\n\t\t\t\t\t\t\tif (width % 2 < 1) {\n\t\t\t\t\t\t\t\twidth += 1;\n\t\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t\t// Grab our max/min properties\n\t\t\t\t\t\t\tmax = tooltip.css('maxWidth') || '';\n\t\t\t\t\t\t\tmin = tooltip.css('minWidth') || '';\n\t\n\t\t\t\t\t\t\t// Parse into proper pixel values\n\t\t\t\t\t\t\tperc = (max + min).indexOf('%') > -1 ? container.width() / 100 : 0;\n\t\t\t\t\t\t\tmax = (max.indexOf('%') > -1 ? perc : 1 * parseInt(max, 10)) || width;\n\t\t\t\t\t\t\tmin = (min.indexOf('%') > -1 ? perc : 1 * parseInt(min, 10)) || 0;\n\t\n\t\t\t\t\t\t\t// Determine new dimension size based on max/min/current values\n\t\t\t\t\t\t\twidth = max + min ? Math.min(Math.max(width, min), max) : width;\n\t\n\t\t\t\t\t\t\t// Set the newly calculated width and remvoe fluid class\n\t\t\t\t\t\t\ttooltip.css(WIDTH, Math.round(width)).appendTo(container);\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t// Set drawing flag\n\t\t\t\t\tthis.drawing = 0;\n\t\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\t\n\t\t\t\tdestroy: function destroy() {\n\t\t\t\t\t// Remove iframe\n\t\t\t\t\tthis.bgiframe && this.bgiframe.remove();\n\t\n\t\t\t\t\t// Remove bound events\n\t\t\t\t\tthis.qtip._unbind([window, this.qtip.tooltip], this._ns);\n\t\t\t\t}\n\t\t\t});\n\t\n\t\t\tIE6 = PLUGINS.ie6 = function (api) {\n\t\t\t\t// Proceed only if the browser is IE6\n\t\t\t\treturn BROWSER.ie === 6 ? new Ie6(api) : FALSE;\n\t\t\t};\n\t\n\t\t\tIE6.initialize = 'render';\n\t\n\t\t\tCHECKS.ie6 = {\n\t\t\t\t'^content|style$': function contentStyle$() {\n\t\t\t\t\tthis.redraw();\n\t\t\t\t}\n\t\t\t};\n\t\t\t;\n\t\t});\n\t})(window, document);\n\n/***/ },\n/* 413 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(module.exports = {\n\t\n\t DIRECTION_BACK: 'DIRECTION_BACK',\n\t\n\t RECOVERY_TYPE_PASSWORD: 'PASSWORD',\n\t RECOVERY_TYPE_UNLOCK: 'UNLOCK',\n\t RECOVERY_FACTOR_TYPE_SMS: 'SMS',\n\t RECOVERY_FACTOR_TYPE_EMAIL: 'EMAIL',\n\t RECOVERY_FACTOR_TYPE_CALL: 'CALL',\n\t\n\t // Global success messages\n\t SUCCESS: 'SUCCESS',\n\t FORGOT_PASSWORD_EMAIL_SENT: 'FORGOT_PASSWORD_EMAIL_SENT',\n\t UNLOCK_ACCOUNT_EMAIL_SENT: 'UNLOCK_ACCOUNT_EMAIL_SENT',\n\t\n\t // Global error messages\n\t CONFIG_ERROR: 'CONFIG_ERROR',\n\t UNSUPPORTED_BROWSER_ERROR: 'UNSUPPORTED_BROWSER_ERROR',\n\t OAUTH_ERROR: 'OAUTH_ERROR',\n\t AUTH_STOP_POLL_INITIATION_ERROR: 'AUTH_STOP_POLL_INITIATION_ERROR',\n\t\n\t // Enroll choice page types\n\t ALL_OPTIONAL_NONE_ENROLLED: 'ALL_OPTIONAL_NONE_ENROLLED',\n\t ALL_OPTIONAL_SOME_ENROLLED: 'ALL_OPTIONAL_SOME_ENROLLED',\n\t HAS_REQUIRED_NONE_ENROLLED: 'HAS_REQUIRED_NONE_ENROLLED',\n\t HAS_REQUIRED_SOME_REQUIRED_ENROLLED: 'HAS_REQUIRED_SOME_REQUIRED_ENROLLED',\n\t HAS_REQUIRED_ALL_REQUIRED_ENROLLED: 'HAS_REQUIRED_ALL_REQUIRED_ENROLLED',\n\t\n\t // Operations\n\t PRIMARY_AUTH: 'PRIMARY_AUTH',\n\t FORGOT_PASSWORD: 'FORGOT_PASSWORD',\n\t UNLOCK_ACCOUNT: 'UNLOCK_ACCOUNT',\n\t\n\t // Auth Types\n\t SESSION_SSO: 'SESSION_SSO',\n\t SESSION_STEP_UP: 'SESSION_STEP_UP',\n\t\n\t //Registration\n\t ACTIVATION_EMAIL_SENT: 'ACTIVATION_EMAIL_SENT',\n\t REGISTRATION_COMPLETE: 'REGISTRATION_COMPLETE',\n\t REGISTRATION_FAILED: 'REGISTRATION_FAILED',\n\t\n\t //IDP Discovery\n\t IDP_DISCOVERY: 'IDP_DISCOVERY'\n\t});\n\n/***/ },\n/* 414 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(413)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, Enums) {\n\t\n\t function ConfigError(message) {\n\t this.name = Enums.CONFIG_ERROR;\n\t this.message = message || Okta.loc('error.config');\n\t }\n\t ConfigError.prototype = new Error();\n\t\n\t function UnsupportedBrowserError(message) {\n\t this.name = Enums.UNSUPPORTED_BROWSER_ERROR;\n\t this.message = message || Okta.loc('error.unsupported.browser');\n\t }\n\t UnsupportedBrowserError.prototype = new Error();\n\t\n\t function OAuthError(message) {\n\t this.name = Enums.OAUTH_ERROR;\n\t this.message = message;\n\t }\n\t OAuthError.prototype = new Error();\n\t\n\t function RegistrationError(message) {\n\t this.name = Enums.REGISTRATION_FAILED;\n\t this.message = message;\n\t }\n\t RegistrationError.prototype = new Error();\n\t\n\t // Thrown when initiation of poll was cancelled.\n\t function AuthStopPollInitiationError() {\n\t this.name = Enums.AUTH_STOP_POLL_INITIATION_ERROR;\n\t }\n\t AuthStopPollInitiationError.prototype = new Error();\n\t\n\t return {\n\t ConfigError: ConfigError,\n\t UnsupportedBrowserError: UnsupportedBrowserError,\n\t OAuthError: OAuthError,\n\t RegistrationError: RegistrationError,\n\t AuthStopPollInitiationError: AuthStopPollInitiationError\n\t };\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 415 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar jqueryRequest = __webpack_require__(416);\n\tmodule.exports = __webpack_require__(417)(jqueryRequest);\n\n\n/***/ },\n/* 416 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\tvar $ = __webpack_require__(404);\n\t\n\tfunction jqueryRequest(method, url, args) {\n\t var deferred = $.Deferred();\n\t $.ajax({\n\t type: method,\n\t url: url,\n\t headers: args.headers,\n\t data: JSON.stringify(args.data),\n\t xhrFields: {\n\t withCredentials: true\n\t }\n\t })\n\t .then(function(data, textStatus, jqXHR) {\n\t delete jqXHR.then;\n\t deferred.resolve(jqXHR);\n\t }, function(jqXHR) {\n\t delete jqXHR.then;\n\t deferred.reject(jqXHR);\n\t });\n\t return deferred;\n\t}\n\t\n\tmodule.exports = jqueryRequest;\n\n\n/***/ },\n/* 417 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t/* eslint-disable complexity */\n\t/* eslint-disable max-statements */\n\t\n\t__webpack_require__(418);\n\t\n\tvar Q = __webpack_require__(406);\n\tvar oauthUtil = __webpack_require__(420);\n\tvar util = __webpack_require__(422);\n\tvar tx = __webpack_require__(429);\n\tvar session = __webpack_require__(431);\n\tvar cookies = __webpack_require__(423);\n\tvar token = __webpack_require__(432);\n\tvar AuthSdkError = __webpack_require__(426);\n\tvar config = __webpack_require__(427);\n\tvar TokenManager = __webpack_require__(435);\n\tvar http = __webpack_require__(421);\n\t\n\tfunction OktaAuthBuilder(args) {\n\t var sdk = this;\n\t\n\t if (!args) {\n\t throw new AuthSdkError('No arguments passed to constructor. ' +\n\t 'Required usage: new OktaAuth(args)');\n\t }\n\t\n\t if (!args.url) {\n\t throw new AuthSdkError('No url passed to constructor. ' +\n\t 'Required usage: new OktaAuth({url: \"https://sample.okta.com\"})');\n\t }\n\t\n\t if (args.url.indexOf('-admin.') !== -1) {\n\t throw new AuthSdkError('URL passed to constructor contains \"-admin\" in subdomain. ' +\n\t 'Required usage: new OktaAuth({url: \"https://dev-12345.okta.com})');\n\t }\n\t\n\t this.options = {\n\t url: util.removeTrailingSlash(args.url),\n\t clientId: args.clientId,\n\t issuer: util.removeTrailingSlash(args.issuer),\n\t authorizeUrl: util.removeTrailingSlash(args.authorizeUrl),\n\t userinfoUrl: util.removeTrailingSlash(args.userinfoUrl),\n\t redirectUri: args.redirectUri,\n\t ajaxRequest: args.ajaxRequest,\n\t transformErrorXHR: args.transformErrorXHR,\n\t headers: args.headers\n\t };\n\t\n\t this.userAgent = 'okta-auth-js-' + config.SDK_VERSION;\n\t\n\t // Digital clocks will drift over time, so the server\n\t // can misalign with the time reported by the browser.\n\t // The maxClockSkew allows relaxing the time-based\n\t // validation of tokens (in seconds, not milliseconds).\n\t // It currently defaults to 300, because 5 min is the\n\t // default maximum tolerance allowed by Kerberos.\n\t // (https://technet.microsoft.com/en-us/library/cc976357.aspx)\n\t if (!args.maxClockSkew && args.maxClockSkew !== 0) {\n\t this.options.maxClockSkew = config.DEFAULT_MAX_CLOCK_SKEW;\n\t } else {\n\t this.options.maxClockSkew = args.maxClockSkew;\n\t }\n\t\n\t sdk.session = {\n\t close: util.bind(session.closeSession, null, sdk),\n\t exists: util.bind(session.sessionExists, null, sdk),\n\t get: util.bind(session.getSession, null, sdk),\n\t refresh: util.bind(session.refreshSession, null, sdk),\n\t setCookieAndRedirect: util.bind(session.setCookieAndRedirect, null, sdk)\n\t };\n\t\n\t sdk.tx = {\n\t status: util.bind(tx.transactionStatus, null, sdk),\n\t resume: util.bind(tx.resumeTransaction, null, sdk),\n\t exists: util.bind(tx.transactionExists, null, sdk)\n\t };\n\t\n\t // This is exposed so we can mock document.cookie in our tests\n\t sdk.tx.exists._getCookie = function(name) {\n\t return cookies.getCookie(name);\n\t };\n\t\n\t sdk.idToken = {\n\t authorize: util.deprecateWrap('Use token.getWithoutPrompt, token.getWithPopup, or token.getWithRedirect ' +\n\t 'instead of idToken.authorize.', util.bind(token.getToken, null, sdk)),\n\t verify: util.deprecateWrap('Use token.verify instead of idToken.verify', util.bind(token.verifyIdToken, null, sdk)),\n\t refresh: util.deprecateWrap('Use token.refresh instead of idToken.refresh',\n\t util.bind(token.refreshIdToken, null, sdk)),\n\t decode: util.deprecateWrap('Use token.decode instead of idToken.decode', token.decodeToken)\n\t };\n\t\n\t // This is exposed so we can mock window.location.href in our tests\n\t sdk.idToken.authorize._getLocationHref = function() {\n\t return window.location.href;\n\t };\n\t\n\t sdk.token = {\n\t getWithoutPrompt: util.bind(token.getWithoutPrompt, null, sdk),\n\t getWithPopup: util.bind(token.getWithPopup, null, sdk),\n\t getWithRedirect: util.bind(token.getWithRedirect, null, sdk),\n\t parseFromUrl: util.bind(token.parseFromUrl, null, sdk),\n\t decode: token.decodeToken,\n\t refresh: util.bind(token.refreshToken, null, sdk),\n\t getUserInfo: util.bind(token.getUserInfo, null, sdk),\n\t verify: util.bind(token.verifyToken, null, sdk)\n\t };\n\t\n\t // This is exposed so we can set window.location in our tests\n\t sdk.token.getWithRedirect._setLocation = function(url) {\n\t window.location = url;\n\t };\n\t\n\t // This is exposed so we can mock getting window.history in our tests\n\t sdk.token.parseFromUrl._getHistory = function() {\n\t return window.history;\n\t };\n\t\n\t // This is exposed so we can mock getting window.location in our tests\n\t sdk.token.parseFromUrl._getLocation = function() {\n\t return window.location;\n\t };\n\t\n\t // This is exposed so we can mock getting window.document in our tests\n\t sdk.token.parseFromUrl._getDocument = function() {\n\t return window.document;\n\t };\n\t\n\t sdk.fingerprint._getUserAgent = function() {\n\t return navigator.userAgent;\n\t };\n\t\n\t var isWindowsPhone = /windows phone|iemobile|wpdesktop/i;\n\t sdk.features.isFingerprintSupported = function() {\n\t var agent = sdk.fingerprint._getUserAgent();\n\t return agent && !isWindowsPhone.test(agent);\n\t };\n\t\n\t sdk.tokenManager = new TokenManager(sdk, args.tokenManager);\n\t}\n\t\n\tvar proto = OktaAuthBuilder.prototype;\n\t\n\tproto.features = {};\n\t\n\tproto.features.isPopupPostMessageSupported = function() {\n\t var isIE8or9 = document.documentMode && document.documentMode < 10;\n\t if (window.postMessage && !isIE8or9) {\n\t return true;\n\t }\n\t return false;\n\t};\n\t\n\tproto.features.isTokenVerifySupported = function() {\n\t return typeof crypto !== 'undefined' && crypto.subtle && typeof Uint8Array !== 'undefined';\n\t};\n\t\n\t// { username, password, (relayState), (context) }\n\tproto.signIn = function (opts) {\n\t var sdk = this;\n\t opts = util.clone(opts || {});\n\t function postToTransaction(options) {\n\t delete opts.sendFingerprint;\n\t return tx.postToTransaction(sdk, '/api/v1/authn', opts, options);\n\t }\n\t if (!opts.sendFingerprint) {\n\t return postToTransaction();\n\t }\n\t return sdk.fingerprint()\n\t .then(function(fingerprint) {\n\t return postToTransaction({\n\t headers: {\n\t 'X-Device-Fingerprint': fingerprint\n\t }\n\t });\n\t });\n\t};\n\t\n\tproto.signOut = function () {\n\t return this.session.close();\n\t};\n\t\n\t// { username, (relayState) }\n\tproto.forgotPassword = function (opts) {\n\t return tx.postToTransaction(this, '/api/v1/authn/recovery/password', opts);\n\t};\n\t\n\t// { username, (relayState) }\n\tproto.unlockAccount = function (opts) {\n\t return tx.postToTransaction(this, '/api/v1/authn/recovery/unlock', opts);\n\t};\n\t\n\t// { recoveryToken }\n\tproto.verifyRecoveryToken = function (opts) {\n\t return tx.postToTransaction(this, '/api/v1/authn/recovery/token', opts);\n\t};\n\t\n\t// { resource, (rel), (requestContext)}\n\tproto.webfinger = function (opts) {\n\t var url = '/.well-known/webfinger' + util.toQueryParams(opts);\n\t var options = {\n\t headers: {\n\t 'Accept': 'application/jrd+json'\n\t }\n\t };\n\t return http.get(this, url, options);\n\t};\n\t\n\tproto.fingerprint = function(options) {\n\t options = options || {};\n\t var sdk = this;\n\t if (!sdk.features.isFingerprintSupported()) {\n\t return Q.reject(new AuthSdkError('Fingerprinting is not supported on this device'));\n\t }\n\t\n\t var deferred = Q.defer();\n\t\n\t var iframe = document.createElement('iframe');\n\t iframe.style.display = 'none';\n\t\n\t function listener(e) {\n\t if (!e || !e.data || e.origin !== sdk.options.url) {\n\t return;\n\t }\n\t\n\t try {\n\t var msg = JSON.parse(e.data);\n\t } catch (err) {\n\t return deferred.reject(new AuthSdkError('Unable to parse iframe response'));\n\t }\n\t\n\t if (!msg) { return; }\n\t if (msg.type === 'FingerprintAvailable') {\n\t return deferred.resolve(msg.fingerprint);\n\t }\n\t if (msg.type === 'FingerprintServiceReady') {\n\t e.source.postMessage(JSON.stringify({\n\t type: 'GetFingerprint'\n\t }), e.origin);\n\t }\n\t }\n\t oauthUtil.addListener(window, 'message', listener);\n\t\n\t iframe.src = sdk.options.url + '/auth/services/devicefingerprint';\n\t document.body.appendChild(iframe);\n\t\n\t var timeout = setTimeout(function() {\n\t deferred.reject(new AuthSdkError('Fingerprinting timed out'));\n\t }, options.timeout || 15000);\n\t\n\t return deferred.promise.fin(function() {\n\t clearTimeout(timeout);\n\t oauthUtil.removeListener(window, 'message', listener);\n\t if (document.body.contains(iframe)) {\n\t iframe.parentElement.removeChild(iframe);\n\t }\n\t });\n\t};\n\t\n\tmodule.exports = function(ajaxRequest) {\n\t function OktaAuth(args) {\n\t if (!(this instanceof OktaAuth)) {\n\t return new OktaAuth(args);\n\t }\n\t\n\t if (args && !args.ajaxRequest) {\n\t args.ajaxRequest = ajaxRequest;\n\t }\n\t util.bind(OktaAuthBuilder, this)(args);\n\t }\n\t OktaAuth.prototype = OktaAuthBuilder.prototype;\n\t OktaAuth.prototype.constructor = OktaAuth;\n\t\n\t return OktaAuth;\n\t};\n\n\n/***/ },\n/* 418 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t__webpack_require__(419);\n\t\n\t// Production steps of ECMA-262, Edition 5, 15.4.4.14\n\t// Reference: http://es5.github.io/#x15.4.4.14\n\t// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf#Polyfill\n\tif (!Array.prototype.indexOf) {\n\t Array.prototype.indexOf = function(searchElement, fromIndex) {\n\t\n\t var k;\n\t\n\t // 1. Let o be the result of calling ToObject passing\n\t // the this value as the argument.\n\t if (this == null) {\n\t throw new TypeError('\"this\" is null or not defined');\n\t }\n\t\n\t var o = Object(this);\n\t\n\t // 2. Let lenValue be the result of calling the Get\n\t // internal method of o with the argument \"length\".\n\t // 3. Let len be ToUint32(lenValue).\n\t var len = o.length >>> 0;\n\t\n\t // 4. If len is 0, return -1.\n\t if (len === 0) {\n\t return -1;\n\t }\n\t\n\t // 5. If argument fromIndex was passed let n be\n\t // ToInteger(fromIndex); else let n be 0.\n\t var n = +fromIndex || 0;\n\t\n\t if (Math.abs(n) === Infinity) {\n\t n = 0;\n\t }\n\t\n\t // 6. If n >= len, return -1.\n\t if (n >= len) {\n\t return -1;\n\t }\n\t\n\t // 7. If n >= 0, then Let k be n.\n\t // 8. Else, n<0, Let k be len - abs(n).\n\t // If k is less than 0, then let k be 0.\n\t k = Math.max(n >= 0 ? n : len - Math.abs(n), 0);\n\t\n\t // 9. Repeat, while k < len\n\t while (k < len) {\n\t // a. Let Pk be ToString(k).\n\t // This is implicit for LHS operands of the in operator\n\t // b. Let kPresent be the result of calling the\n\t // HasProperty internal method of o with argument Pk.\n\t // This step can be combined with c\n\t // c. If kPresent is true, then\n\t // i. Let elementK be the result of calling the Get\n\t // internal method of o with the argument ToString(k).\n\t // ii. Let same be the result of applying the\n\t // Strict Equality Comparison Algorithm to\n\t // searchElement and elementK.\n\t // iii. If same is true, return k.\n\t if (k in o && o[k] === searchElement) {\n\t return k;\n\t }\n\t k++;\n\t }\n\t return -1;\n\t };\n\t}\n\t\n\tif (!Array.isArray) {\n\t Array.isArray = function(obj) {\n\t return Object.prototype.toString.call(obj) === '[object Array]';\n\t };\n\t}\n\n\n/***/ },\n/* 419 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t;(function () {\n\t\n\t var object = true ? exports : this; // #8: web workers\n\t var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\t\n\t function InvalidCharacterError(message) {\n\t this.message = message;\n\t }\n\t InvalidCharacterError.prototype = new Error;\n\t InvalidCharacterError.prototype.name = 'InvalidCharacterError';\n\t\n\t // encoder\n\t // [https://gist.github.com/999166] by [https://github.com/nignag]\n\t object.btoa || (\n\t object.btoa = function (input) {\n\t var str = String(input);\n\t for (\n\t // initialize result and counter\n\t var block, charCode, idx = 0, map = chars, output = '';\n\t // if the next str index does not exist:\n\t // change the mapping table to \"=\"\n\t // check if d has no fractional digits\n\t str.charAt(idx | 0) || (map = '=', idx % 1);\n\t // \"8 - idx % 1 * 8\" generates the sequence 2, 4, 6, 8\n\t output += map.charAt(63 & block >> 8 - idx % 1 * 8)\n\t ) {\n\t charCode = str.charCodeAt(idx += 3/4);\n\t if (charCode > 0xFF) {\n\t throw new InvalidCharacterError(\"'btoa' failed: The string to be encoded contains characters outside of the Latin1 range.\");\n\t }\n\t block = block << 8 | charCode;\n\t }\n\t return output;\n\t });\n\t\n\t // decoder\n\t // [https://gist.github.com/1020396] by [https://github.com/atk]\n\t object.atob || (\n\t object.atob = function (input) {\n\t var str = String(input).replace(/=+$/, '');\n\t if (str.length % 4 == 1) {\n\t throw new InvalidCharacterError(\"'atob' failed: The string to be decoded is not correctly encoded.\");\n\t }\n\t for (\n\t // initialize result and counters\n\t var bc = 0, bs, buffer, idx = 0, output = '';\n\t // get next character\n\t buffer = str.charAt(idx++);\n\t // character found in table? initialize bit storage and add its ascii value;\n\t ~buffer && (bs = bc % 4 ? bs * 64 + buffer : buffer,\n\t // and if not first of each 4 characters,\n\t // convert the first 8 bits to one ascii character\n\t bc++ % 4) ? output += String.fromCharCode(255 & bs >> (-2 * bc & 6)) : 0\n\t ) {\n\t // try to find character in table (0-63, not found => -1)\n\t buffer = chars.indexOf(buffer);\n\t }\n\t return output;\n\t });\n\t\n\t}());\n\n\n/***/ },\n/* 420 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* eslint-disable complexity, max-statements */\n\tvar http = __webpack_require__(421);\n\tvar util = __webpack_require__(422);\n\tvar storageUtil = __webpack_require__(424);\n\tvar AuthSdkError = __webpack_require__(426);\n\t\n\tvar httpCache = storageUtil.getHttpCache();\n\t\n\tfunction isToken(obj) {\n\t if (obj &&\n\t (obj.accessToken || obj.idToken) &&\n\t Array.isArray(obj.scopes)) {\n\t return true;\n\t }\n\t return false;\n\t}\n\t\n\tfunction addListener(eventTarget, name, fn) {\n\t if (eventTarget.addEventListener) {\n\t eventTarget.addEventListener(name, fn);\n\t } else {\n\t eventTarget.attachEvent('on' + name, fn);\n\t }\n\t}\n\t\n\tfunction removeListener(eventTarget, name, fn) {\n\t if (eventTarget.removeEventListener) {\n\t eventTarget.removeEventListener(name, fn);\n\t } else {\n\t eventTarget.detachEvent('on' + name, fn);\n\t }\n\t}\n\t\n\tfunction loadFrame(src) {\n\t var iframe = document.createElement('iframe');\n\t iframe.style.display = 'none';\n\t iframe.src = src;\n\t\n\t return document.body.appendChild(iframe);\n\t}\n\t\n\tfunction loadPopup(src, options) {\n\t var title = options.popupTitle || 'External Identity Provider User Authentication';\n\t var appearance = 'toolbar=no, scrollbars=yes, resizable=yes, ' +\n\t 'top=100, left=500, width=600, height=600';\n\t\n\t if (util.isIE11OrLess()) {\n\t // IE<=11 doesn't fully support postMessage at time of writting.\n\t // the following simple solution happened to solve the issue\n\t // without adding another proxy layer which makes flow more complecated.\n\t var winEl = window.open('/', title, appearance);\n\t winEl.location.href = src;\n\t return winEl;\n\t } else {\n\t return window.open(src, title, appearance);\n\t }\n\t}\n\t\n\tfunction getWellKnown(sdk, issuer) {\n\t return http.get(sdk, (issuer || sdk.options.url) + '/.well-known/openid-configuration', {\n\t cacheResponse: true\n\t });\n\t}\n\t\n\tfunction getKey(sdk, issuer, kid) {\n\t return getWellKnown(sdk, issuer)\n\t .then(function(wellKnown) {\n\t var jwksUri = wellKnown['jwks_uri'];\n\t\n\t // Check our kid against the cached version (if it exists and isn't expired)\n\t var cacheContents = httpCache.getStorage();\n\t var cachedResponse = cacheContents[jwksUri];\n\t if (cachedResponse && Date.now()/1000 < cachedResponse.expiresAt) {\n\t var cachedKey = util.find(cachedResponse.response.keys, {\n\t kid: kid\n\t });\n\t\n\t if (cachedKey) {\n\t return cachedKey;\n\t }\n\t }\n\t\n\t // Remove cache for the key\n\t httpCache.clearStorage(jwksUri);\n\t\n\t // Pull the latest keys if the key wasn't in the cache\n\t return http.get(sdk, jwksUri, {\n\t cacheResponse: true\n\t })\n\t .then(function(res) {\n\t var key = util.find(res.keys, {\n\t kid: kid\n\t });\n\t\n\t if (key) {\n\t return key;\n\t }\n\t\n\t throw new AuthSdkError('The key id, ' + kid + ', was not found in the server\\'s keys');\n\t });\n\t });\n\t}\n\t\n\tfunction validateClaims(sdk, claims, aud, iss, nonce) {\n\t if (!claims || !iss || !aud) {\n\t throw new AuthSdkError('The jwt, iss, and aud arguments are all required');\n\t }\n\t\n\t if (nonce && claims.nonce !== nonce) {\n\t throw new AuthSdkError('OAuth flow response nonce doesn\\'t match request nonce');\n\t }\n\t\n\t var now = Math.floor(new Date().getTime()/1000);\n\t\n\t if (claims.iss !== iss) {\n\t throw new AuthSdkError('The issuer [' + claims.iss + '] ' +\n\t 'does not match [' + iss + ']');\n\t }\n\t\n\t if (claims.aud !== aud) {\n\t throw new AuthSdkError('The audience [' + claims.aud + '] ' +\n\t 'does not match [' + aud + ']');\n\t }\n\t\n\t if (claims.iat > claims.exp) {\n\t throw new AuthSdkError('The JWT expired before it was issued');\n\t }\n\t\n\t if ((now - sdk.options.maxClockSkew) > claims.exp) {\n\t throw new AuthSdkError('The JWT expired and is no longer valid');\n\t }\n\t\n\t if (claims.iat > (now + sdk.options.maxClockSkew)) {\n\t throw new AuthSdkError('The JWT was issued in the future');\n\t }\n\t}\n\t\n\tfunction getOAuthUrls(sdk, oauthParams, options) {\n\t options = options || {};\n\t\n\t // Get user-supplied arguments\n\t var authorizeUrl = util.removeTrailingSlash(options.authorizeUrl) || sdk.options.authorizeUrl;\n\t var issuer = util.removeTrailingSlash(options.issuer) || sdk.options.issuer;\n\t var userinfoUrl = util.removeTrailingSlash(options.userinfoUrl) || sdk.options.userinfoUrl;\n\t\n\t // If an issuer exists but it's not a url, assume it's an authServerId\n\t if (issuer && !(/^https?:/.test(issuer))) {\n\t // Make it a url\n\t issuer = sdk.options.url + '/oauth2/' + issuer;\n\t }\n\t\n\t // If an authorizeUrl is supplied without an issuer, and an id_token is requested\n\t if (!issuer && authorizeUrl &&\n\t oauthParams.responseType.indexOf('id_token') !== -1) {\n\t // The issuer is ambiguous, so we won't be able to validate the id_token jwt\n\t throw new AuthSdkError('Cannot request idToken with an authorizeUrl without an issuer');\n\t }\n\t\n\t // If a token is requested without an issuer\n\t if (!issuer && oauthParams.responseType.indexOf('token') !== -1) {\n\t // If an authorizeUrl is supplied without a userinfoUrl\n\t if (authorizeUrl && !userinfoUrl) {\n\t // The userinfoUrl is ambiguous, so we won't be able to call getUserInfo\n\t throw new AuthSdkError('Cannot request accessToken with an authorizeUrl without an issuer or userinfoUrl');\n\t }\n\t\n\t // If a userinfoUrl is supplied without a authorizeUrl\n\t if (userinfoUrl && !authorizeUrl) {\n\t // The authorizeUrl is ambiguous, so we won't be able to call the authorize endpoint\n\t throw new AuthSdkError('Cannot request token with an userinfoUrl without an issuer or authorizeUrl');\n\t }\n\t }\n\t\n\t var sharedResourceServerRegex = new RegExp('^https?://.*?/oauth2/.+');\n\t\n\t // Default the issuer to our baseUrl\n\t issuer = issuer || sdk.options.url;\n\t\n\t // A shared resource server issuer looks like:\n\t // https://example.okta.com/oauth2/aus8aus76q8iphupD0h7\n\t if (sharedResourceServerRegex.test(issuer)) {\n\t // A shared resource server authorizeUrl looks like:\n\t // https://example.okta.com/oauth2/aus8aus76q8iphupD0h7/v1/authorize\n\t authorizeUrl = authorizeUrl || issuer + '/v1/authorize';\n\t // Shared resource server userinfoUrls look like:\n\t // https://example.okta.com/oauth2/aus8aus76q8iphupD0h7/v1/userinfo\n\t userinfoUrl = userinfoUrl || issuer + '/v1/userinfo';\n\t\n\t // Normally looks like:\n\t // https://example.okta.com\n\t } else {\n\t // Normal authorizeUrls look like:\n\t // https://example.okta.com/oauth2/v1/authorize\n\t authorizeUrl = authorizeUrl || issuer + '/oauth2/v1/authorize';\n\t // Normal userinfoUrls look like:\n\t // https://example.okta.com/oauth2/v1/userinfo\n\t userinfoUrl = userinfoUrl || issuer + '/oauth2/v1/userinfo';\n\t }\n\t\n\t return {\n\t issuer: issuer,\n\t authorizeUrl: authorizeUrl,\n\t userinfoUrl: userinfoUrl\n\t };\n\t}\n\t\n\tfunction hashToObject(hash) {\n\t // Predefine regexs for parsing hash\n\t var plus2space = /\\+/g;\n\t var paramSplit = /([^&=]+)=?([^&]*)/g;\n\t\n\t // Remove the leading hash\n\t var fragment = hash.substring(1);\n\t\n\t var obj = {};\n\t\n\t // Loop until we have no more params\n\t var param;\n\t while (true) { // eslint-disable-line no-constant-condition\n\t param = paramSplit.exec(fragment);\n\t if (!param) { break; }\n\t\n\t var key = param[1];\n\t var value = param[2];\n\t\n\t // id_token should remain base64url encoded\n\t if (key === 'id_token' || key === 'access_token' || key === 'code') {\n\t obj[key] = value;\n\t } else {\n\t obj[key] = decodeURIComponent(value.replace(plus2space, ' '));\n\t }\n\t }\n\t return obj;\n\t}\n\t\n\tmodule.exports = {\n\t getWellKnown: getWellKnown,\n\t getKey: getKey,\n\t validateClaims: validateClaims,\n\t getOAuthUrls: getOAuthUrls,\n\t loadFrame: loadFrame,\n\t loadPopup: loadPopup,\n\t hashToObject: hashToObject,\n\t isToken: isToken,\n\t addListener: addListener,\n\t removeListener: removeListener\n\t};\n\n\n/***/ },\n/* 421 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* eslint-disable complexity */\n\tvar util = __webpack_require__(422);\n\tvar cookies = __webpack_require__(423);\n\tvar storageUtil = __webpack_require__(424);\n\tvar Q = __webpack_require__(406);\n\tvar AuthApiError = __webpack_require__(428);\n\tvar config = __webpack_require__(427);\n\t\n\tfunction httpRequest(sdk, options) {\n\t options = options || {};\n\t var url = options.url,\n\t method = options.method,\n\t args = options.args,\n\t saveAuthnState = options.saveAuthnState,\n\t accessToken = options.accessToken,\n\t httpCache = storageUtil.getHttpCache();\n\t\n\t if (options.cacheResponse) {\n\t var cacheContents = httpCache.getStorage();\n\t var cachedResponse = cacheContents[url];\n\t if (cachedResponse && Date.now()/1000 < cachedResponse.expiresAt) {\n\t return Q.resolve(cachedResponse.response);\n\t }\n\t }\n\t\n\t var headers = {\n\t 'Accept': 'application/json',\n\t 'Content-Type': 'application/json',\n\t 'X-Okta-User-Agent-Extended': sdk.userAgent\n\t };\n\t util.extend(headers, sdk.options.headers, options.headers);\n\t\n\t if (accessToken && util.isString(accessToken)) {\n\t headers['Authorization'] = 'Bearer ' + accessToken;\n\t }\n\t\n\t var ajaxOptions = {\n\t headers: headers,\n\t data: args || undefined\n\t };\n\t\n\t var err, res;\n\t return new Q(sdk.options.ajaxRequest(method, url, ajaxOptions))\n\t .then(function(resp) {\n\t res = resp.responseText;\n\t if (res && util.isString(res)) {\n\t res = JSON.parse(res);\n\t }\n\t\n\t if (saveAuthnState) {\n\t if (!res.stateToken) {\n\t cookies.deleteCookie(config.STATE_TOKEN_COOKIE_NAME);\n\t }\n\t }\n\t\n\t if (res && res.stateToken && res.expiresAt) {\n\t cookies.setCookie(config.STATE_TOKEN_COOKIE_NAME, res.stateToken, res.expiresAt);\n\t }\n\t\n\t if (res && options.cacheResponse) {\n\t httpCache.updateStorage(url, {\n\t expiresAt: Math.floor(Date.now()/1000) + config.DEFAULT_CACHE_DURATION,\n\t response: res\n\t });\n\t }\n\t\n\t return res;\n\t })\n\t .fail(function(resp) {\n\t var serverErr = resp.responseText || {};\n\t if (util.isString(serverErr)) {\n\t try {\n\t serverErr = JSON.parse(serverErr);\n\t } catch (e) {\n\t serverErr = {\n\t errorSummary: 'Unknown error'\n\t };\n\t }\n\t }\n\t\n\t if (resp.status >= 500) {\n\t serverErr.errorSummary = 'Unknown error';\n\t }\n\t\n\t if (sdk.options.transformErrorXHR) {\n\t resp = sdk.options.transformErrorXHR(util.clone(resp));\n\t }\n\t\n\t err = new AuthApiError(serverErr, resp);\n\t\n\t if (err.errorCode === 'E0000011') {\n\t cookies.deleteCookie(config.STATE_TOKEN_COOKIE_NAME);\n\t }\n\t\n\t throw err;\n\t });\n\t}\n\t\n\tfunction get(sdk, url, options) {\n\t url = util.isAbsoluteUrl(url) ? url : sdk.options.url + url;\n\t var getOptions = {\n\t url: url,\n\t method: 'GET'\n\t };\n\t util.extend(getOptions, options);\n\t return httpRequest(sdk, getOptions);\n\t}\n\t\n\tfunction post(sdk, url, args, options) {\n\t url = util.isAbsoluteUrl(url) ? url : sdk.options.url + url;\n\t var postOptions = {\n\t url: url,\n\t method: 'POST',\n\t args: args,\n\t saveAuthnState: true\n\t };\n\t util.extend(postOptions, options);\n\t return httpRequest(sdk, postOptions);\n\t}\n\t\n\tmodule.exports = {\n\t get: get,\n\t post: post,\n\t httpRequest: httpRequest\n\t};\n\n\n/***/ },\n/* 422 */\n/***/ function(module, exports) {\n\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t/* eslint-env es6 */\n\tvar util = module.exports;\n\t\n\tutil.base64UrlToBase64 = function(b64u) {\n\t return b64u.replace(/\\-/g, '+').replace(/_/g, '/');\n\t};\n\t\n\tutil.base64UrlToString = function(b64u) {\n\t var b64 = util.base64UrlToBase64(b64u);\n\t switch (b64.length % 4) {\n\t case 0:\n\t break;\n\t case 2:\n\t b64 += '==';\n\t break;\n\t case 3:\n\t b64 += '=';\n\t break;\n\t default:\n\t throw 'Not a valid Base64Url';\n\t }\n\t var utf8 = atob(b64);\n\t try {\n\t return decodeURIComponent(escape(utf8));\n\t } catch (e) {\n\t return utf8;\n\t }\n\t};\n\t\n\tutil.stringToBuffer = function(str) {\n\t var buffer = new Uint8Array(str.length);\n\t for (var i = 0; i < str.length; i++) {\n\t buffer[i] = str.charCodeAt(i);\n\t }\n\t return buffer;\n\t};\n\t\n\tutil.base64UrlDecode = function(str) {\n\t return atob(util.base64UrlToBase64(str));\n\t};\n\t\n\tutil.bind = function(fn, ctx) {\n\t var additionalArgs = Array.prototype.slice.call(arguments, 2);\n\t return function() {\n\t var args = Array.prototype.slice.call(arguments);\n\t args = additionalArgs.concat(args);\n\t return fn.apply(ctx, args);\n\t };\n\t};\n\t\n\tutil.isAbsoluteUrl = function(url) {\n\t return /^(?:[a-z]+:)?\\/\\//i.test(url);\n\t};\n\t\n\tutil.isString = function(obj) {\n\t return Object.prototype.toString.call(obj) === '[object String]';\n\t};\n\t\n\tutil.isObject = function(obj) {\n\t return Object.prototype.toString.call(obj) === '[object Object]';\n\t};\n\t\n\tutil.isNumber = function(obj) {\n\t return Object.prototype.toString.call(obj) === '[object Number]';\n\t};\n\t\n\tutil.isArray = function(obj) {\n\t return Object.prototype.toString.call(obj) === '[object Array]';\n\t};\n\t\n\tutil.isoToUTCString = function(str) {\n\t var parts = str.match(/\\d+/g),\n\t isoTime = Date.UTC(parts[0], parts[1] - 1, parts[2], parts[3], parts[4], parts[5]),\n\t isoDate = new Date(isoTime);\n\t\n\t return isoDate.toUTCString();\n\t};\n\t\n\tutil.toQueryParams = function(obj) {\n\t var str = [];\n\t if (obj !== null) {\n\t for (var key in obj) {\n\t if (obj.hasOwnProperty(key) &&\n\t obj[key] !== undefined &&\n\t obj[key] !== null) {\n\t str.push(key + '=' + encodeURIComponent(obj[key]));\n\t }\n\t }\n\t }\n\t if (str.length) {\n\t return '?' + str.join('&');\n\t } else {\n\t return '';\n\t }\n\t};\n\t\n\tutil.genRandomString = function(length) {\n\t var randomCharset = 'abcdefghijklnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';\n\t var random = '';\n\t for (var c = 0, cl = randomCharset.length; c < length; ++c) {\n\t random += randomCharset[Math.floor(Math.random() * cl)];\n\t }\n\t return random;\n\t};\n\t\n\tutil.extend = function() {\n\t var obj1 = arguments[0];\n\t var objArray = [].slice.call(arguments, 1);\n\t objArray.forEach(function(obj) {\n\t for (var prop in obj) {\n\t if (obj.hasOwnProperty(prop)) {\n\t obj1[prop] = obj[prop];\n\t }\n\t }\n\t });\n\t};\n\t\n\tutil.removeNils = function(obj) {\n\t var cleaned = {};\n\t for (var prop in obj) {\n\t if (obj.hasOwnProperty(prop)) {\n\t var value = obj[prop];\n\t if (value !== null && value !== undefined) {\n\t cleaned[prop] = value;\n\t }\n\t }\n\t }\n\t return cleaned;\n\t};\n\t\n\tutil.clone = function(obj) {\n\t if (obj) {\n\t var str = JSON.stringify(obj);\n\t if (str) {\n\t return JSON.parse(str);\n\t }\n\t }\n\t return obj;\n\t};\n\t\n\t// Analogous to _.omit\n\tutil.omit = function(obj) {\n\t var props = Array.prototype.slice.call(arguments, 1);\n\t var newobj = {};\n\t for (var p in obj) {\n\t if (obj.hasOwnProperty(p) && props.indexOf(p) == -1) {\n\t newobj[p] = obj[p];\n\t }\n\t }\n\t return util.clone(newobj);\n\t};\n\t\n\tutil.find = function(collection, searchParams) {\n\t var c = collection.length;\n\t while (c--) {\n\t var item = collection[c];\n\t var found = true;\n\t for (var prop in searchParams) {\n\t if (!searchParams.hasOwnProperty(prop)) {\n\t continue;\n\t }\n\t if (item[prop] !== searchParams[prop]) {\n\t found = false;\n\t break;\n\t }\n\t }\n\t if (found) {\n\t return item;\n\t }\n\t }\n\t};\n\t\n\tutil.getLink = function(obj, linkName, altName) {\n\t if (!obj || !obj._links) {\n\t return;\n\t }\n\t \n\t var link = util.clone(obj._links[linkName]);\n\t\n\t // If a link has a name and we have an altName, return if they match\n\t if (link && link.name && altName) {\n\t if (link.name === altName) {\n\t return link;\n\t }\n\t } else {\n\t return link;\n\t }\n\t};\n\t\n\tutil.getNativeConsole = function() {\n\t return window.console;\n\t};\n\t\n\tutil.getConsole = function() {\n\t var nativeConsole = util.getNativeConsole();\n\t if (nativeConsole && nativeConsole.log) {\n\t return nativeConsole;\n\t }\n\t return {\n\t log: function() {}\n\t };\n\t};\n\t\n\tutil.warn = function(text) {\n\t /* eslint-disable no-console */\n\t util.getConsole().log('[okta-auth-sdk] WARN: ' + text);\n\t /* eslint-enable */\n\t};\n\t\n\tutil.deprecate = function(text) {\n\t /* eslint-disable no-console */\n\t util.getConsole().log('[okta-auth-sdk] DEPRECATION: ' + text);\n\t /* eslint-enable */\n\t};\n\t\n\tutil.deprecateWrap = function(text, fn) {\n\t return function() {\n\t util.deprecate(text);\n\t return fn.apply(null, arguments);\n\t };\n\t};\n\t\n\tutil.removeTrailingSlash = function(path) {\n\t if (!path) {\n\t return;\n\t }\n\t if (path.slice(-1) === '/') {\n\t return path.slice(0, -1);\n\t }\n\t return path;\n\t};\n\t\n\tutil.isIE11OrLess = function() {\n\t return !!document.documentMode && document.documentMode <= 11;\n\t};\n\n\n/***/ },\n/* 423 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar util = __webpack_require__(422);\n\t\n\tfunction setCookie(name, value, expiresAt) {\n\t var expiresText = '';\n\t if (expiresAt) {\n\t expiresText = ' expires=' + util.isoToUTCString(expiresAt) + ';';\n\t }\n\t\n\t var cookieText = name + '=' + value + '; path=/;' + expiresText;\n\t setCookie._setDocumentCookie(cookieText);\n\t\n\t return cookieText;\n\t}\n\t\n\t// Exposed for testing\n\tsetCookie._setDocumentCookie = function(cookieText) {\n\t document.cookie = cookieText;\n\t};\n\t\n\tfunction getCookie(name) {\n\t var pattern = new RegExp(name + '=([^;]*)'),\n\t matched = getCookie._getDocumentCookie().match(pattern);\n\t\n\t if (matched) {\n\t var cookie = matched[1];\n\t return cookie;\n\t }\n\t}\n\t\n\t// Exposed for testing\n\tgetCookie._getDocumentCookie = function() {\n\t return document.cookie;\n\t};\n\t\n\tfunction deleteCookie(name) {\n\t setCookie(name, '', '1970-01-01T00:00:00Z');\n\t}\n\t\n\tmodule.exports = {\n\t setCookie: setCookie,\n\t getCookie: getCookie,\n\t deleteCookie: deleteCookie\n\t};\n\n\n/***/ },\n/* 424 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar cookies = __webpack_require__(423);\n\tvar storageBuilder = __webpack_require__(425);\n\tvar config = __webpack_require__(427);\n\t\n\t// Building this as an object allows us to mock the functions in our tests\n\tvar storageUtil = {};\n\t\n\t// IE11 bug that Microsoft doesn't plan to fix\n\t// https://connect.microsoft.com/IE/Feedback/Details/1496040\n\tstorageUtil.browserHasLocalStorage = function() {\n\t try {\n\t if (storageUtil.getLocalStorage()) {\n\t return true;\n\t } else {\n\t return false;\n\t }\n\t } catch (e) {\n\t return false;\n\t }\n\t};\n\t\n\tstorageUtil.browserHasSessionStorage = function() {\n\t try {\n\t if (storageUtil.getSessionStorage()) {\n\t return true;\n\t } else {\n\t return false;\n\t }\n\t } catch (e) {\n\t return false;\n\t }\n\t};\n\t\n\tstorageUtil.getHttpCache = function() {\n\t if (storageUtil.browserHasLocalStorage()) {\n\t return storageBuilder(storageUtil.getLocalStorage(), config.CACHE_STORAGE_NAME);\n\t } else if (storageUtil.browserHasSessionStorage()) {\n\t return storageBuilder(storageUtil.getSessionStorage(), config.CACHE_STORAGE_NAME);\n\t } else {\n\t return storageBuilder(storageUtil.getCookieStorage(), config.CACHE_STORAGE_NAME);\n\t }\n\t};\n\t\n\tstorageUtil.getLocalStorage = function() {\n\t return localStorage;\n\t};\n\t\n\tstorageUtil.getSessionStorage = function() {\n\t return sessionStorage;\n\t};\n\t\n\t// Provides webStorage-like interface for cookies\n\tstorageUtil.getCookieStorage = function() {\n\t return {\n\t getItem: cookies.getCookie,\n\t setItem: function(key, value) {\n\t // Cookie shouldn't expire\n\t cookies.setCookie(key, value, '2038-01-19T03:14:07.000Z');\n\t }\n\t };\n\t};\n\t\n\tmodule.exports = storageUtil;\n\n\n/***/ },\n/* 425 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar AuthSdkError = __webpack_require__(426);\n\t\n\t// storage must have getItem and setItem\n\tfunction storageBuilder(webstorage, storageName) {\n\t function getStorage() {\n\t var storageString = webstorage.getItem(storageName);\n\t storageString = storageString || '{}';\n\t try {\n\t return JSON.parse(storageString);\n\t } catch(e) {\n\t throw new AuthSdkError('Unable to parse storage string: ' + storageName);\n\t }\n\t }\n\t\n\t function setStorage(storage) {\n\t try {\n\t var storageString = JSON.stringify(storage);\n\t webstorage.setItem(storageName, storageString);\n\t } catch(e) {\n\t throw new AuthSdkError('Unable to set storage: ' + storageName);\n\t }\n\t }\n\t\n\t function clearStorage(key) {\n\t if (!key) {\n\t setStorage({});\n\t }\n\t var storage = getStorage();\n\t delete storage[key];\n\t setStorage(storage);\n\t }\n\t\n\t function updateStorage(key, value) {\n\t var storage = getStorage();\n\t storage[key] = value;\n\t setStorage(storage);\n\t }\n\t\n\t return {\n\t getStorage: getStorage,\n\t setStorage: setStorage,\n\t clearStorage: clearStorage,\n\t updateStorage: updateStorage\n\t };\n\t}\n\t\n\tmodule.exports = storageBuilder;\n\n\n/***/ },\n/* 426 */\n/***/ function(module, exports) {\n\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\tfunction AuthSdkError(msg, xhr) {\n\t this.name = 'AuthSdkError';\n\t this.message = msg;\n\t\n\t this.errorCode = 'INTERNAL';\n\t this.errorSummary = msg;\n\t this.errorLink = 'INTERNAL';\n\t this.errorId = 'INTERNAL';\n\t this.errorCauses = [];\n\t if (xhr) {\n\t this.xhr = xhr;\n\t }\n\t}\n\tAuthSdkError.prototype = new Error();\n\t\n\tmodule.exports = AuthSdkError;\n\n\n/***/ },\n/* 427 */\n/***/ function(module, exports) {\n\n\tmodule.exports = {\n\t \"STATE_TOKEN_COOKIE_NAME\": \"oktaStateToken\",\n\t \"DEFAULT_POLLING_DELAY\": 500,\n\t \"DEFAULT_MAX_CLOCK_SKEW\": 300,\n\t \"DEFAULT_CACHE_DURATION\": 86400,\n\t \"FRAME_ID\": \"okta-oauth-helper-frame\",\n\t \"REDIRECT_OAUTH_PARAMS_COOKIE_NAME\": \"okta-oauth-redirect-params\",\n\t \"REDIRECT_STATE_COOKIE_NAME\": \"okta-oauth-state\",\n\t \"REDIRECT_NONCE_COOKIE_NAME\": \"okta-oauth-nonce\",\n\t \"TOKEN_STORAGE_NAME\": \"okta-token-storage\",\n\t \"CACHE_STORAGE_NAME\": \"okta-cache-storage\",\n\t \"SDK_VERSION\": \"1.16.0\"\n\t};\n\n/***/ },\n/* 428 */\n/***/ function(module, exports) {\n\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\tfunction AuthApiError(err, xhr) {\n\t this.name = 'AuthApiError';\n\t this.message = err.errorSummary;\n\t this.errorSummary = err.errorSummary;\n\t this.errorCode = err.errorCode;\n\t this.errorLink = err.errorLink;\n\t this.errorId = err.errorId;\n\t this.errorCauses = err.errorCauses;\n\t\n\t if (xhr) {\n\t this.xhr = xhr;\n\t }\n\t}\n\tAuthApiError.prototype = new Error();\n\t\n\tmodule.exports = AuthApiError;\n\n\n/***/ },\n/* 429 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* eslint-disable complexity, max-statements */\n\tvar http = __webpack_require__(421);\n\tvar util = __webpack_require__(422);\n\tvar Q = __webpack_require__(406);\n\tvar AuthSdkError = __webpack_require__(426);\n\tvar AuthPollStopError = __webpack_require__(430);\n\tvar config = __webpack_require__(427);\n\t\n\tfunction addStateToken(res, options) {\n\t var builtArgs = {};\n\t util.extend(builtArgs, options);\n\t\n\t // Add the stateToken if one isn't passed and we have one\n\t if (!builtArgs.stateToken && res.stateToken) {\n\t builtArgs.stateToken = res.stateToken;\n\t }\n\t\n\t return builtArgs;\n\t}\n\t\n\tfunction getStateToken(res) {\n\t return addStateToken(res);\n\t}\n\t\n\tfunction transactionStatus(sdk, args) {\n\t args = addStateToken(sdk, args);\n\t return http.post(sdk, sdk.options.url + '/api/v1/authn', args);\n\t}\n\t\n\tfunction resumeTransaction(sdk, args) {\n\t if (!args || !args.stateToken) {\n\t var stateToken = sdk.tx.exists._getCookie(config.STATE_TOKEN_COOKIE_NAME);\n\t if (stateToken) {\n\t args = {\n\t stateToken: stateToken\n\t };\n\t } else {\n\t return Q.reject(new AuthSdkError('No transaction to resume'));\n\t }\n\t }\n\t return sdk.tx.status(args)\n\t .then(function(res) {\n\t return new AuthTransaction(sdk, res);\n\t });\n\t}\n\t\n\tfunction transactionExists(sdk) {\n\t // We have a cookie state token\n\t return !!sdk.tx.exists._getCookie(config.STATE_TOKEN_COOKIE_NAME);\n\t}\n\t\n\tfunction postToTransaction(sdk, url, args, options) {\n\t return http.post(sdk, url, args, options)\n\t .then(function(res) {\n\t return new AuthTransaction(sdk, res);\n\t });\n\t}\n\t\n\tfunction getPollFn(sdk, res, ref) {\n\t return function (options) {\n\t var delay;\n\t var rememberDevice;\n\t var autoPush;\n\t\n\t if (util.isNumber(options)) {\n\t delay = options;\n\t } else if (util.isObject(options)) {\n\t delay = options.delay;\n\t rememberDevice = options.rememberDevice;\n\t autoPush = options.autoPush;\n\t }\n\t\n\t if (!delay && delay !== 0) {\n\t delay = config.DEFAULT_POLLING_DELAY;\n\t }\n\t\n\t // Get the poll function\n\t var pollLink = util.getLink(res, 'next', 'poll');\n\t function pollFn() {\n\t var opts = {};\n\t if (typeof autoPush === 'function') {\n\t try {\n\t opts.autoPush = !!autoPush();\n\t }\n\t catch (e) {\n\t return Q.reject(new AuthSdkError('AutoPush resulted in an error.'));\n\t }\n\t }\n\t else if (autoPush !== undefined && autoPush !== null) {\n\t opts.autoPush = !!autoPush;\n\t }\n\t if (typeof rememberDevice === 'function') {\n\t try {\n\t opts.rememberDevice = !!rememberDevice();\n\t }\n\t catch (e) {\n\t return Q.reject(new AuthSdkError('RememberDevice resulted in an error.'));\n\t }\n\t }\n\t else if (rememberDevice !== undefined && rememberDevice !== null) {\n\t opts.rememberDevice = !!rememberDevice;\n\t }\n\t\n\t var href = pollLink.href + util.toQueryParams(opts);\n\t return http.post(sdk, href, getStateToken(res), {\n\t saveAuthnState: false \n\t });\n\t }\n\t\n\t ref.isPolling = true;\n\t\n\t var retryCount = 0;\n\t var recursivePoll = function () {\n\t // If the poll was manually stopped during the delay\n\t if (!ref.isPolling) {\n\t return Q.reject(new AuthPollStopError());\n\t }\n\t return pollFn()\n\t .then(function (pollRes) {\n\t // Reset our retry counter on success\n\t retryCount = 0;\n\t\n\t // If we're still waiting\n\t if (pollRes.factorResult && pollRes.factorResult === 'WAITING') {\n\t\n\t // If the poll was manually stopped while the pollFn was called\n\t if (!ref.isPolling) {\n\t throw new AuthPollStopError();\n\t }\n\t\n\t // Continue poll\n\t return Q.delay(delay)\n\t .then(recursivePoll);\n\t\n\t } else {\n\t // Any non-waiting result, even if polling was stopped\n\t // during a request, will return\n\t ref.isPolling = false;\n\t return new AuthTransaction(sdk, pollRes);\n\t }\n\t })\n\t .fail(function(err) {\n\t // Exponential backoff, up to 16 seconds\n\t if (err.xhr &&\n\t (err.xhr.status === 0 || err.xhr.status === 429) &&\n\t retryCount <= 4) {\n\t var delayLength = Math.pow(2, retryCount) * 1000;\n\t retryCount++;\n\t return Q.delay(delayLength)\n\t .then(recursivePoll);\n\t }\n\t throw err;\n\t });\n\t };\n\t return recursivePoll()\n\t .fail(function(err) {\n\t ref.isPolling = false;\n\t throw err;\n\t });\n\t };\n\t}\n\t\n\tfunction link2fn(sdk, res, obj, link, ref) {\n\t if (Array.isArray(link)) {\n\t return function(name, opts) {\n\t if (!name) {\n\t throw new AuthSdkError('Must provide a link name');\n\t }\n\t\n\t var lk = util.find(link, {name: name});\n\t if (!lk) {\n\t throw new AuthSdkError('No link found for that name');\n\t }\n\t\n\t return link2fn(sdk, res, obj, lk, ref)(opts);\n\t };\n\t\n\t } else if (link.hints &&\n\t link.hints.allow &&\n\t link.hints.allow.length === 1) {\n\t var method = link.hints.allow[0];\n\t switch (method) {\n\t\n\t case 'GET':\n\t return function() {\n\t return http.get(sdk, link.href);\n\t };\n\t\n\t case 'POST':\n\t return function(opts) {\n\t if (ref && ref.isPolling) {\n\t ref.isPolling = false;\n\t }\n\t\n\t var data = addStateToken(res, opts);\n\t\n\t if (res.status === 'MFA_ENROLL') {\n\t // Add factorType and provider\n\t util.extend(data, {\n\t factorType: obj.factorType,\n\t provider: obj.provider\n\t });\n\t }\n\t\n\t var params = {};\n\t var autoPush = data.autoPush;\n\t if (autoPush !== undefined) {\n\t if (typeof autoPush === 'function') {\n\t try {\n\t params.autoPush = !!autoPush();\n\t }\n\t catch (e) {\n\t return Q.reject(new AuthSdkError('AutoPush resulted in an error.'));\n\t }\n\t }\n\t else if (autoPush !== null) {\n\t params.autoPush = !!autoPush;\n\t }\n\t data = util.omit(data, 'autoPush');\n\t }\n\t\n\t var rememberDevice = data.rememberDevice;\n\t if (rememberDevice !== undefined) {\n\t if (typeof rememberDevice === 'function') {\n\t try {\n\t params.rememberDevice = !!rememberDevice();\n\t }\n\t catch (e) {\n\t return Q.reject(new AuthSdkError('RememberDevice resulted in an error.'));\n\t }\n\t }\n\t else if (rememberDevice !== null) {\n\t params.rememberDevice = !!rememberDevice;\n\t }\n\t data = util.omit(data, 'rememberDevice');\n\t\n\t } else if (data.profile &&\n\t data.profile.updatePhone !== undefined) {\n\t if (data.profile.updatePhone) {\n\t params.updatePhone = true;\n\t }\n\t data.profile = util.omit(data.profile, 'updatePhone');\n\t }\n\t var href = link.href + util.toQueryParams(params);\n\t return postToTransaction(sdk, href, data);\n\t };\n\t }\n\t }\n\t}\n\t\n\tfunction links2fns(sdk, res, obj, ref) {\n\t var fns = {};\n\t for (var linkName in obj._links) {\n\t if (!obj._links.hasOwnProperty(linkName)) {\n\t continue;\n\t }\n\t\n\t var link = obj._links[linkName];\n\t \n\t if (linkName === 'next') {\n\t linkName = link.name;\n\t }\n\t\n\t if (link.type) {\n\t fns[linkName] = link;\n\t continue;\n\t }\n\t\n\t switch (linkName) {\n\t // poll is only found at the transaction\n\t // level, so we don't need to pass the link\n\t case 'poll':\n\t fns.poll = getPollFn(sdk, res, ref);\n\t break;\n\t\n\t default:\n\t var fn = link2fn(sdk, res, obj, link, ref);\n\t if (fn) {\n\t fns[linkName] = fn;\n\t }\n\t }\n\t }\n\t return fns;\n\t}\n\t\n\tfunction flattenEmbedded(sdk, res, obj, ref) {\n\t obj = obj || res;\n\t obj = util.clone(obj);\n\t\n\t if (Array.isArray(obj)) {\n\t var objArr = [];\n\t for (var o = 0, ol = obj.length; o < ol; o++) {\n\t objArr.push(flattenEmbedded(sdk, res, obj[o], ref));\n\t }\n\t return objArr;\n\t }\n\t\n\t var embedded = obj._embedded || {};\n\t\n\t for (var key in embedded) {\n\t if (!embedded.hasOwnProperty(key)) {\n\t continue;\n\t }\n\t\n\t // Flatten any nested _embedded objects\n\t if (util.isObject(embedded[key]) || Array.isArray(embedded[key])) {\n\t embedded[key] = flattenEmbedded(sdk, res, embedded[key], ref);\n\t }\n\t }\n\t\n\t // Convert any links on the embedded object\n\t var fns = links2fns(sdk, res, obj, ref);\n\t util.extend(embedded, fns);\n\t\n\t obj = util.omit(obj, '_embedded', '_links');\n\t util.extend(obj, embedded);\n\t return obj;\n\t}\n\t\n\tfunction AuthTransaction(sdk, res) {\n\t if (res) {\n\t this.data = res;\n\t util.extend(this, flattenEmbedded(sdk, res, res, {}));\n\t delete this.stateToken;\n\t\n\t // RECOVERY_CHALLENGE has some responses without _links.\n\t // Without _links, we emulate cancel to make it intuitive\n\t // to return to the starting state. We may remove this\n\t // when OKTA-75434 is resolved\n\t if (res.status === 'RECOVERY_CHALLENGE' && !res._links) {\n\t this.cancel = function() {\n\t return new Q(new AuthTransaction(sdk));\n\t };\n\t }\n\t }\n\t}\n\t\n\tmodule.exports = {\n\t transactionStatus: transactionStatus,\n\t resumeTransaction: resumeTransaction,\n\t transactionExists: transactionExists,\n\t postToTransaction: postToTransaction\n\t};\n\n\n/***/ },\n/* 430 */\n/***/ function(module, exports) {\n\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\tfunction AuthPollStopError() {\n\t this.name = 'AuthPollStopError';\n\t this.message = 'The poll was stopped by the sdk';\n\t}\n\tAuthPollStopError.prototype = new Error();\n\t\n\tmodule.exports = AuthPollStopError;\n\n\n/***/ },\n/* 431 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar util = __webpack_require__(422);\n\tvar http = __webpack_require__(421);\n\t\n\tfunction sessionExists(sdk) {\n\t return sdk.session.get()\n\t .then(function(res) {\n\t if (res.status === 'ACTIVE') {\n\t return true;\n\t }\n\t return false;\n\t })\n\t .fail(function() {\n\t return false;\n\t });\n\t}\n\t\n\tfunction getSession(sdk) { \n\t return http.get(sdk, '/api/v1/sessions/me')\n\t .then(function(session) {\n\t var res = util.omit(session, '_links');\n\t\n\t res.refresh = function() {\n\t return http.post(sdk, util.getLink(session, 'refresh').href);\n\t };\n\t\n\t res.user = function() {\n\t return http.get(sdk, util.getLink(session, 'user').href);\n\t };\n\t\n\t return res;\n\t })\n\t .fail(function() {\n\t // Return INACTIVE status on failure\n\t return {status: 'INACTIVE'};\n\t });\n\t}\n\t\n\tfunction closeSession(sdk) {\n\t return http.httpRequest(sdk, {\n\t url: sdk.options.url + '/api/v1/sessions/me',\n\t method: 'DELETE'\n\t });\n\t}\n\t\n\tfunction refreshSession(sdk) {\n\t return http.post(sdk, '/api/v1/sessions/me/lifecycle/refresh');\n\t}\n\t\n\tfunction setCookieAndRedirect(sdk, sessionToken, redirectUrl) {\n\t redirectUrl = redirectUrl || window.location.href;\n\t window.location = sdk.options.url + '/login/sessionCookieRedirect' +\n\t util.toQueryParams({\n\t checkAccountSetupComplete: true,\n\t token: sessionToken,\n\t redirectUrl: redirectUrl\n\t });\n\t}\n\t\n\tmodule.exports = {\n\t sessionExists: sessionExists,\n\t getSession: getSession,\n\t closeSession: closeSession,\n\t refreshSession: refreshSession,\n\t setCookieAndRedirect: setCookieAndRedirect\n\t};\n\n\n/***/ },\n/* 432 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* eslint-disable complexity, max-statements */\n\tvar http = __webpack_require__(421);\n\tvar util = __webpack_require__(422);\n\tvar oauthUtil = __webpack_require__(420);\n\tvar Q = __webpack_require__(406);\n\tvar sdkCrypto = __webpack_require__(433);\n\tvar AuthSdkError = __webpack_require__(426);\n\tvar OAuthError = __webpack_require__(434);\n\tvar config = __webpack_require__(427);\n\tvar cookies = __webpack_require__(423);\n\t\n\tfunction decodeToken(token) {\n\t var jwt = token.split('.');\n\t var decodedToken;\n\t\n\t try {\n\t decodedToken = {\n\t header: JSON.parse(util.base64UrlToString(jwt[0])),\n\t payload: JSON.parse(util.base64UrlToString(jwt[1])),\n\t signature: jwt[2]\n\t };\n\t } catch(e) {\n\t throw new AuthSdkError('Malformed token');\n\t }\n\t\n\t return decodedToken;\n\t}\n\t\n\tfunction verifyIdToken(sdk, idToken, options) {\n\t options = options || {};\n\t\n\t if (!sdk.features.isTokenVerifySupported()) {\n\t return Q.reject(new AuthSdkError('This browser doesn\\'t support crypto.subtle'));\n\t }\n\t\n\t function isExpired(jwtExp) {\n\t var expirationTime;\n\t if (options.expirationTime || options.expirationTime === 0) {\n\t expirationTime = options.expirationTime;\n\t } else {\n\t expirationTime = Math.floor(Date.now()/1000);\n\t }\n\t if (jwtExp &&\n\t jwtExp > expirationTime) {\n\t return true;\n\t }\n\t }\n\t\n\t function hasAudience(jwtAudience) {\n\t if (!options.audience) {\n\t return true;\n\t }\n\t var audiences = Array.isArray(options.audience) ? options.audience : [options.audience];\n\t var jwtAudiences = Array.isArray(jwtAudience) ? jwtAudience : [jwtAudience];\n\t var ai = audiences.length;\n\t while (ai--) {\n\t var aud = audiences[ai];\n\t if (jwtAudiences.indexOf(aud) !== -1) {\n\t return true;\n\t }\n\t }\n\t }\n\t\n\t return oauthUtil.getWellKnown(sdk)\n\t .then(function(res) {\n\t return http.get(sdk, res['jwks_uri']);\n\t })\n\t .then(function(res) {\n\t var key = res.keys[0];\n\t return sdkCrypto.verifyToken(idToken, key);\n\t })\n\t .then(function(res) {\n\t if (!res) {\n\t return false;\n\t }\n\t var jwt = sdk.token.decode(idToken);\n\t\n\t if (isExpired(jwt.payload.exp)) {\n\t return false;\n\t }\n\t\n\t if (!hasAudience(jwt.payload.aud)) {\n\t return false;\n\t }\n\t\n\t if (options.issuer &&\n\t options.issuer !== jwt.payload.iss) {\n\t return false;\n\t }\n\t\n\t return true;\n\t });\n\t}\n\t\n\tfunction verifyToken(sdk, token, nonce, ignoreSignature) {\n\t return new Q()\n\t .then(function() {\n\t if (!token || !token.idToken) {\n\t throw new AuthSdkError('Only idTokens may be verified');\n\t }\n\t\n\t var jwt = decodeToken(token.idToken);\n\t\n\t // Standard claim validation\n\t oauthUtil.validateClaims(sdk, jwt.payload, token.clientId, token.issuer, nonce);\n\t\n\t // If the browser doesn't support native crypto or we choose not \n\t // to verify the signature, bail early\n\t if (ignoreSignature || !sdk.features.isTokenVerifySupported()) {\n\t return token;\n\t }\n\t\n\t return oauthUtil.getKey(sdk, token.issuer, jwt.header.kid)\n\t .then(function(key) {\n\t return sdkCrypto.verifyToken(token.idToken, key);\n\t })\n\t .then(function(valid) {\n\t if (!valid) {\n\t throw new AuthSdkError('The token signature is not valid');\n\t }\n\t return token;\n\t });\n\t });\n\t}\n\t\n\tfunction refreshIdToken(sdk, options) {\n\t options = options || {};\n\t options.display = null;\n\t options.prompt = 'none';\n\t return getToken(sdk, options);\n\t}\n\t\n\tfunction addPostMessageListener(sdk, timeout, state) {\n\t var deferred = Q.defer();\n\t\n\t function responseHandler(e) {\n\t if (!e.data ||\n\t e.origin !== sdk.options.url ||\n\t (e.data && util.isString(state) && e.data.state !== state)) {\n\t return;\n\t }\n\t deferred.resolve(e.data);\n\t }\n\t\n\t oauthUtil.addListener(window, 'message', responseHandler);\n\t\n\t return deferred.promise.timeout(timeout || 120000, new AuthSdkError('OAuth flow timed out'))\n\t .fin(function() {\n\t oauthUtil.removeListener(window, 'message', responseHandler);\n\t });\n\t}\n\t\n\tfunction addFragmentListener(sdk, windowEl, timeout) {\n\t var deferred = Q.defer();\n\t\n\t function hashChangeHandler() {\n\t /*\n\t We are only able to access window.location.hash on a window\n\t that has the same domain. A try/catch is necessary because\n\t there's no other way to determine that the popup is in\n\t another domain. When we try to access a window on another \n\t domain, an error is thrown.\n\t */\n\t try {\n\t if (windowEl &&\n\t windowEl.location &&\n\t windowEl.location.hash) {\n\t deferred.resolve(oauthUtil.hashToObject(windowEl.location.hash));\n\t } else if (windowEl && !windowEl.closed) {\n\t setTimeout(hashChangeHandler, 500);\n\t }\n\t } catch (err) {\n\t setTimeout(hashChangeHandler, 500);\n\t }\n\t }\n\t\n\t hashChangeHandler();\n\t\n\t return deferred.promise.timeout(timeout || 120000, new AuthSdkError('OAuth flow timed out'));\n\t}\n\t\n\tfunction handleOAuthResponse(sdk, oauthParams, res, urls) {\n\t urls = urls || {};\n\t\n\t var tokenTypes = oauthParams.responseType;\n\t var scopes = util.clone(oauthParams.scopes);\n\t var clientId = oauthParams.clientId || sdk.options.clientId;\n\t\n\t return new Q()\n\t .then(function() {\n\t if (res['error'] || res['error_description']) {\n\t throw new OAuthError(res['error'], res['error_description']);\n\t }\n\t\n\t if (res.state !== oauthParams.state) {\n\t throw new AuthSdkError('OAuth flow response state doesn\\'t match request state');\n\t }\n\t\n\t var tokenDict = {};\n\t \n\t if (res['access_token']) {\n\t tokenDict['token'] = {\n\t accessToken: res['access_token'],\n\t expiresAt: Number(res['expires_in']) + Math.floor(Date.now()/1000),\n\t tokenType: res['token_type'],\n\t scopes: scopes,\n\t authorizeUrl: urls.authorizeUrl,\n\t userinfoUrl: urls.userinfoUrl\n\t };\n\t }\n\t\n\t if (res['code']) {\n\t tokenDict['code'] = {\n\t authorizationCode: res['code']\n\t };\n\t }\n\t\n\t if (res['id_token']) {\n\t var jwt = sdk.token.decode(res['id_token']);\n\t\n\t var idToken = {\n\t idToken: res['id_token'],\n\t claims: jwt.payload,\n\t expiresAt: jwt.payload.exp,\n\t scopes: scopes,\n\t authorizeUrl: urls.authorizeUrl,\n\t issuer: urls.issuer,\n\t clientId: clientId\n\t };\n\t\n\t return verifyToken(sdk, idToken, oauthParams.nonce, true)\n\t .then(function() {\n\t tokenDict['id_token'] = idToken;\n\t return tokenDict;\n\t });\n\t }\n\t\n\t return tokenDict;\n\t })\n\t .then(function(tokenDict) {\n\t if (!Array.isArray(tokenTypes)) {\n\t return tokenDict[tokenTypes];\n\t }\n\t\n\t if (!tokenDict['token'] && !tokenDict['id_token']) {\n\t throw new AuthSdkError('Unable to parse OAuth flow response');\n\t }\n\t\n\t // Create token array in the order of the responseType array\n\t return tokenTypes.map(function(item) {\n\t return tokenDict[item];\n\t });\n\t });\n\t}\n\t\n\tfunction getDefaultOAuthParams(sdk, oauthOptions) {\n\t oauthOptions = util.clone(oauthOptions) || {};\n\t\n\t if (oauthOptions.scope) {\n\t util.deprecate('The param \"scope\" is equivalent to \"scopes\". Use \"scopes\" instead.');\n\t oauthOptions.scopes = oauthOptions.scope;\n\t delete oauthOptions.scope;\n\t }\n\t\n\t var defaults = {\n\t clientId: sdk.options.clientId,\n\t redirectUri: sdk.options.redirectUri || window.location.href,\n\t responseType: 'id_token',\n\t responseMode: 'okta_post_message',\n\t state: util.genRandomString(64),\n\t nonce: util.genRandomString(64),\n\t scopes: ['openid', 'email']\n\t };\n\t util.extend(defaults, oauthOptions);\n\t return defaults;\n\t}\n\t\n\tfunction convertOAuthParamsToQueryParams(oauthParams) {\n\t // Quick validation\n\t if (!oauthParams.clientId) {\n\t throw new AuthSdkError('A clientId must be specified in the OktaAuth constructor to get a token');\n\t }\n\t\n\t if (util.isString(oauthParams.responseType) && oauthParams.responseType.indexOf(' ') !== -1) {\n\t throw new AuthSdkError('Multiple OAuth responseTypes must be defined as an array');\n\t }\n\t\n\t // Convert our params to their actual OAuth equivalents\n\t var oauthQueryParams = util.removeNils({\n\t 'client_id': oauthParams.clientId,\n\t 'redirect_uri': oauthParams.redirectUri,\n\t 'response_type': oauthParams.responseType,\n\t 'response_mode': oauthParams.responseMode,\n\t 'state': oauthParams.state,\n\t 'nonce': oauthParams.nonce,\n\t 'prompt': oauthParams.prompt,\n\t 'display': oauthParams.display,\n\t 'sessionToken': oauthParams.sessionToken,\n\t 'idp': oauthParams.idp,\n\t 'max_age': oauthParams.maxAge\n\t });\n\t\n\t if (Array.isArray(oauthQueryParams['response_type'])) {\n\t oauthQueryParams['response_type'] = oauthQueryParams['response_type'].join(' ');\n\t }\n\t\n\t if (oauthParams.responseType.indexOf('id_token') !== -1 &&\n\t oauthParams.scopes.indexOf('openid') === -1) {\n\t throw new AuthSdkError('openid scope must be specified in the scopes argument when requesting an id_token');\n\t } else {\n\t oauthQueryParams.scope = oauthParams.scopes.join(' ');\n\t }\n\t\n\t return oauthQueryParams;\n\t}\n\t\n\tfunction buildAuthorizeParams(oauthParams) {\n\t var oauthQueryParams = convertOAuthParamsToQueryParams(oauthParams);\n\t return util.toQueryParams(oauthQueryParams);\n\t}\n\t\n\t/*\n\t * Retrieve an idToken from an Okta or a third party idp\n\t * \n\t * Two main flows:\n\t *\n\t * 1) Exchange a sessionToken for a token\n\t * \n\t * Required:\n\t * clientId: passed via the OktaAuth constructor or into getToken\n\t * sessionToken: 'yourtoken'\n\t *\n\t * Optional:\n\t * redirectUri: defaults to window.location.href\n\t * scopes: defaults to ['openid', 'email']\n\t *\n\t * Forced:\n\t * prompt: 'none'\n\t * responseMode: 'okta_post_message'\n\t * display: undefined\n\t *\n\t * 2) Get a token from an idp\n\t *\n\t * Required:\n\t * clientId: passed via the OktaAuth constructor or into getToken\n\t *\n\t * Optional:\n\t * redirectUri: defaults to window.location.href\n\t * scopes: defaults to ['openid', 'email']\n\t * idp: defaults to Okta as an idp\n\t * prompt: no default. Pass 'none' to throw an error if user is not signed in\n\t *\n\t * Forced:\n\t * display: 'popup'\n\t *\n\t * Only common optional params shown. Any OAuth parameters not explicitly forced are available to override\n\t *\n\t * @param {Object} oauthOptions\n\t * @param {String} [oauthOptions.clientId] ID of this client\n\t * @param {String} [oauthOptions.redirectUri] URI that the iframe or popup will go to once authenticated\n\t * @param {String[]} [oauthOptions.scopes] OAuth 2.0 scopes to request (openid must be specified)\n\t * @param {String} [oauthOptions.idp] ID of an external IdP to use for user authentication\n\t * @param {String} [oauthOptions.sessionToken] Bootstrap Session Token returned by the Okta Authentication API\n\t * @param {String} [oauthOptions.prompt] Determines whether the Okta login will be displayed on failure.\n\t * Use 'none' to prevent this behavior\n\t *\n\t * @param {Object} options\n\t * @param {Integer} [options.timeout] Time in ms before the flow is automatically terminated. Defaults to 120000\n\t * @param {String} [options.popupTitle] Title dispayed in the popup.\n\t * Defaults to 'External Identity Provider User Authentication'\n\t */\n\tfunction getToken(sdk, oauthOptions, options) {\n\t oauthOptions = oauthOptions || {};\n\t options = options || {};\n\t\n\t // Default OAuth query params\n\t var oauthParams = getDefaultOAuthParams(sdk, oauthOptions);\n\t\n\t // Start overriding any options that don't make sense\n\t var sessionTokenOverrides = {\n\t prompt: 'none',\n\t responseMode: 'okta_post_message',\n\t display: null\n\t };\n\t\n\t var idpOverrides = {\n\t display: 'popup'\n\t };\n\t\n\t if (oauthOptions.sessionToken) {\n\t util.extend(oauthParams, sessionTokenOverrides);\n\t } else if (oauthOptions.idp) {\n\t util.extend(oauthParams, idpOverrides);\n\t }\n\t\n\t // Use the query params to build the authorize url\n\t var requestUrl,\n\t urls;\n\t try {\n\t // Get authorizeUrl and issuer\n\t urls = oauthUtil.getOAuthUrls(sdk, oauthParams, options);\n\t requestUrl = urls.authorizeUrl + buildAuthorizeParams(oauthParams);\n\t } catch (e) {\n\t return Q.reject(e);\n\t }\n\t\n\t // Determine the flow type\n\t var flowType;\n\t if (oauthParams.sessionToken || oauthParams.display === null) {\n\t flowType = 'IFRAME';\n\t } else if (oauthParams.display === 'popup') {\n\t flowType = 'POPUP';\n\t } else {\n\t flowType = 'IMPLICIT';\n\t }\n\t\n\t function getOrigin(url) {\n\t var originRegex = /^(https?\\:\\/\\/)?([^:\\/?#]*(?:\\:[0-9]+)?)/;\n\t return originRegex.exec(url)[0];\n\t }\n\t\n\t // Execute the flow type\n\t switch (flowType) {\n\t case 'IFRAME':\n\t var iframePromise = addPostMessageListener(sdk, options.timeout, oauthParams.state);\n\t var iframeEl = oauthUtil.loadFrame(requestUrl);\n\t return iframePromise\n\t .then(function(res) {\n\t return handleOAuthResponse(sdk, oauthParams, res, urls);\n\t })\n\t .fin(function() {\n\t if (document.body.contains(iframeEl)) {\n\t iframeEl.parentElement.removeChild(iframeEl);\n\t }\n\t });\n\t\n\t case 'POPUP': // eslint-disable-line no-case-declarations\n\t var popupPromise;\n\t\n\t // Add listener on postMessage before window creation, so\n\t // postMessage isn't triggered before we're listening\n\t if (oauthParams.responseMode === 'okta_post_message') {\n\t if (!sdk.features.isPopupPostMessageSupported()) {\n\t return Q.reject(new AuthSdkError('This browser doesn\\'t have full postMessage support'));\n\t }\n\t popupPromise = addPostMessageListener(sdk, options.timeout, oauthParams.state);\n\t }\n\t\n\t // Create the window\n\t var windowOptions = {\n\t popupTitle: options.popupTitle\n\t };\n\t var windowEl = oauthUtil.loadPopup(requestUrl, windowOptions);\n\t\n\t // Poll until we get a valid hash fragment\n\t if (oauthParams.responseMode === 'fragment') {\n\t var windowOrigin = getOrigin(sdk.idToken.authorize._getLocationHref());\n\t var redirectUriOrigin = getOrigin(oauthParams.redirectUri);\n\t if (windowOrigin !== redirectUriOrigin) {\n\t return Q.reject(new AuthSdkError('Using fragment, the redirectUri origin (' + redirectUriOrigin +\n\t ') must match the origin of this page (' + windowOrigin + ')'));\n\t }\n\t popupPromise = addFragmentListener(sdk, windowEl, options.timeout);\n\t }\n\t\n\t // Both postMessage and fragment require a poll to see if the popup closed\n\t var popupDeferred = Q.defer();\n\t function hasClosed(win) { // eslint-disable-line no-inner-declarations\n\t if (win.closed) {\n\t popupDeferred.reject(new AuthSdkError('Unable to parse OAuth flow response'));\n\t }\n\t }\n\t var closePoller = setInterval(function() {\n\t hasClosed(windowEl);\n\t }, 500);\n\t\n\t // Proxy the promise results into the deferred\n\t popupPromise\n\t .then(function(res) {\n\t popupDeferred.resolve(res);\n\t })\n\t .fail(function(err) {\n\t popupDeferred.reject(err);\n\t });\n\t\n\t return popupDeferred.promise\n\t .then(function(res) {\n\t return handleOAuthResponse(sdk, oauthParams, res, urls);\n\t })\n\t .fin(function() {\n\t if (!windowEl.closed) {\n\t clearInterval(closePoller);\n\t windowEl.close();\n\t }\n\t });\n\t\n\t default:\n\t return Q.reject(new AuthSdkError('The full page redirect flow is not supported'));\n\t }\n\t}\n\t\n\tfunction getWithoutPrompt(sdk, oauthOptions, options) {\n\t var oauthParams = util.clone(oauthOptions) || {};\n\t util.extend(oauthParams, {\n\t prompt: 'none',\n\t responseMode: 'okta_post_message',\n\t display: null\n\t });\n\t return getToken(sdk, oauthParams, options);\n\t}\n\t\n\tfunction getWithPopup(sdk, oauthOptions, options) {\n\t var oauthParams = util.clone(oauthOptions) || {};\n\t util.extend(oauthParams, {\n\t display: 'popup'\n\t });\n\t return getToken(sdk, oauthParams, options);\n\t}\n\t\n\tfunction getWithRedirect(sdk, oauthOptions, options) {\n\t oauthOptions = util.clone(oauthOptions) || {};\n\t var oauthParams = getDefaultOAuthParams(sdk, oauthOptions);\n\t // If the user didn't specify a responseMode\n\t if (!oauthOptions.responseMode) {\n\t // And it's only an auth code request (responseType could be an array)\n\t var respType = oauthParams.responseType;\n\t if (respType.indexOf('code') !== -1 &&\n\t (util.isString(respType) || (Array.isArray(respType) && respType.length === 1))) {\n\t // Default the responseMode to query\n\t util.extend(oauthParams, {\n\t responseMode: 'query'\n\t });\n\t // Otherwise, default to fragment\n\t } else {\n\t util.extend(oauthParams, {\n\t responseMode: 'fragment'\n\t });\n\t }\n\t }\n\t \n\t var urls = oauthUtil.getOAuthUrls(sdk, oauthParams, options);\n\t var requestUrl = urls.authorizeUrl + buildAuthorizeParams(oauthParams);\n\t\n\t // Set session cookie to store the oauthParams\n\t cookies.setCookie(config.REDIRECT_OAUTH_PARAMS_COOKIE_NAME, JSON.stringify({\n\t responseType: oauthParams.responseType,\n\t state: oauthParams.state,\n\t nonce: oauthParams.nonce,\n\t scopes: oauthParams.scopes,\n\t urls: urls\n\t }));\n\t\n\t // Set nonce cookie for servers to validate nonce in id_token\n\t cookies.setCookie(config.REDIRECT_NONCE_COOKIE_NAME, oauthParams.nonce);\n\t\n\t // Set state cookie for servers to validate state\n\t cookies.setCookie(config.REDIRECT_STATE_COOKIE_NAME, oauthParams.state);\n\t\n\t sdk.token.getWithRedirect._setLocation(requestUrl);\n\t}\n\t\n\tfunction refreshToken(sdk, token) {\n\t if (!oauthUtil.isToken(token)) {\n\t return Q.reject(new AuthSdkError('Refresh must be passed a token with ' +\n\t 'an array of scopes and an accessToken or idToken'));\n\t }\n\t\n\t var responseType;\n\t if (token.accessToken) {\n\t responseType = 'token';\n\t } else {\n\t responseType = 'id_token';\n\t }\n\t return sdk.token.getWithoutPrompt({\n\t responseType: responseType,\n\t scopes: token.scopes\n\t }, {\n\t authorizeUrl: token.authorizeUrl,\n\t userinfoUrl: token.userinfoUrl,\n\t issuer: token.issuer\n\t });\n\t}\n\t\n\tfunction removeHash(sdk) {\n\t var nativeHistory = sdk.token.parseFromUrl._getHistory();\n\t var nativeDoc = sdk.token.parseFromUrl._getDocument();\n\t var nativeLoc = sdk.token.parseFromUrl._getLocation();\n\t if (nativeHistory && nativeHistory.replaceState) {\n\t nativeHistory.replaceState(null, nativeDoc.title, nativeLoc.pathname + nativeLoc.search);\n\t } else {\n\t nativeLoc.hash = '';\n\t }\n\t}\n\t\n\tfunction parseFromUrl(sdk, url) {\n\t var nativeLoc = sdk.token.parseFromUrl._getLocation();\n\t var hash = nativeLoc.hash;\n\t if (url) {\n\t hash = url.substring(url.indexOf('#'));\n\t }\n\t\n\t var oauthParamsCookie = cookies.getCookie(config.REDIRECT_OAUTH_PARAMS_COOKIE_NAME);\n\t if (!hash || !oauthParamsCookie) {\n\t return Q.reject(new AuthSdkError('Unable to parse a token from the url'));\n\t }\n\t try {\n\t var oauthParams = JSON.parse(oauthParamsCookie);\n\t var urls = oauthParams.urls;\n\t delete oauthParams.urls;\n\t cookies.deleteCookie(config.REDIRECT_OAUTH_PARAMS_COOKIE_NAME);\n\t } catch(e) {\n\t return Q.reject(new AuthSdkError('Unable to parse the ' + \n\t config.REDIRECT_OAUTH_PARAMS_COOKIE_NAME + ' cookie: ' + e.message));\n\t }\n\t\n\t return Q.resolve(oauthUtil.hashToObject(hash))\n\t .then(function(res) {\n\t if (!url) {\n\t // Remove the hash from the url\n\t removeHash(sdk);\n\t }\n\t return handleOAuthResponse(sdk, oauthParams, res, urls);\n\t });\n\t}\n\t\n\tfunction getUserInfo(sdk, accessTokenObject) {\n\t if (!accessTokenObject ||\n\t (!oauthUtil.isToken(accessTokenObject) && !accessTokenObject.accessToken && !accessTokenObject.userinfoUrl)) {\n\t return Q.reject(new AuthSdkError('getUserInfo requires an access token object'));\n\t }\n\t return http.httpRequest(sdk, {\n\t url: accessTokenObject.userinfoUrl,\n\t method: 'GET',\n\t accessToken: accessTokenObject.accessToken\n\t })\n\t .fail(function(err) {\n\t if (err.xhr && (err.xhr.status === 401 || err.xhr.status === 403)) {\n\t var authenticateHeader = err.xhr.getResponseHeader('WWW-Authenticate');\n\t if (authenticateHeader) {\n\t var errorMatches = authenticateHeader.match(/error=\"(.*?)\"/) || [];\n\t var errorDescriptionMatches = authenticateHeader.match(/error_description=\"(.*?)\"/) || [];\n\t var error = errorMatches[1];\n\t var errorDescription = errorDescriptionMatches[1];\n\t if (error && errorDescription) {\n\t err = new OAuthError(error, errorDescription);\n\t }\n\t }\n\t }\n\t throw err;\n\t });\n\t}\n\t\n\tmodule.exports = {\n\t getToken: getToken,\n\t getWithoutPrompt: getWithoutPrompt,\n\t getWithPopup: getWithPopup,\n\t getWithRedirect: getWithRedirect,\n\t parseFromUrl: parseFromUrl,\n\t refreshIdToken: refreshIdToken,\n\t decodeToken: decodeToken,\n\t verifyIdToken: verifyIdToken,\n\t refreshToken: refreshToken,\n\t getUserInfo: getUserInfo,\n\t verifyToken: verifyToken\n\t};\n\n\n/***/ },\n/* 433 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\tvar util = __webpack_require__(422);\n\t\n\tfunction verifyToken(idToken, key) {\n\t key = util.clone(key);\n\t\n\t var format = 'jwk';\n\t var algo = {\n\t name: 'RSASSA-PKCS1-v1_5',\n\t hash: { name: 'SHA-256' }\n\t };\n\t var extractable = true;\n\t var usages = ['verify'];\n\t\n\t // https://connect.microsoft.com/IE/feedback/details/2242108/webcryptoapi-importing-jwk-with-use-field-fails\n\t // This is a metadata tag that specifies the intent of how the key should be used.\n\t // It's not necessary to properly verify the jwt's signature.\n\t delete key.use;\n\t\n\t return crypto.subtle.importKey(\n\t format,\n\t key,\n\t algo,\n\t extractable,\n\t usages\n\t )\n\t .then(function(cryptoKey) {\n\t var jwt = idToken.split('.');\n\t var payload = util.stringToBuffer(jwt[0] + '.' + jwt[1]);\n\t var b64Signature = util.base64UrlDecode(jwt[2]);\n\t var signature = util.stringToBuffer(b64Signature);\n\t\n\t return crypto.subtle.verify(\n\t algo,\n\t cryptoKey,\n\t signature,\n\t payload\n\t );\n\t });\n\t}\n\t\n\tmodule.exports = {\n\t verifyToken: verifyToken\n\t};\n\n\n/***/ },\n/* 434 */\n/***/ function(module, exports) {\n\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\tfunction OAuthError(errorCode, summary) {\n\t this.name = 'OAuthError';\n\t this.message = summary;\n\t\n\t this.errorCode = errorCode;\n\t this.errorSummary = summary;\n\t}\n\tOAuthError.prototype = new Error();\n\t\n\tmodule.exports = OAuthError;\n\n\n/***/ },\n/* 435 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* eslint complexity:[0,8] max-statements:[0,21] */\n\tvar util = __webpack_require__(422);\n\tvar AuthSdkError = __webpack_require__(426);\n\tvar storageUtil = __webpack_require__(424);\n\tvar Q = __webpack_require__(406);\n\tvar Emitter = __webpack_require__(436);\n\tvar config = __webpack_require__(427);\n\tvar storageBuilder = __webpack_require__(425);\n\t\n\tfunction emitExpired(tokenMgmtRef, key, token) {\n\t tokenMgmtRef.emitter.emit('expired', key, token);\n\t}\n\t\n\tfunction clearRefreshTimeout(tokenMgmtRef, key) {\n\t clearTimeout(tokenMgmtRef.refreshTimeouts[key]);\n\t delete tokenMgmtRef.refreshTimeouts[key];\n\t}\n\t\n\tfunction clearRefreshTimeoutAll(tokenMgmtRef) {\n\t var refreshTimeouts = tokenMgmtRef.refreshTimeouts;\n\t for(var key in refreshTimeouts) {\n\t if (!refreshTimeouts.hasOwnProperty(key)) {\n\t continue;\n\t }\n\t clearRefreshTimeout(tokenMgmtRef, key);\n\t }\n\t tokenMgmtRef.refreshTimeouts = {};\n\t}\n\t\n\tfunction setRefreshTimeout(sdk, tokenMgmtRef, storage, key, token) {\n\t var refreshWait = (token.expiresAt * 1000) - Date.now();\n\t if (refreshWait < 0) {\n\t // Already expired\n\t refreshWait = 0;\n\t }\n\t var refreshTimeout = setTimeout(function() {\n\t if (tokenMgmtRef.autoRefresh) {\n\t return refresh(sdk, tokenMgmtRef, storage, key);\n\t } else if (token.expiresAt * 1000 <= Date.now()) {\n\t remove(tokenMgmtRef, storage, key);\n\t emitExpired(tokenMgmtRef, key, token);\n\t }\n\t }, refreshWait);\n\t\n\t // Clear any existing timeout\n\t clearRefreshTimeout(tokenMgmtRef, key);\n\t\n\t // Add a new timeout\n\t tokenMgmtRef.refreshTimeouts[key] = refreshTimeout;\n\t}\n\t\n\tfunction setRefreshTimeoutAll(sdk, tokenMgmtRef, storage) {\n\t try {\n\t var tokenStorage = storage.getStorage();\n\t } catch(e) {\n\t // Any errors thrown on instantiation will not be caught,\n\t // because there are no listeners yet\n\t tokenMgmtRef.emitter.emit('error', e);\n\t return;\n\t }\n\t\n\t for(var key in tokenStorage) {\n\t if (!tokenStorage.hasOwnProperty(key)) {\n\t continue;\n\t }\n\t var token = tokenStorage[key];\n\t setRefreshTimeout(sdk, tokenMgmtRef, storage, key, token);\n\t }\n\t}\n\t\n\tfunction add(sdk, tokenMgmtRef, storage, key, token) {\n\t var tokenStorage = storage.getStorage();\n\t if (!util.isObject(token) ||\n\t !token.scopes ||\n\t (!token.expiresAt && token.expiresAt !== 0) ||\n\t (!token.idToken && !token.accessToken)) {\n\t throw new AuthSdkError('Token must be an Object with scopes, expiresAt, and an idToken or accessToken properties');\n\t }\n\t tokenStorage[key] = token;\n\t storage.setStorage(tokenStorage);\n\t setRefreshTimeout(sdk, tokenMgmtRef, storage, key, token);\n\t}\n\t\n\tfunction get(storage, key) {\n\t var tokenStorage = storage.getStorage();\n\t return tokenStorage[key];\n\t}\n\t\n\tfunction remove(tokenMgmtRef, storage, key) {\n\t // Clear any listener for this token\n\t clearRefreshTimeout(tokenMgmtRef, key);\n\t\n\t // Remove it from storage\n\t var tokenStorage = storage.getStorage();\n\t delete tokenStorage[key];\n\t storage.setStorage(tokenStorage);\n\t}\n\t\n\tfunction refresh(sdk, tokenMgmtRef, storage, key) {\n\t try {\n\t var token = get(storage, key);\n\t if (!token) {\n\t throw new AuthSdkError('The tokenManager has no token for the key: ' + key);\n\t }\n\t } catch (e) {\n\t return Q.reject(e);\n\t }\n\t\n\t // Remove existing autoRefresh timeout for this key\n\t clearRefreshTimeout(tokenMgmtRef, key);\n\t\n\t return sdk.token.refresh(token)\n\t .then(function(freshToken) {\n\t add(sdk, tokenMgmtRef, storage, key, freshToken);\n\t tokenMgmtRef.emitter.emit('refreshed', key, freshToken, token);\n\t return freshToken;\n\t })\n\t .fail(function(err) {\n\t if (err.name === 'OAuthError') {\n\t remove(tokenMgmtRef, storage, key);\n\t emitExpired(tokenMgmtRef, key, token);\n\t }\n\t throw err;\n\t });\n\t}\n\t\n\tfunction clear(tokenMgmtRef, storage) {\n\t clearRefreshTimeoutAll(tokenMgmtRef);\n\t storage.clearStorage();\n\t}\n\t\n\tfunction TokenManager(sdk, options) {\n\t options = options || {};\n\t options.storage = options.storage || 'localStorage';\n\t if (!options.autoRefresh && options.autoRefresh !== false) {\n\t options.autoRefresh = true;\n\t }\n\t\n\t if (options.storage === 'localStorage' && !storageUtil.browserHasLocalStorage()) {\n\t util.warn('This browser doesn\\'t support localStorage. Switching to sessionStorage.');\n\t options.storage = 'sessionStorage';\n\t }\n\t\n\t if (options.storage === 'sessionStorage' && !storageUtil.browserHasSessionStorage()) {\n\t util.warn('This browser doesn\\'t support sessionStorage. Switching to cookie-based storage.');\n\t options.storage = 'cookie';\n\t }\n\t\n\t var storage;\n\t switch(options.storage) {\n\t case 'localStorage':\n\t storage = storageBuilder(localStorage, config.TOKEN_STORAGE_NAME);\n\t break;\n\t case 'sessionStorage':\n\t storage = storageBuilder(sessionStorage, config.TOKEN_STORAGE_NAME);\n\t break;\n\t case 'cookie':\n\t storage = storageBuilder(storageUtil.getCookieStorage(), config.TOKEN_STORAGE_NAME);\n\t break;\n\t default:\n\t throw new AuthSdkError('Unrecognized storage option');\n\t }\n\t\n\t var tokenMgmtRef = {\n\t emitter: new Emitter(),\n\t autoRefresh: options.autoRefresh,\n\t refreshTimeouts: {}\n\t };\n\t\n\t this.add = util.bind(add, this, sdk, tokenMgmtRef, storage);\n\t this.get = util.bind(get, this, storage);\n\t this.remove = util.bind(remove, this, tokenMgmtRef, storage);\n\t this.clear = util.bind(clear, this, tokenMgmtRef, storage);\n\t this.refresh = util.bind(refresh, this, sdk, tokenMgmtRef, storage);\n\t this.on = util.bind(tokenMgmtRef.emitter.on, tokenMgmtRef.emitter);\n\t this.off = util.bind(tokenMgmtRef.emitter.off, tokenMgmtRef.emitter);\n\t \n\t setRefreshTimeoutAll(sdk, tokenMgmtRef, storage);\n\t}\n\t\n\tmodule.exports = TokenManager;\n\n\n/***/ },\n/* 436 */\n/***/ function(module, exports) {\n\n\tfunction E () {\n\t // Keep this empty so it's easier to inherit from\n\t // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n\t}\n\t\n\tE.prototype = {\n\t on: function (name, callback, ctx) {\n\t var e = this.e || (this.e = {});\n\t\n\t (e[name] || (e[name] = [])).push({\n\t fn: callback,\n\t ctx: ctx\n\t });\n\t\n\t return this;\n\t },\n\t\n\t once: function (name, callback, ctx) {\n\t var self = this;\n\t function listener () {\n\t self.off(name, listener);\n\t callback.apply(ctx, arguments);\n\t };\n\t\n\t listener._ = callback\n\t return this.on(name, listener, ctx);\n\t },\n\t\n\t emit: function (name) {\n\t var data = [].slice.call(arguments, 1);\n\t var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n\t var i = 0;\n\t var len = evtArr.length;\n\t\n\t for (i; i < len; i++) {\n\t evtArr[i].fn.apply(evtArr[i].ctx, data);\n\t }\n\t\n\t return this;\n\t },\n\t\n\t off: function (name, callback) {\n\t var e = this.e || (this.e = {});\n\t var evts = e[name];\n\t var liveEvents = [];\n\t\n\t if (evts && callback) {\n\t for (var i = 0, len = evts.length; i < len; i++) {\n\t if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n\t liveEvents.push(evts[i]);\n\t }\n\t }\n\t\n\t // Remove event from queue to prevent memory leak\n\t // Suggested by https://github.com/lazd\n\t // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\t\n\t (liveEvents.length)\n\t ? e[name] = liveEvents\n\t : delete e[name];\n\t\n\t return this;\n\t }\n\t};\n\t\n\tmodule.exports = E;\n\n\n/***/ },\n/* 437 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t/* eslint complexity: [2, 13], max-depth: [2, 3] */\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(408)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, Logger) {\n\t\n\t var Util = {};\n\t var _ = Okta._;\n\t\n\t Util.hasTokensInHash = function (hash) {\n\t return (/((id|access)_token=)/i.test(hash)\n\t );\n\t };\n\t\n\t Util.transformErrorXHR = function (xhr) {\n\t // Handle network connection error\n\t if (xhr.status === 0 && _.isEmpty(xhr.responseJSON)) {\n\t xhr.responseJSON = { errorSummary: Okta.loc('error.network.connection', 'login') };\n\t return xhr;\n\t }\n\t if (!xhr.responseJSON) {\n\t try {\n\t xhr.responseJSON = JSON.parse(xhr.responseText);\n\t } catch (parseException) {\n\t xhr.responseJSON = { errorSummary: Okta.loc('oform.error.unexpected', 'login') };\n\t return xhr;\n\t }\n\t }\n\t // Temporary solution to display field errors\n\t // Assuming there is only one field error in a response\n\t if (xhr.responseJSON && xhr.responseJSON.errorCauses && xhr.responseJSON.errorCauses.length) {\n\t xhr.responseJSON.errorSummary = xhr.responseJSON.errorCauses[0].errorSummary;\n\t }\n\t // Replace error messages\n\t if (!_.isEmpty(xhr.responseJSON)) {\n\t var errorMsg = Okta.loc('errors.' + xhr.responseJSON.errorCode, 'login');\n\t if (errorMsg.indexOf('L10N_ERROR[') === -1) {\n\t xhr.responseJSON.errorSummary = errorMsg;\n\t if (xhr.responseJSON && xhr.responseJSON.errorCauses && xhr.responseJSON.errorCauses.length) {\n\t // BaseForm will consume errorCauses before errorSummary if it is an array,\n\t // so, we have to make sure to remove it when we have a valid error code\n\t delete xhr.responseJSON.errorCauses;\n\t }\n\t }\n\t }\n\t return xhr;\n\t };\n\t\n\t // Simple helper function to lowercase all strings in the given array\n\t Util.toLower = function (strings) {\n\t return _.map(strings, function (str) {\n\t return str.toLowerCase();\n\t });\n\t };\n\t\n\t // A languageCode can be composed of multiple parts, i.e:\n\t // {{langage}}-{{region}}-{{dialect}}\n\t //\n\t // In these cases, it's necessary to generate a list of other possible\n\t // combinations that we might support (in preferred order).\n\t //\n\t // For example:\n\t // en-US -> [en-US, en]\n\t // de-DE-bavarian -> [de-DE-bavarian, de-DE, de]\n\t function expandLanguage(language) {\n\t var expanded = [language],\n\t parts = language.split('-');\n\t while (parts.pop() && parts.length > 0) {\n\t expanded.push(parts.join('-'));\n\t }\n\t return expanded;\n\t }\n\t\n\t // Following the rules of expanding one language, this will generate\n\t // all potential languages in the given order (where higher priority is\n\t // given to expanded languages over other downstream languages).\n\t Util.expandLanguages = function (languages) {\n\t return _.chain(languages).map(expandLanguage).flatten().uniq().value();\n\t };\n\t\n\t //helper to call setTimeout\n\t Util.callAfterTimeout = function (callback, time) {\n\t return setTimeout(callback, time);\n\t };\n\t\n\t // Helper function to provide consistent formatting of template literals\n\t // that are logged when in development mode.\n\t Util.debugMessage = function (message) {\n\t Logger.warn('\\n' + message.replace(/^(\\s)+/gm, ''));\n\t };\n\t\n\t return Util;\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 438 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t/* eslint max-params: [2, 50] */\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(448), __webpack_require__(548), __webpack_require__(485), __webpack_require__(502), __webpack_require__(505), __webpack_require__(513), __webpack_require__(522), __webpack_require__(524), __webpack_require__(526), __webpack_require__(527), __webpack_require__(530), __webpack_require__(531), __webpack_require__(532), __webpack_require__(533), __webpack_require__(537), __webpack_require__(538), __webpack_require__(539), __webpack_require__(540), __webpack_require__(543), __webpack_require__(544), __webpack_require__(545), __webpack_require__(546), __webpack_require__(547), __webpack_require__(439), __webpack_require__(551), __webpack_require__(553), __webpack_require__(555), __webpack_require__(556), __webpack_require__(557), __webpack_require__(560), __webpack_require__(561), __webpack_require__(563), __webpack_require__(564), __webpack_require__(565), __webpack_require__(566), __webpack_require__(567), __webpack_require__(568), __webpack_require__(569), __webpack_require__(570), __webpack_require__(571), __webpack_require__(572), __webpack_require__(577), __webpack_require__(578), __webpack_require__(455), __webpack_require__(581), __webpack_require__(584)], __WEBPACK_AMD_DEFINE_RESULT__ = function (BaseLoginRouter, IDPDiscoveryController, PrimaryAuthController, VerifyDuoController, MfaVerifyController, VerifyWindowsHelloController, VerifyU2FController, VerifyWebauthnController, VerifyCustomFactorController, EnrollChoicesController, EnrollDuoController, EnrollQuestionController, EnrollWindowsHelloController, EnrollCallAndSmsController, EnrollOnPremController, EnrollSymantecVipController, EnrollYubikeyController, EnrollTotpController, EnrollU2FController, EnrollWebauthnController, EnrollCustomFactorController, BarcodeTotpController, BarcodePushController, ActivateTotpController, ManualSetupTotpController, ManualSetupPushController, EnrollmentLinkSentController, EnterPasscodePushFlowController, PasswordExpiredController, CustomPasswordExpiredController, ForgotPasswordController, RecoveryChallengeController, PwdResetEmailSentController, RecoveryQuestionController, PasswordResetController, RecoveryLoadingController, UnlockAccountController, AccountUnlockedController, UnlockEmailSentController, RefreshAuthStateController, RegistrationController, RegistrationCompleteController, ConsentRequiredController, SecurityBeacon, FactorBeacon, ConsentBeacon) {\n\t return BaseLoginRouter.extend({\n\t\n\t routes: {\n\t '': 'defaultAuth',\n\t 'signin': 'primaryAuth',\n\t 'signin/verify/duo/web': 'verifyDuo',\n\t 'signin/verify/fido/webauthn': 'verifyWebauthn',\n\t 'signin/verify/fido/u2f': 'verifyU2F',\n\t 'signin/verify/generic_saml/assertion:saml2': 'verifySAMLFactor',\n\t 'signin/verify/generic_oidc/assertion:oidc': 'verifyOIDCFactor',\n\t 'signin/verify/:provider/:factorType': 'verify',\n\t 'signin/enroll': 'enrollChoices',\n\t 'signin/enroll/duo/web': 'enrollDuo',\n\t 'signin/enroll/okta/question': 'enrollQuestion',\n\t 'signin/enroll/okta/sms': 'enrollSms',\n\t 'signin/enroll/okta/call': 'enrollCall',\n\t 'signin/enroll-activate/okta/sms': 'enrollSms',\n\t 'signin/enroll/rsa/token': 'enrollRsa',\n\t 'signin/enroll/del_oath/token': 'enrollOnPrem',\n\t 'signin/enroll/symantec/token': 'enrollSymantecVip',\n\t 'signin/enroll/yubico/token:hardware': 'enrollYubikey',\n\t 'signin/enroll/fido/webauthn': 'enrollWebauthn',\n\t 'signin/enroll/fido/u2f': 'enrollU2F',\n\t 'signin/enroll/generic_saml/assertion:saml2': 'enrollSAMLFactor',\n\t 'signin/enroll/generic_oidc/assertion:oidc': 'enrollOIDCFactor',\n\t 'signin/enroll/:provider/:factorType': 'enrollTotpFactor',\n\t 'signin/enroll-activate/okta/push': 'scanBarcodePushFactor',\n\t 'signin/enroll-activate/okta/push/manual': 'manualSetupPushFactor',\n\t 'signin/enroll-activate/okta/push/sent': 'activationLinkSent',\n\t 'signin/enroll-activate/okta/token:software:totp/passcode': 'enterPasscodeInPushEnrollmentFlow',\n\t 'signin/enroll-activate/:provider/:factorType': 'scanBarcodeTotpFactor',\n\t 'signin/enroll-activate/:provider/:factorType/activate': 'activateTotpFactor',\n\t 'signin/enroll-activate/:provider/:factorType/manual': 'manualSetupTotpFactor',\n\t 'signin/password-expired': 'passwordExpired',\n\t 'signin/custom-password-expired': 'customPasswordExpired',\n\t 'signin/forgot-password': 'forgotPassword',\n\t 'signin/recovery-challenge': 'recoveryChallenge',\n\t 'signin/recovery-emailed': 'recoveryEmailSent',\n\t 'signin/recovery-question': 'recoveryQuestion',\n\t 'signin/password-reset': 'passwordReset',\n\t 'signin/reset-password/:token': 'recoveryLoading',\n\t 'signin/user-unlock/:token': 'recoveryLoading',\n\t 'signin/recovery/:token': 'recoveryLoading',\n\t 'signin/unlock-emailed': 'unlockEmailSent',\n\t 'signin/unlock': 'unlockAccount',\n\t 'signin/account-unlocked': 'accountUnlocked',\n\t 'signin/refresh-auth-state(/:token)': 'refreshAuthState',\n\t 'signin/register': 'register',\n\t 'signin/register-complete': 'registerComplete',\n\t 'signin/consent': 'consentRequired',\n\t '*wildcard': 'defaultAuth'\n\t },\n\t\n\t // Route handlers that do not require a stateToken. If the page is refreshed,\n\t // these functions will not require a status call to refresh the stateToken.\n\t stateLessRouteHandlers: ['defaultAuth', 'idpDiscovery', 'primaryAuth', 'forgotPassword', 'recoveryLoading', 'unlockAccount', 'refreshAuthState', 'register', 'registerComplete'],\n\t\n\t defaultAuth: function defaultAuth() {\n\t if (this.settings.get('features.idpDiscovery')) {\n\t this.idpDiscovery();\n\t } else {\n\t this.primaryAuth();\n\t }\n\t },\n\t\n\t idpDiscovery: function idpDiscovery() {\n\t this.render(IDPDiscoveryController, { Beacon: SecurityBeacon });\n\t },\n\t\n\t primaryAuth: function primaryAuth() {\n\t this.render(PrimaryAuthController, { Beacon: SecurityBeacon });\n\t },\n\t\n\t verifyDuo: function verifyDuo() {\n\t this.render(VerifyDuoController, {\n\t provider: 'DUO',\n\t factorType: 'web',\n\t Beacon: FactorBeacon\n\t });\n\t },\n\t\n\t verifyWebauthn: function verifyWebauthn() {\n\t if (this.settings.get('features.webauthn')) {\n\t this.render(VerifyWebauthnController, {\n\t provider: 'FIDO',\n\t factorType: 'webauthn',\n\t Beacon: FactorBeacon\n\t });\n\t } else {\n\t this.render(VerifyWindowsHelloController, {\n\t provider: 'FIDO',\n\t factorType: 'webauthn',\n\t Beacon: FactorBeacon\n\t });\n\t }\n\t },\n\t\n\t verifyU2F: function verifyU2F() {\n\t this.render(VerifyU2FController, {\n\t provider: 'FIDO',\n\t factorType: 'u2f',\n\t Beacon: FactorBeacon\n\t });\n\t },\n\t\n\t verifySAMLFactor: function verifySAMLFactor() {\n\t this.render(VerifyCustomFactorController, {\n\t provider: 'GENERIC_SAML',\n\t factorType: 'assertion:saml2',\n\t Beacon: FactorBeacon\n\t });\n\t },\n\t\n\t verifyOIDCFactor: function verifyOIDCFactor() {\n\t this.render(VerifyCustomFactorController, {\n\t provider: 'GENERIC_OIDC',\n\t factorType: 'assertion:oidc',\n\t Beacon: FactorBeacon\n\t });\n\t },\n\t\n\t verify: function verify(provider, factorType) {\n\t this.render(MfaVerifyController, {\n\t provider: provider.toUpperCase(),\n\t factorType: factorType,\n\t Beacon: FactorBeacon\n\t });\n\t },\n\t\n\t enrollChoices: function enrollChoices() {\n\t this.render(EnrollChoicesController, { Beacon: SecurityBeacon });\n\t },\n\t\n\t enrollDuo: function enrollDuo() {\n\t this.render(EnrollDuoController, {\n\t provider: 'DUO',\n\t factorType: 'web',\n\t Beacon: FactorBeacon\n\t });\n\t },\n\t\n\t enrollQuestion: function enrollQuestion() {\n\t this.render(EnrollQuestionController, {\n\t provider: 'OKTA',\n\t factorType: 'question',\n\t Beacon: FactorBeacon\n\t });\n\t },\n\t\n\t enrollSms: function enrollSms() {\n\t this.render(EnrollCallAndSmsController, {\n\t provider: 'OKTA',\n\t factorType: 'sms',\n\t Beacon: FactorBeacon\n\t });\n\t },\n\t\n\t enrollCall: function enrollCall() {\n\t this.render(EnrollCallAndSmsController, {\n\t provider: 'OKTA',\n\t factorType: 'call',\n\t Beacon: FactorBeacon\n\t });\n\t },\n\t\n\t enrollRsa: function enrollRsa() {\n\t this.render(EnrollOnPremController, {\n\t provider: 'RSA',\n\t factorType: 'token',\n\t Beacon: FactorBeacon\n\t });\n\t },\n\t\n\t enrollOnPrem: function enrollOnPrem() {\n\t this.render(EnrollOnPremController, {\n\t provider: 'DEL_OATH',\n\t factorType: 'token',\n\t Beacon: FactorBeacon\n\t });\n\t },\n\t\n\t enrollSymantecVip: function enrollSymantecVip() {\n\t this.render(EnrollSymantecVipController, {\n\t provider: 'SYMANTEC',\n\t factorType: 'token',\n\t Beacon: FactorBeacon\n\t });\n\t },\n\t\n\t enrollYubikey: function enrollYubikey() {\n\t this.render(EnrollYubikeyController, {\n\t provider: 'YUBICO',\n\t factorType: 'token:hardware',\n\t Beacon: FactorBeacon\n\t });\n\t },\n\t\n\t enrollSAMLFactor: function enrollSAMLFactor() {\n\t this.render(EnrollCustomFactorController, {\n\t provider: 'GENERIC_SAML',\n\t factorType: 'assertion:saml2',\n\t Beacon: FactorBeacon\n\t });\n\t },\n\t\n\t enrollOIDCFactor: function enrollOIDCFactor() {\n\t this.render(EnrollCustomFactorController, {\n\t provider: 'GENERIC_OIDC',\n\t factorType: 'assertion:oidc',\n\t Beacon: FactorBeacon\n\t });\n\t },\n\t\n\t enrollTotpFactor: function enrollTotpFactor(provider, factorType) {\n\t this.render(EnrollTotpController, {\n\t provider: provider.toUpperCase(),\n\t factorType: factorType,\n\t Beacon: FactorBeacon\n\t });\n\t },\n\t\n\t enrollWebauthn: function enrollWebauthn() {\n\t if (this.settings.get('features.webauthn')) {\n\t this.render(EnrollWebauthnController, {\n\t provider: 'FIDO',\n\t factorType: 'webauthn',\n\t Beacon: FactorBeacon\n\t });\n\t } else {\n\t this.render(EnrollWindowsHelloController, {\n\t provider: 'FIDO',\n\t factorType: 'webauthn',\n\t Beacon: FactorBeacon\n\t });\n\t }\n\t },\n\t\n\t enrollU2F: function enrollU2F() {\n\t this.render(EnrollU2FController, {\n\t provider: 'FIDO',\n\t factorType: 'u2f',\n\t Beacon: FactorBeacon\n\t });\n\t },\n\t\n\t scanBarcodeTotpFactor: function scanBarcodeTotpFactor(provider, factorType) {\n\t this.render(BarcodeTotpController, {\n\t provider: provider.toUpperCase(),\n\t factorType: factorType,\n\t Beacon: FactorBeacon\n\t });\n\t },\n\t\n\t scanBarcodePushFactor: function scanBarcodePushFactor() {\n\t this.render(BarcodePushController, {\n\t provider: 'OKTA',\n\t factorType: 'push',\n\t Beacon: FactorBeacon\n\t });\n\t },\n\t\n\t activateTotpFactor: function activateTotpFactor(provider, factorType) {\n\t this.render(ActivateTotpController, {\n\t provider: provider.toUpperCase(),\n\t factorType: factorType,\n\t Beacon: FactorBeacon\n\t });\n\t },\n\t\n\t manualSetupTotpFactor: function manualSetupTotpFactor(provider, factorType) {\n\t this.render(ManualSetupTotpController, {\n\t provider: provider.toUpperCase(),\n\t factorType: factorType,\n\t Beacon: FactorBeacon\n\t });\n\t },\n\t\n\t manualSetupPushFactor: function manualSetupPushFactor() {\n\t this.render(ManualSetupPushController, {\n\t provider: 'OKTA',\n\t factorType: 'push',\n\t Beacon: FactorBeacon\n\t });\n\t },\n\t\n\t activationLinkSent: function activationLinkSent() {\n\t this.render(EnrollmentLinkSentController, {\n\t provider: 'OKTA',\n\t factorType: 'push',\n\t Beacon: FactorBeacon\n\t });\n\t },\n\t\n\t enterPasscodeInPushEnrollmentFlow: function enterPasscodeInPushEnrollmentFlow() {\n\t this.render(EnterPasscodePushFlowController, {\n\t provider: 'OKTA',\n\t factorType: 'token:software:totp',\n\t Beacon: FactorBeacon\n\t });\n\t },\n\t\n\t passwordExpired: function passwordExpired() {\n\t this.render(PasswordExpiredController, { Beacon: SecurityBeacon });\n\t },\n\t\n\t customPasswordExpired: function customPasswordExpired() {\n\t this.render(CustomPasswordExpiredController, { Beacon: SecurityBeacon });\n\t },\n\t\n\t forgotPassword: function forgotPassword() {\n\t this.render(ForgotPasswordController);\n\t },\n\t\n\t recoveryChallenge: function recoveryChallenge() {\n\t this.render(RecoveryChallengeController, { Beacon: SecurityBeacon });\n\t },\n\t\n\t recoveryEmailSent: function recoveryEmailSent() {\n\t this.render(PwdResetEmailSentController, { Beacon: SecurityBeacon });\n\t },\n\t\n\t unlockEmailSent: function unlockEmailSent() {\n\t this.render(UnlockEmailSentController, { Beacon: SecurityBeacon });\n\t },\n\t\n\t recoveryQuestion: function recoveryQuestion() {\n\t this.render(RecoveryQuestionController, { Beacon: SecurityBeacon });\n\t },\n\t\n\t passwordReset: function passwordReset() {\n\t this.render(PasswordResetController, { Beacon: SecurityBeacon });\n\t },\n\t\n\t recoveryLoading: function recoveryLoading(token) {\n\t this.render(RecoveryLoadingController, {\n\t token: token,\n\t Beacon: SecurityBeacon\n\t });\n\t },\n\t\n\t unlockAccount: function unlockAccount() {\n\t this.render(UnlockAccountController);\n\t },\n\t\n\t accountUnlocked: function accountUnlocked() {\n\t this.render(AccountUnlockedController, { Beacon: SecurityBeacon });\n\t },\n\t\n\t refreshAuthState: function refreshAuthState(token) {\n\t this.render(RefreshAuthStateController, {\n\t token: token,\n\t Beacon: SecurityBeacon\n\t });\n\t },\n\t\n\t register: function register() {\n\t this.render(RegistrationController);\n\t },\n\t\n\t registerComplete: function registerComplete() {\n\t this.render(RegistrationCompleteController);\n\t },\n\t\n\t consentRequired: function consentRequired() {\n\t this.render(ConsentRequiredController, { Beacon: ConsentBeacon });\n\t }\n\t\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 439 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(440), __webpack_require__(444), __webpack_require__(447)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, FormController, EnterPasscodeForm, Footer) {\n\t\n\t return FormController.extend({\n\t className: 'activate-totp',\n\t Model: function Model() {\n\t return {\n\t props: {\n\t factorId: ['string', true, this.options.appState.get('activatedFactorId')],\n\t passCode: ['string', true]\n\t },\n\t local: {\n\t '__factorType__': ['string', false, this.options.factorType],\n\t '__provider__': ['string', false, this.options.provider]\n\t },\n\t save: function save() {\n\t return this.doTransaction(function (transaction) {\n\t return transaction.activate({\n\t passCode: this.get('passCode')\n\t });\n\t });\n\t }\n\t };\n\t },\n\t\n\t Form: EnterPasscodeForm,\n\t\n\t Footer: Footer\n\t\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 440 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(441), __webpack_require__(442), __webpack_require__(443)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, FormType, BaseLoginController, BaseLoginModel) {\n\t var Toolbar = Okta.internal.views.forms.components.Toolbar;\n\t var FormUtil = Okta.internal.views.forms.helpers.FormUtil;\n\t\n\t var _ = Okta._;\n\t\n\t var SimpleForm = Okta.Form.extend({\n\t layout: 'o-form-theme',\n\t noCancelButton: true,\n\t constructor: function constructor(options) {\n\t Okta.Form.call(this, options);\n\t _.each(_.result(this, 'formChildren') || [], function (child) {\n\t switch (child.type) {\n\t case FormType.INPUT:\n\t this.addInput(_.extend({\n\t label: false,\n\t 'label-top': true\n\t }, child.viewOptions));\n\t break;\n\t case FormType.BUTTON:\n\t this.add(Okta.createButton(_.extend({ model: this.model }, child.viewOptions)), child.addOptions);\n\t FormUtil.applyShowWhen(this.last(), child.viewOptions && child.viewOptions.showWhen);\n\t break;\n\t case FormType.DIVIDER:\n\t this.addDivider(child.viewOptions);\n\t break;\n\t case FormType.TOOLBAR:\n\t this.add(Toolbar, { options: child.viewOptions });\n\t FormUtil.applyShowWhen(this.last(), child.viewOptions && child.viewOptions.showWhen);\n\t break;\n\t case FormType.VIEW:\n\t this.add(child.viewOptions.View, child.addOptions);\n\t FormUtil.applyShowWhen(this.last(), child.viewOptions.showWhen);\n\t break;\n\t default:\n\t throw new Error('Unrecognized child type: ' + child.type);\n\t }\n\t }, this);\n\t }\n\t });\n\t\n\t return BaseLoginController.extend({\n\t\n\t constructor: function constructor() {\n\t var initialize = this.initialize;\n\t this.initialize = function () {};\n\t\n\t BaseLoginController.apply(this, arguments);\n\t\n\t if (this.Model && this.Form) {\n\t var Model = BaseLoginModel.extend(_.extend({\n\t parse: function parse(attributes) {\n\t this.settings = attributes.settings;\n\t this.appState = attributes.appState;\n\t return _.omit(attributes, ['settings', 'appState']);\n\t }\n\t }, _.result(this, 'Model')));\n\t this.model = new Model({\n\t settings: this.settings,\n\t appState: this.options.appState\n\t }, { parse: true });\n\t var Form = SimpleForm.extend(_.result(this, 'Form', this));\n\t this.form = new Form(this.toJSON());\n\t this.add(this.form);\n\t }\n\t\n\t if (this.Footer) {\n\t this.footer = new this.Footer(this.toJSON());\n\t this.add(this.footer);\n\t }\n\t\n\t this.addListeners();\n\t initialize.apply(this, arguments);\n\t },\n\t\n\t toJSON: function toJSON() {\n\t var data = BaseLoginController.prototype.toJSON.apply(this, arguments);\n\t return _.extend(_.pick(this.options, 'appState'), data);\n\t },\n\t\n\t back: function back() {\n\t if (this.footer && this.footer.back) {\n\t this.footer.back();\n\t }\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 441 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_RESULT__ = function () {\n\t\n\t // Syntactic sugar to provide some structure to SimpleForm inputs - Just\n\t // wraps options with { type: type, viewOptions: viewOptions, addOptions: addOptions }\n\t\n\t var INPUT = 'INPUT';\n\t var BUTTON = 'BUTTON';\n\t var DIVIDER = 'DIVIDER';\n\t var TOOLBAR = 'TOOLBAR';\n\t var VIEW = 'VIEW';\n\t\n\t function wrap(type) {\n\t return function (viewOptions, addOptions) {\n\t return { type: type, viewOptions: viewOptions, addOptions: addOptions };\n\t };\n\t }\n\t\n\t return {\n\t Input: wrap(INPUT),\n\t Button: wrap(BUTTON),\n\t Divider: wrap(DIVIDER),\n\t Toolbar: wrap(TOOLBAR),\n\t View: wrap(VIEW),\n\t\n\t INPUT: INPUT,\n\t BUTTON: BUTTON,\n\t DIVIDER: DIVIDER,\n\t TOOLBAR: TOOLBAR,\n\t VIEW: VIEW\n\t };\n\t}.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 442 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(406)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, Q) {\n\t var _ = Okta._;\n\t\n\t function getForm(controller) {\n\t return _.find(controller.getChildren(), function (item) {\n\t return item instanceof Okta.Form;\n\t });\n\t }\n\t\n\t return Okta.Controller.extend({\n\t\n\t // Ideally we should be attaching the listeners in the constructor, but because of the way\n\t // we construct the FormController (this.model is generated after the BaseLoginController's\n\t // constructor is called), this.model is undefined in when try to attach the events and\n\t // therefore we don't listen to events for such forms. And changing the order in which we call\n\t // the constructor doesn't help either (JS errors etc.). This at least guarantees that we\n\t // are listening to the model events.\n\t // Note - Figure out a way to call the constructor in the right order.\n\t addListeners: function addListeners() {\n\t // Events to enable/disable the primary button on the forms\n\t this.listenTo(this.model, 'save', function () {\n\t //disable the submit button on forms while making the request\n\t //to prevent users from hitting rate limiting exceptions of\n\t //1 per second on the auth api\n\t var form = getForm(this);\n\t var disableSubmitButton = form.disableSubmitButton;\n\t if (disableSubmitButton && !form.disableSubmitButton()) {\n\t return;\n\t }\n\t this.toggleButtonState(true);\n\t });\n\t\n\t this.listenTo(this.model, 'error', function () {\n\t this.toggleButtonState(false);\n\t });\n\t\n\t this.addModelListeners(this.model);\n\t },\n\t\n\t addModelListeners: function addModelListeners(model) {\n\t var setTransactionHandler = _.bind(function (transaction) {\n\t this.options.appState.set('transaction', transaction);\n\t }, this);\n\t var transactionErrorHandler = _.bind(function (err) {\n\t this.options.appState.set('transactionError', err);\n\t }, this);\n\t\n\t // Events to set the transaction attributes on the app state.\n\t this.listenTo(model, 'setTransaction', setTransactionHandler);\n\t this.listenTo(model, 'setTransactionError', transactionErrorHandler);\n\t\n\t // For TOTP factor model\n\t // TOTP model is special, its model will not be attached to a controller, but will\n\t // tag along with the push factor model. We need to listen to the transaction\n\t // changes on this as well (in case of the push+totp form).\n\t var totpModel = model.get('backupFactor');\n\t if (totpModel) {\n\t this.listenTo(totpModel, 'setTransaction', setTransactionHandler);\n\t this.listenTo(totpModel, 'setTransactionError', transactionErrorHandler);\n\t }\n\t },\n\t\n\t // Override this method to delay switching to this screen until return\n\t // promise is resolved. This is useful for cases like enrolling a security\n\t // question, which requires an additional request to fetch the question\n\t // list.\n\t fetchInitialData: function fetchInitialData() {\n\t return Q();\n\t },\n\t\n\t // Override this method to prevent route navigation. This is useful for\n\t // intermediate status changes that do not trigger a full refresh of the\n\t // page, like MFA_ENROLL_ACTIVATE and MFA_CHALLENGE.\n\t trapAuthResponse: function trapAuthResponse() {\n\t return false;\n\t },\n\t\n\t toJSON: function toJSON() {\n\t var data = Okta.Controller.prototype.toJSON.apply(this, arguments);\n\t return _.extend(_.pick(this.options, 'appState'), data);\n\t },\n\t\n\t toggleButtonState: function toggleButtonState(state) {\n\t var button = this.$el.find('.button');\n\t button.toggleClass('link-button-disabled', state).prop('disabled', state);\n\t },\n\t\n\t postRenderAnimation: function postRenderAnimation() {\n\t // Event triggered after a page is rendered along with the classname to identify the page\n\t this.trigger('pageRendered', { page: this.className });\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 443 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(406), __webpack_require__(413)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, Q, Enums) {\n\t\n\t var _ = Okta._;\n\t var KNOWN_ERRORS = ['OAuthError', 'AuthSdkError', 'AuthPollStopError', 'AuthApiError'];\n\t\n\t return Okta.Model.extend({\n\t doTransaction: function doTransaction(fn, rethrow) {\n\t var self = this;\n\t return fn.call(this, this.appState.get('transaction')).then(function (trans) {\n\t self.trigger('setTransaction', trans);\n\t return trans;\n\t }).fail(function (err) {\n\t // Q may still consider AuthPollStopError to be unhandled\n\t if (err.name === 'AuthPollStopError' || err.name === Enums.AUTH_STOP_POLL_INITIATION_ERROR) {\n\t return;\n\t }\n\t self.trigger('setTransactionError', err);\n\t self.trigger('error', self, err.xhr);\n\t if (rethrow || _.indexOf(KNOWN_ERRORS, err.name) === -1) {\n\t throw err;\n\t }\n\t });\n\t },\n\t\n\t manageTransaction: function manageTransaction(fn) {\n\t var self = this,\n\t res = fn.call(this, this.appState.get('transaction'), _.bind(this.setTransaction, this));\n\t\n\t // If it's a promise, listen for failures\n\t if (Q.isPromiseAlike(res)) {\n\t return res.fail(function (err) {\n\t if (err.name === 'AuthPollStopError' || err.name === Enums.AUTH_STOP_POLL_INITIATION_ERROR) {\n\t return;\n\t }\n\t self.trigger('setTransactionError', err);\n\t self.trigger('error', self, err.xhr);\n\t });\n\t }\n\t\n\t return Q.resolve(res);\n\t },\n\t\n\t startTransaction: function startTransaction(fn) {\n\t var self = this,\n\t res = fn.call(this, this.settings.getAuthClient());\n\t\n\t // If it's a promise, then chain to it\n\t if (Q.isPromiseAlike(res)) {\n\t return res.then(function (trans) {\n\t self.trigger('setTransaction', trans);\n\t return trans;\n\t }).fail(function (err) {\n\t self.trigger('setTransactionError', err);\n\t self.trigger('error', self, err.xhr);\n\t throw err;\n\t });\n\t }\n\t\n\t return Q.resolve(res);\n\t },\n\t\n\t setTransaction: function setTransaction(trans) {\n\t this.appState.set('transaction', trans);\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 444 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(445), __webpack_require__(441), __webpack_require__(446)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, FactorUtil, FormType, TextBox) {\n\t\n\t var _ = Okta._;\n\t\n\t var form = {\n\t title: function title() {\n\t var factorName = FactorUtil.getFactorLabel(this.model.get('__provider__'), this.model.get('__factorType__'));\n\t return Okta.loc('enroll.totp.title', 'login', [factorName]);\n\t },\n\t subtitle: _.partial(Okta.loc, 'enroll.totp.enterCode', 'login'),\n\t autoSave: true,\n\t noButtonBar: true,\n\t attributes: { 'data-se': 'step-sendcode' },\n\t\n\t formChildren: function formChildren() {\n\t return [FormType.Input({\n\t name: 'passCode',\n\t input: TextBox,\n\t type: 'tel',\n\t placeholder: Okta.loc('mfa.challenge.enterCode.placeholder', 'login'),\n\t params: {\n\t innerTooltip: Okta.loc('mfa.challenge.enterCode.tooltip', 'login')\n\t }\n\t }), FormType.Toolbar({\n\t noCancelButton: true,\n\t save: Okta.loc('oform.verify', 'login')\n\t })];\n\t }\n\t };\n\t\n\t return form;\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 445 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t/* eslint complexity: [2, 35], max-statements: [2, 36] */\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta) {\n\t var TimeUtil = Okta.internal.util.TimeUtil;\n\t\n\t\n\t var _ = Okta._;\n\t\n\t var fn = {};\n\t\n\t var factorData = {\n\t 'OKTA_VERIFY': {\n\t label: 'factor.totpSoft.oktaVerify',\n\t description: 'factor.totpSoft.description',\n\t iconClassName: 'mfa-okta-verify',\n\t sortOrder: 1\n\t },\n\t 'OKTA_VERIFY_PUSH': {\n\t label: 'factor.oktaVerifyPush',\n\t description: 'factor.push.description',\n\t iconClassName: 'mfa-okta-verify',\n\t sortOrder: 1\n\t },\n\t 'U2F': {\n\t label: 'factor.u2f',\n\t description: 'factor.u2f.description',\n\t iconClassName: 'mfa-u2f',\n\t sortOrder: 2\n\t },\n\t 'WINDOWS_HELLO': {\n\t label: 'factor.windowsHello',\n\t description: 'factor.windowsHello.signin.description',\n\t iconClassName: 'mfa-windows-hello',\n\t sortOrder: 3\n\t },\n\t 'YUBIKEY': {\n\t label: 'factor.totpHard.yubikey',\n\t description: 'factor.totpHard.yubikey.description',\n\t iconClassName: 'mfa-yubikey',\n\t sortOrder: 4\n\t },\n\t 'GOOGLE_AUTH': {\n\t label: 'factor.totpSoft.googleAuthenticator',\n\t description: 'factor.totpSoft.description',\n\t iconClassName: 'mfa-google-auth',\n\t sortOrder: 5\n\t },\n\t 'SMS': {\n\t label: 'factor.sms',\n\t description: 'factor.sms.description',\n\t iconClassName: 'mfa-okta-sms',\n\t sortOrder: 6\n\t },\n\t 'CALL': {\n\t label: 'factor.call',\n\t description: 'factor.call.description',\n\t iconClassName: 'mfa-okta-call',\n\t sortOrder: 7\n\t },\n\t 'EMAIL': {\n\t label: 'factor.email',\n\t description: '',\n\t iconClassName: 'mfa-okta-email',\n\t sortOrder: 8\n\t },\n\t 'QUESTION': {\n\t label: 'factor.securityQuestion',\n\t description: 'factor.securityQuestion.description',\n\t iconClassName: 'mfa-okta-security-question',\n\t sortOrder: 9\n\t },\n\t 'DUO': {\n\t label: 'factor.duo',\n\t description: 'factor.duo.description',\n\t iconClassName: 'mfa-duo',\n\t sortOrder: 10\n\t },\n\t 'SYMANTEC_VIP': {\n\t label: 'factor.totpHard.symantecVip',\n\t description: 'factor.totpHard.description',\n\t iconClassName: 'mfa-symantec',\n\t sortOrder: 11\n\t },\n\t 'RSA_SECURID': {\n\t label: 'factor.totpHard.rsaSecurId',\n\t description: 'factor.totpHard.description',\n\t iconClassName: 'mfa-rsa',\n\t sortOrder: 12\n\t },\n\t 'ON_PREM': {\n\t label: '',\n\t description: 'factor.totpHard.description',\n\t iconClassName: 'mfa-onprem',\n\t sortOrder: 13\n\t },\n\t 'PASSWORD': {\n\t label: 'factor.password',\n\t description: '',\n\t iconClassName: 'mfa-okta-password',\n\t sortOrder: 14\n\t },\n\t 'GENERIC_SAML': {\n\t label: '',\n\t description: 'factor.customFactor.description',\n\t iconClassName: 'mfa-custom-factor',\n\t sortOrder: 15\n\t },\n\t 'GENERIC_OIDC': {\n\t label: '',\n\t description: 'factor.customFactor.description',\n\t iconClassName: 'mfa-custom-factor',\n\t sortOrder: 16\n\t }\n\t };\n\t\n\t fn.getFactorName = function (provider, factorType) {\n\t if (provider === 'OKTA' && factorType === 'token:software:totp') {\n\t return 'OKTA_VERIFY';\n\t }\n\t if (provider === 'OKTA' && factorType === 'push') {\n\t return 'OKTA_VERIFY_PUSH';\n\t }\n\t if (provider === 'GOOGLE') {\n\t return 'GOOGLE_AUTH';\n\t }\n\t if (provider === 'SYMANTEC' && factorType === 'token') {\n\t return 'SYMANTEC_VIP';\n\t }\n\t if (provider === 'RSA' && factorType === 'token') {\n\t return 'RSA_SECURID';\n\t }\n\t if (provider === 'DEL_OATH' && factorType === 'token') {\n\t return 'ON_PREM';\n\t }\n\t if (provider === 'DUO' && factorType === 'web') {\n\t return 'DUO';\n\t }\n\t if (provider === 'YUBICO' && factorType === 'token:hardware') {\n\t return 'YUBIKEY';\n\t }\n\t if (provider === 'OKTA' && factorType === 'sms') {\n\t return 'SMS';\n\t }\n\t if (provider === 'OKTA' && factorType === 'call') {\n\t return 'CALL';\n\t }\n\t if (provider === 'OKTA' && factorType === 'question') {\n\t return 'QUESTION';\n\t }\n\t if (provider === 'FIDO' && factorType === 'webauthn') {\n\t if (this.settings.get('features.webauthn')) {\n\t return 'U2F';\n\t } else {\n\t return 'WINDOWS_HELLO';\n\t }\n\t }\n\t if (provider === 'FIDO' && factorType === 'u2f') {\n\t return 'U2F';\n\t }\n\t if (provider === 'OKTA' && factorType === 'email') {\n\t return 'EMAIL';\n\t }\n\t if (provider === 'OKTA' && factorType === 'password') {\n\t return 'PASSWORD';\n\t }\n\t if (provider === 'GENERIC_SAML' && factorType === 'assertion:saml2') {\n\t return 'GENERIC_SAML';\n\t }\n\t if (provider === 'GENERIC_OIDC' && factorType === 'assertion:oidc') {\n\t return 'GENERIC_OIDC';\n\t }\n\t };\n\t\n\t fn.isOktaVerify = function (provider, factorType) {\n\t return provider === 'OKTA' && (factorType === 'token:software:totp' || factorType === 'push');\n\t };\n\t\n\t fn.getFactorLabel = function (provider, factorType) {\n\t var key = factorData[fn.getFactorName.apply(this, [provider, factorType])].label;\n\t return Okta.loc(key, 'login');\n\t };\n\t\n\t fn.getFactorDescription = function (provider, factorType) {\n\t var key = factorData[fn.getFactorName.apply(this, [provider, factorType])].description;\n\t return Okta.loc(key, 'login');\n\t };\n\t\n\t fn.getFactorIconClassName = function (provider, factorType) {\n\t return factorData[fn.getFactorName.apply(this, [provider, factorType])].iconClassName;\n\t };\n\t\n\t fn.getFactorSortOrder = function (provider, factorType) {\n\t return factorData[fn.getFactorName.apply(this, [provider, factorType])].sortOrder;\n\t };\n\t\n\t fn.getRememberDeviceValue = function (appState) {\n\t return appState && appState.get('rememberDeviceByDefault');\n\t };\n\t\n\t fn.getSecurityQuestionLabel = function (questionObj) {\n\t var localizedQuestion = Okta.loc('security.' + questionObj.question);\n\t return localizedQuestion.indexOf('L10N_ERROR') < 0 ? localizedQuestion : questionObj.questionText;\n\t };\n\t\n\t fn.getPasswordComplexityDescription = function (policy) {\n\t var result = [];\n\t\n\t var getPasswordAgeRequirement = function getPasswordAgeRequirement(displayableTime) {\n\t var propertiesString;\n\t switch (displayableTime.unit) {\n\t case 'DAY':\n\t propertiesString = 'password.complexity.minAgeDays';\n\t break;\n\t case 'HOUR':\n\t propertiesString = 'password.complexity.minAgeHours';\n\t break;\n\t case 'MINUTE':\n\t propertiesString = 'password.complexity.minAgeMinutes';\n\t }\n\t return Okta.loc(propertiesString, 'login', [displayableTime.time]);\n\t };\n\t\n\t var setExcludeAttributes = function setExcludeAttributes(policyComplexity) {\n\t var excludeAttributes = policyComplexity.excludeAttributes;\n\t policyComplexity.excludeFirstName = _.contains(excludeAttributes, 'firstName');\n\t policyComplexity.excludeLastName = _.contains(excludeAttributes, 'lastName');\n\t return _.omit(policyComplexity, 'excludeAttributes');\n\t };\n\t\n\t if (policy.complexity) {\n\t var complexityFields = {\n\t minLength: { i18n: 'password.complexity.length', args: true },\n\t minLowerCase: { i18n: 'password.complexity.lowercase' },\n\t minUpperCase: { i18n: 'password.complexity.uppercase' },\n\t minNumber: { i18n: 'password.complexity.number' },\n\t minSymbol: { i18n: 'password.complexity.symbol' },\n\t excludeUsername: { i18n: 'password.complexity.no_username' },\n\t excludeFirstName: { i18n: 'password.complexity.no_first_name' },\n\t excludeLastName: { i18n: 'password.complexity.no_last_name' }\n\t };\n\t\n\t var policyComplexity = setExcludeAttributes(policy.complexity);\n\t\n\t var requirements = _.map(policyComplexity, function (complexityValue, complexityType) {\n\t if (complexityValue <= 0) {\n\t // to skip 0 and -1\n\t return;\n\t }\n\t\n\t var params = complexityFields[complexityType];\n\t return params.args ? Okta.loc(params.i18n, 'login', [complexityValue]) : Okta.loc(params.i18n, 'login');\n\t });\n\t\n\t requirements = _.compact(requirements);\n\t\n\t if (requirements.length) {\n\t requirements = _.reduce(requirements, function (result, requirement) {\n\t return result ? result + Okta.loc('password.complexity.list.element', 'login', [requirement]) : requirement;\n\t });\n\t\n\t result.push(Okta.loc('password.complexity.requirements', 'login', [requirements]));\n\t }\n\t }\n\t\n\t if (policy.age && policy.age.historyCount > 0) {\n\t result.push(Okta.loc('password.complexity.history', 'login', [policy.age.historyCount]));\n\t }\n\t\n\t if (policy.age && policy.age.minAgeMinutes > 0) {\n\t var displayableTime = TimeUtil.getTimeInHighestRelevantUnit(policy.age.minAgeMinutes, 'MINUTE');\n\t var minAgeDescription = getPasswordAgeRequirement(displayableTime);\n\t result.push(minAgeDescription);\n\t }\n\t\n\t return result.join(' ');\n\t };\n\t\n\t return fn;\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 446 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t//note: not including Okta here and explicitly including jquery and Handlebars\n\t//because we want to be explicit about which TextBox we are extending here\n\t//and want to avoid the cirucular dependency that occurs if we\n\t//include Okta\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(409), __webpack_require__(412)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, BrowserFeatures) {\n\t var TextBox = Okta.internal.views.forms.inputs.TextBox;\n\t\n\t\n\t return TextBox.extend({\n\t postRender: function postRender() {\n\t if (this.options.type === 'number') {\n\t var input = this.$('input');\n\t input.attr({\n\t pattern: '[0-9]*',\n\t inputmode: 'numeric'\n\t });\n\t }\n\t TextBox.prototype.postRender.apply(this, arguments);\n\t },\n\t // Override the focus() to ignore focus in IE. IE (8-11) has a known bug where\n\t // the placeholder text disappears when the input field is focused.\n\t focus: function focus() {\n\t if (BrowserFeatures.isIE()) {\n\t return;\n\t }\n\t return TextBox.prototype.focus.apply(this, arguments);\n\t }\n\t\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 447 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(413)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, Enums) {\n\t\n\t return Okta.View.extend({\n\t template: '\\\n\t \\\n\t {{i18n code=\"mfa.backToFactors\" bundle=\"login\"}}\\\n\t \\\n\t ',\n\t className: 'auth-footer',\n\t events: {\n\t 'click .js-back': function clickJsBack(e) {\n\t e.preventDefault();\n\t this.back();\n\t }\n\t },\n\t\n\t back: function back() {\n\t this.state.set('navigateDir', Enums.DIRECTION_BACK);\n\t if (this.options.appState.get('prevLink')) {\n\t // Once we are in the MFA_ENROLL_ACTIVATE, we need to reset to the\n\t // correct state. Fortunately, this means that the router will\n\t // handle navigation once the request is finished.\n\t this.model.doTransaction(function (transaction) {\n\t return transaction.prev();\n\t });\n\t } else {\n\t this.options.appState.trigger('navigate', 'signin/enroll');\n\t }\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 448 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t/* eslint max-params: [2, 12], max-statements: [2, 18] */\n\t// BaseLoginRouter contains the more complicated router logic - rendering/\n\t// transition, etc. Most router changes should happen in LoginRouter (which is\n\t// responsible for adding new routes)\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(409), __webpack_require__(451), __webpack_require__(452), __webpack_require__(455), __webpack_require__(482), __webpack_require__(449), __webpack_require__(483), __webpack_require__(453), __webpack_require__(414), __webpack_require__(405), __webpack_require__(408)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, BrowserFeatures, Settings, Header, SecurityBeacon, AuthContainer, AppState, RouterUtil, Animations, Errors, Bundles, Logger) {\n\t var _ = Okta._,\n\t $ = Okta.$,\n\t Backbone = Okta.Backbone;\n\t\n\t\n\t function isStateLessRouteHandler(router, fn) {\n\t return _.find(router.stateLessRouteHandlers, function (routeName) {\n\t return fn === router[routeName];\n\t });\n\t }\n\t\n\t function beaconIsAvailable(Beacon, settings) {\n\t if (!Beacon) {\n\t return false;\n\t }\n\t if (Beacon === SecurityBeacon) {\n\t return settings.get('features.securityImage');\n\t }\n\t return true;\n\t }\n\t\n\t function loadLanguage(appState, i18n, assetBaseUrl, assetRewrite) {\n\t var timeout = setTimeout(function () {\n\t // Trigger a spinner if we're waiting on a request for a new language.\n\t appState.trigger('loading', true);\n\t }, 200);\n\t return Bundles.loadLanguage(appState.get('languageCode'), i18n, {\n\t baseUrl: assetBaseUrl,\n\t rewrite: assetRewrite\n\t }).then(function () {\n\t clearTimeout(timeout);\n\t appState.trigger('loading', false);\n\t });\n\t }\n\t\n\t return Okta.Router.extend({\n\t Events: Backbone.Events,\n\t\n\t initialize: function initialize(options) {\n\t // Create a default success and/or error handler if\n\t // one is not provided.\n\t if (!options.globalSuccessFn) {\n\t options.globalSuccessFn = function () {};\n\t }\n\t if (!options.globalErrorFn) {\n\t options.globalErrorFn = function (err) {\n\t Logger.error(err);\n\t };\n\t }\n\t this.settings = new Settings(_.omit(options, 'el', 'authClient'), { parse: true });\n\t this.settings.setAuthClient(options.authClient);\n\t\n\t if (!options.el) {\n\t this.settings.callGlobalError(new Errors.ConfigError(Okta.loc('error.required.el')));\n\t }\n\t\n\t $('body > div').on('click', function () {\n\t // OKTA-69769 Tooltip wont close on iPhone/iPad\n\t // Registering a click handler on the first div\n\t // allows a tap that falls outside the tooltip\n\t // to be registered as a tap by iOS\n\t // and then the open tooltip will lose focus and close.\n\t });\n\t\n\t this.appState = new AppState({\n\t baseUrl: this.settings.get('baseUrl'),\n\t settings: this.settings\n\t }, { parse: true });\n\t\n\t var wrapper = new AuthContainer({ appState: this.appState });\n\t Okta.$(options.el).append(wrapper.render().$el);\n\t this.el = '#okta-sign-in';\n\t\n\t this.header = new Header({\n\t el: this.el,\n\t appState: this.appState,\n\t settings: this.settings\n\t });\n\t\n\t this.listenTo(this.appState, 'change:transactionError', function (appState, err) {\n\t RouterUtil.routeAfterAuthStatusChange(this, err);\n\t });\n\t\n\t this.listenTo(this.appState, 'change:transaction', function (appState, trans) {\n\t RouterUtil.routeAfterAuthStatusChange(this, null, trans.data);\n\t });\n\t\n\t this.listenTo(this.appState, 'navigate', function (url) {\n\t this.navigate(url, { trigger: true });\n\t });\n\t },\n\t\n\t execute: function execute(cb, args) {\n\t // Recovery flow with a token passed through widget settings\n\t var recoveryToken = this.settings.get('recoveryToken');\n\t if (recoveryToken) {\n\t this.settings.unset('recoveryToken');\n\t this.navigate(RouterUtil.createRecoveryUrl(recoveryToken), { trigger: true });\n\t return;\n\t }\n\t\n\t // Refresh flow with a stateToken passed through widget settings\n\t var stateToken = this.settings.get('stateToken');\n\t if (stateToken) {\n\t this.settings.unset('stateToken');\n\t this.navigate(RouterUtil.createRefreshUrl(stateToken), { trigger: true });\n\t return;\n\t }\n\t\n\t // Normal flow - we've either navigated to a stateless page, or are\n\t // in the middle of an auth flow\n\t var trans = this.appState.get('transaction');\n\t if (trans && trans.data || isStateLessRouteHandler(this, cb)) {\n\t cb.apply(this, args);\n\t return;\n\t }\n\t\n\t // StateToken cookie exists on page load, and we are on a stateful url\n\t if (this.settings.getAuthClient().tx.exists()) {\n\t this.navigate(RouterUtil.createRefreshUrl(), { trigger: true });\n\t return;\n\t }\n\t\n\t // We've hit a page that requires state, but have no stateToken - redirect\n\t // back to primary auth\n\t this.navigate('', { trigger: true });\n\t },\n\t\n\t // Overriding the default navigate method to allow the widget consumer\n\t // to \"turn off\" routing - if features.router is false, the browser\n\t // location bar will not update when the router navigates\n\t navigate: function navigate(fragment, options) {\n\t if (this.settings.get('features.router')) {\n\t return Okta.Router.prototype.navigate.apply(this, arguments);\n\t }\n\t if (options && options.trigger) {\n\t return Backbone.history.loadUrl(fragment);\n\t }\n\t },\n\t\n\t render: function render(Controller, options) {\n\t options || (options = {});\n\t\n\t var Beacon = options.Beacon;\n\t var controllerOptions = _.extend({ settings: this.settings, appState: this.appState }, _.omit(options, 'Beacon'));\n\t\n\t // Since we have a wrapper view, render our wrapper and use its content\n\t // element as our new el.\n\t // Note: Render it here because we know dom is ready at this point\n\t if (!this.header.rendered()) {\n\t this.el = this.header.render().getContentEl();\n\t }\n\t\n\t // If we need to load a language (or apply custom i18n overrides), do\n\t // this now and re-run render after it's finished.\n\t if (!Bundles.isLoaded(this.appState.get('languageCode'))) {\n\t 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\t }\n\t\n\t var oldController = this.controller;\n\t this.controller = new Controller(controllerOptions);\n\t\n\t // Bubble up all controller events\n\t this.listenTo(this.controller, 'all', this.trigger);\n\t\n\t // First run fetchInitialData, in case the next controller needs data\n\t // before it's initial render. This will leave the current page in a\n\t // loading state.\n\t this.controller.fetchInitialData().then(_.bind(function () {\n\t\n\t // Beacon transition occurs in parallel to page swap\n\t if (!beaconIsAvailable(Beacon, this.settings)) {\n\t Beacon = null;\n\t }\n\t this.header.setBeacon(Beacon, controllerOptions);\n\t\n\t this.controller.render();\n\t\n\t if (!oldController) {\n\t this.el.append(this.controller.el);\n\t this.controller.postRenderAnimation();\n\t return;\n\t }\n\t\n\t return Animations.swapPages({\n\t $parent: this.el,\n\t $oldRoot: oldController.$el,\n\t $newRoot: this.controller.$el,\n\t dir: oldController.state.get('navigateDir'),\n\t ctx: this,\n\t success: function success() {\n\t var flashError = this.appState.get('flashError'),\n\t model = this.controller.model;\n\t oldController.remove();\n\t oldController.$el.remove();\n\t this.controller.postRenderAnimation();\n\t if (flashError) {\n\t model.trigger('error', model, {\n\t responseJSON: {\n\t errorSummary: flashError\n\t }\n\t });\n\t this.appState.unset('flashError');\n\t }\n\t }\n\t });\n\t }, this)).fail(function () {\n\t // OKTA-69665 - if an error occurs in fetchInitialData, we're left in\n\t // a state with two active controllers. Therefore, we clean up the\n\t // old one. Note: This explicitly handles the invalid token case -\n\t // if we get some other type of error which doesn't force a redirect,\n\t // we will probably be left in a bad state. I.e. old controller is\n\t // dropped and new controller is not rendered.\n\t if (oldController) {\n\t oldController.remove();\n\t oldController.$el.remove();\n\t }\n\t }).done();\n\t },\n\t\n\t start: function start() {\n\t var pushState = false;\n\t // Support for browser's back button.\n\t if (window.addEventListener && this.settings.get('features.router')) {\n\t window.addEventListener('popstate', _.bind(function (e) {\n\t if (this.controller.back) {\n\t e.preventDefault();\n\t e.stopImmediatePropagation();\n\t this.controller.back();\n\t }\n\t }, this));\n\t pushState = BrowserFeatures.supportsPushState();\n\t }\n\t Okta.Router.prototype.start.call(this, { pushState: pushState });\n\t },\n\t\n\t hide: function hide() {\n\t this.header.$el.hide();\n\t },\n\t\n\t show: function show() {\n\t this.header.$el.show();\n\t },\n\t\n\t remove: function remove() {\n\t this.controller.remove();\n\t this.header.$el.remove();\n\t Bundles.remove();\n\t Backbone.history.stop();\n\t }\n\t\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 449 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(406), __webpack_require__(450), __webpack_require__(409), __webpack_require__(414)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, Q, Factor, BrowserFeatures, Errors) {\n\t\n\t // Keep track of stateMachine with this special model. Some reasons to not\n\t // keep it generic:\n\t // 1. We know exactly what we're using appState for by requiring props\n\t // 2. Can have some derived functions to help us translate the lastAuthRes\n\t\n\t var _ = Okta._;\n\t var $ = Okta.$;\n\t var compile = Okta.Handlebars.compile;\n\t\n\t var DEFAULT_APP_LOGO = '/img/logos/default.png';\n\t var USER_NOT_SEEN_ON_DEVICE = '/img/security/unknown.png';\n\t var UNDEFINED_USER = '/img/security/default.png';\n\t var NEW_USER = '/img/security/unknown-device.png';\n\t var NEW_USER_IMAGE_DESCRIPTION = '';\n\t var UNDEFINED_USER_IMAGE_DESCRIPTION = '';\n\t var UNKNOWN_IMAGE_DESCRIPTION = '';\n\t\n\t var securityImageUrlTpl = compile('{{baseUrl}}/login/getimage?username={{username}}');\n\t\n\t function getSecurityImage(baseUrl, username, deviceFingerprint) {\n\t var url = securityImageUrlTpl({ baseUrl: baseUrl, username: username });\n\t\n\t // When the username is empty, we want to show the default image.\n\t if (_.isEmpty(username) || _.isUndefined(username)) {\n\t return Q({\n\t 'securityImage': UNDEFINED_USER,\n\t 'securityImageDescription': UNDEFINED_USER_IMAGE_DESCRIPTION\n\t });\n\t }\n\t\n\t var data = {\n\t url: url,\n\t dataType: 'json'\n\t };\n\t if (deviceFingerprint) {\n\t data['headers'] = { 'X-Device-Fingerprint': deviceFingerprint };\n\t }\n\t return Q($.ajax(data)).then(function (res) {\n\t if (res.pwdImg === USER_NOT_SEEN_ON_DEVICE) {\n\t // When we get an unknown.png security image from OKTA,\n\t // we want to show the unknown-device security image.\n\t // We are mapping the server's img url to a new one because\n\t // we still need to support the original login page.\n\t return {\n\t 'securityImage': NEW_USER,\n\t 'securityImageDescription': NEW_USER_IMAGE_DESCRIPTION\n\t };\n\t }\n\t return {\n\t 'securityImage': res.pwdImg,\n\t 'securityImageDescription': res.imageDescription || UNKNOWN_IMAGE_DESCRIPTION\n\t };\n\t });\n\t }\n\t\n\t function getMinutesString(factorLifetimeInMinutes) {\n\t if (factorLifetimeInMinutes > 60 && factorLifetimeInMinutes <= 1440) {\n\t var lifetimeInHours = factorLifetimeInMinutes / 60;\n\t return Okta.loc('hours', 'login', [lifetimeInHours]);\n\t } else if (factorLifetimeInMinutes > 1440) {\n\t var lifetimeInDays = factorLifetimeInMinutes / 1440;\n\t return Okta.loc('days', 'login', [lifetimeInDays]);\n\t }\n\t //Use minutes as the time unit by default\n\t if (factorLifetimeInMinutes === 1) {\n\t return Okta.loc('minutes.oneMinute', 'login');\n\t }\n\t return Okta.loc('minutes', 'login', [factorLifetimeInMinutes]);\n\t }\n\t\n\t return Okta.Model.extend({\n\t\n\t initialize: function initialize() {\n\t // Handle this in initialize (as opposed to a derived property) because\n\t // the operation is asynchronous\n\t if (this.settings.get('features.securityImage')) {\n\t var self = this;\n\t this.listenTo(this, 'change:username', function (model, username) {\n\t getSecurityImage(this.get('baseUrl'), username, this.get('deviceFingerprint')).then(function (image) {\n\t model.set('securityImage', image.securityImage);\n\t model.set('securityImageDescription', image.securityImageDescription);\n\t model.unset('deviceFingerprint'); //Fingerprint can only be used once\n\t }).fail(function (jqXhr) {\n\t // Only notify the consumer on a CORS error\n\t if (BrowserFeatures.corsIsNotEnabled(jqXhr)) {\n\t self.settings.callGlobalError(new Errors.UnsupportedBrowserError(Okta.loc('error.enabled.cors')));\n\t } else {\n\t throw jqXhr;\n\t }\n\t }).done();\n\t });\n\t }\n\t },\n\t\n\t local: {\n\t baseUrl: 'string',\n\t lastAuthResponse: ['object', true, {}],\n\t transaction: 'object',\n\t transactionError: 'object',\n\t username: 'string',\n\t factors: 'object',\n\t policy: 'object',\n\t securityImage: ['string', true, UNDEFINED_USER],\n\t securityImageDescription: ['string', true, UNDEFINED_USER_IMAGE_DESCRIPTION],\n\t userCountryCode: 'string',\n\t userPhoneNumber: 'string',\n\t factorActivationType: 'string',\n\t flashError: 'object',\n\t beaconType: 'string',\n\t deviceFingerprint: 'string', // valid only once\n\t typingPattern: 'string',\n\t // Note: languageCode is special in that it is shared between Settings\n\t // and AppState. Settings is the *configured* language, and is static.\n\t // AppState is the dynamic language state - it can be changed via a\n\t // language picker, etc.\n\t languageCode: ['string', true],\n\t disableUsername: ['boolean', false, false],\n\t trapMfaRequiredResponse: ['boolean', false, false]\n\t },\n\t\n\t setAuthResponse: function setAuthResponse(res) {\n\t // Because of MFA_CHALLENGE (i.e. DUO), we need to remember factors\n\t // across auth responses. Not doing this, for example, results in being\n\t // unable to switch away from the duo factor dropdown.\n\t var self = this;\n\t if (res._embedded && res._embedded.policy) {\n\t this.set('policy', res._embedded.policy);\n\t }\n\t if (res._embedded && res._embedded.factors) {\n\t var settings = this.settings;\n\t var factors = _.map(res._embedded.factors, function (factor) {\n\t factor.settings = settings;\n\t factor.appState = self;\n\t return factor;\n\t });\n\t this.set('factors', new Factor.Collection(factors, { parse: true }));\n\t }\n\t this.set('lastAuthResponse', res);\n\t },\n\t\n\t derived: {\n\t 'isSuccessResponse': {\n\t deps: ['lastAuthResponse'],\n\t fn: function fn(res) {\n\t return res.status === 'SUCCESS';\n\t }\n\t },\n\t 'isMfaRequired': {\n\t deps: ['lastAuthResponse'],\n\t fn: function fn(res) {\n\t return res.status === 'MFA_REQUIRED';\n\t }\n\t },\n\t 'isMfaEnroll': {\n\t deps: ['lastAuthResponse'],\n\t fn: function fn(res) {\n\t return res.status === 'MFA_ENROLL';\n\t }\n\t },\n\t 'isMfaChallenge': {\n\t deps: ['lastAuthResponse'],\n\t fn: function fn(res) {\n\t return res.status === 'MFA_CHALLENGE';\n\t }\n\t },\n\t 'isUnauthenticated': {\n\t deps: ['lastAuthResponse'],\n\t fn: function fn(res) {\n\t return res.status === 'UNAUTHENTICATED';\n\t }\n\t },\n\t 'isMfaRejectedByUser': {\n\t // MFA failures are usually error responses\n\t // except in the case of Okta Push, when a\n\t // user clicks 'deny' on his phone.\n\t deps: ['lastAuthResponse'],\n\t fn: function fn(res) {\n\t return res.factorResult === 'REJECTED';\n\t }\n\t },\n\t 'isMfaTimeout': {\n\t deps: ['lastAuthResponse'],\n\t fn: function fn(res) {\n\t return res.factorResult === 'TIMEOUT';\n\t }\n\t },\n\t 'isMfaEnrollActivate': {\n\t deps: ['lastAuthResponse'],\n\t fn: function fn(res) {\n\t return res.status === 'MFA_ENROLL_ACTIVATE';\n\t }\n\t },\n\t 'isWaitingForActivation': {\n\t deps: ['isMfaEnrollActivate', 'lastAuthResponse'],\n\t fn: function fn(isMfaEnrollActivate, res) {\n\t return isMfaEnrollActivate && res.factorResult === 'WAITING';\n\t }\n\t },\n\t 'hasMultipleFactorsAvailable': {\n\t deps: ['lastAuthResponse', 'factors'],\n\t fn: function fn(res, factors) {\n\t if (res.status !== 'MFA_REQUIRED' && res.status !== 'MFA_CHALLENGE' && res.status !== 'UNAUTHENTICATED') {\n\t return false;\n\t }\n\t return factors && factors.length > 1;\n\t }\n\t },\n\t 'promptForFactorInUnauthenticated': {\n\t deps: ['lastAuthResponse', 'factors'],\n\t fn: function fn(res, factors) {\n\t if (res.status !== 'UNAUTHENTICATED') {\n\t return false;\n\t }\n\t return factors && factors.length > 0;\n\t }\n\t },\n\t 'userId': {\n\t deps: ['lastAuthResponse'],\n\t fn: function fn(res) {\n\t if (!res._embedded || !res._embedded.user) {\n\t return null;\n\t }\n\t return res._embedded.user.id;\n\t }\n\t },\n\t 'isPwdExpiringSoon': {\n\t deps: ['lastAuthResponse'],\n\t fn: function fn(res) {\n\t return res.status === 'PASSWORD_WARN';\n\t }\n\t },\n\t 'passwordExpireDays': {\n\t deps: ['lastAuthResponse'],\n\t fn: function fn(res) {\n\t if (!res._embedded || !res._embedded.policy || !res._embedded.policy.expiration) {\n\t return null;\n\t }\n\t return res._embedded.policy.expiration.passwordExpireDays;\n\t }\n\t },\n\t 'isPwdManagedByOkta': {\n\t deps: ['lastAuthResponse'],\n\t fn: function fn(res) {\n\t if (!res._links || !res._links.next || !res._links.next.title) {\n\t return true;\n\t }\n\t return false;\n\t }\n\t },\n\t 'passwordExpiredWebsiteName': {\n\t deps: ['lastAuthResponse'],\n\t fn: function fn(res) {\n\t if (!res._links || !res._links.next || !res._links.next.title) {\n\t return null;\n\t }\n\t return res._links.next.title;\n\t }\n\t },\n\t 'passwordExpiredLinkUrl': {\n\t deps: ['lastAuthResponse'],\n\t fn: function fn(res) {\n\t if (!res._links || !res._links.next || !res._links.next.title || !res._links.next.href) {\n\t return null;\n\t }\n\t return res._links.next.href;\n\t }\n\t },\n\t 'recoveryType': {\n\t deps: ['lastAuthResponse'],\n\t fn: function fn(res) {\n\t return res.recoveryType;\n\t }\n\t },\n\t 'factorType': {\n\t deps: ['lastAuthResponse'],\n\t fn: function fn(res) {\n\t return res.factorType;\n\t }\n\t },\n\t 'factor': {\n\t deps: ['lastAuthResponse'],\n\t fn: function fn(res) {\n\t if (!res._embedded || !res._embedded.factor) {\n\t return null;\n\t }\n\t return res._embedded.factor;\n\t }\n\t },\n\t 'activatedFactorId': {\n\t deps: ['factor'],\n\t fn: function fn(factor) {\n\t return factor ? factor.id : null;\n\t }\n\t },\n\t 'activatedFactorType': {\n\t deps: ['factor'],\n\t fn: function fn(factor) {\n\t return factor ? factor.factorType : null;\n\t }\n\t },\n\t 'activatedFactorProvider': {\n\t deps: ['factor'],\n\t fn: function fn(factor) {\n\t return factor ? factor.provider : null;\n\t }\n\t },\n\t 'qrcode': {\n\t deps: ['factor'],\n\t fn: function fn(factor) {\n\t try {\n\t return factor._embedded.activation._links.qrcode.href;\n\t } catch (err) {\n\t return null;\n\t }\n\t }\n\t },\n\t 'activationSendLinks': {\n\t deps: ['factor'],\n\t fn: function fn(factor) {\n\t var sendLinks;\n\t try {\n\t sendLinks = factor._embedded.activation._links.send;\n\t } catch (err) {\n\t sendLinks = [];\n\t }\n\t return sendLinks;\n\t }\n\t },\n\t 'textActivationLinkUrl': {\n\t deps: ['activationSendLinks'],\n\t fn: function fn(activationSendLinks) {\n\t var item = _.findWhere(activationSendLinks, { name: 'sms' });\n\t return item ? item.href : null;\n\t }\n\t },\n\t 'emailActivationLinkUrl': {\n\t deps: ['activationSendLinks'],\n\t fn: function fn(activationSendLinks) {\n\t var item = _.findWhere(activationSendLinks, { name: 'email' });\n\t return item ? item.href : null;\n\t }\n\t },\n\t 'sharedSecret': {\n\t deps: ['factor'],\n\t fn: function fn(factor) {\n\t try {\n\t return factor._embedded.activation.sharedSecret;\n\t } catch (err) {\n\t return null;\n\t }\n\t }\n\t },\n\t 'duoEnrollActivation': {\n\t deps: ['factor'],\n\t fn: function fn(factor) {\n\t if (!factor || !factor._embedded || !factor._embedded.activation) {\n\t return null;\n\t }\n\t return factor._embedded.activation;\n\t }\n\t },\n\t 'prevLink': {\n\t deps: ['lastAuthResponse'],\n\t fn: function fn(res) {\n\t if (res._links && res._links.prev) {\n\t return res._links.prev.href;\n\t }\n\t return null;\n\t }\n\t },\n\t 'user': {\n\t deps: ['lastAuthResponse'],\n\t fn: function fn(res) {\n\t if (!res._embedded || !res._embedded.user) {\n\t return null;\n\t }\n\t return res._embedded.user;\n\t }\n\t },\n\t 'recoveryQuestion': {\n\t deps: ['user'],\n\t fn: function fn(user) {\n\t if (!user || !user.recovery_question) {\n\t return null;\n\t }\n\t return user.recovery_question.question;\n\t }\n\t },\n\t 'userProfile': {\n\t deps: ['user'],\n\t fn: function fn(user) {\n\t if (!user || !user.profile) {\n\t return null;\n\t }\n\t return user.profile;\n\t }\n\t },\n\t 'userConsentName': {\n\t deps: ['userProfile', 'username'],\n\t fn: function fn(userProfile, username) {\n\t if (!userProfile || _.isEmpty(userProfile.firstName)) {\n\t return username;\n\t }\n\t if (_.isEmpty(userProfile.lastName)) {\n\t return userProfile.firstName;\n\t }\n\t return userProfile.firstName + ' ' + userProfile.lastName.charAt(0) + '.';\n\t }\n\t },\n\t 'userEmail': {\n\t deps: ['userProfile'],\n\t fn: function fn(userProfile) {\n\t if (!userProfile || !userProfile.login) {\n\t return null;\n\t }\n\t return userProfile.login;\n\t }\n\t },\n\t 'userFullName': {\n\t deps: ['userProfile'],\n\t fn: function fn(userProfile) {\n\t if (!userProfile || !userProfile.firstName && !userProfile.lastName) {\n\t return '';\n\t }\n\t return userProfile.firstName + ' ' + userProfile.lastName;\n\t }\n\t },\n\t 'defaultAppLogo': {\n\t deps: ['baseUrl'],\n\t fn: function fn(baseUrl) {\n\t return baseUrl + DEFAULT_APP_LOGO;\n\t }\n\t },\n\t 'expiresAt': {\n\t deps: ['lastAuthResponse'],\n\t fn: function fn(res) {\n\t return res.expiresAt;\n\t }\n\t },\n\t 'target': {\n\t deps: ['lastAuthResponse'],\n\t fn: function fn(res) {\n\t if (!res._embedded) {\n\t return null;\n\t }\n\t return res._embedded.target;\n\t }\n\t },\n\t 'targetLabel': {\n\t deps: ['target'],\n\t fn: function fn(target) {\n\t if (!target) {\n\t return null;\n\t }\n\t return target.label;\n\t }\n\t },\n\t 'targetLogo': {\n\t deps: ['target'],\n\t fn: function fn(target) {\n\t if (!target || !target._links) {\n\t return null;\n\t }\n\t return target._links.logo;\n\t }\n\t },\n\t 'targetTermsOfService': {\n\t deps: ['target'],\n\t fn: function fn(target) {\n\t if (!target || !target._links) {\n\t return null;\n\t }\n\t return target._links['terms-of-service'];\n\t }\n\t },\n\t 'targetPrivacyPolicy': {\n\t deps: ['target'],\n\t fn: function fn(target) {\n\t if (!target || !target._links) {\n\t return null;\n\t }\n\t return target._links['privacy-policy'];\n\t }\n\t },\n\t 'targetClientURI': {\n\t deps: ['target'],\n\t fn: function fn(target) {\n\t if (!target || !target._links) {\n\t return null;\n\t }\n\t return target._links['client-uri'];\n\t }\n\t },\n\t 'scopes': {\n\t deps: ['lastAuthResponse'],\n\t fn: function fn(res) {\n\t if (!res._embedded) {\n\t return null;\n\t }\n\t return res._embedded.scopes;\n\t }\n\t },\n\t 'hasExistingPhones': {\n\t deps: ['lastAuthResponse'],\n\t fn: function fn(res) {\n\t if (!res._embedded || !res._embedded.factors) {\n\t return false;\n\t }\n\t var factors = res._embedded.factors;\n\t var factor = _.findWhere(factors, { factorType: 'sms', provider: 'OKTA' });\n\t if (!factor || !factor._embedded) {\n\t return false;\n\t }\n\t\n\t return !!factor._embedded.phones.length;\n\t }\n\t },\n\t 'hasExistingPhonesForCall': {\n\t deps: ['lastAuthResponse'],\n\t fn: function fn(res) {\n\t if (!res._embedded || !res._embedded.factors) {\n\t return false;\n\t }\n\t var factors = res._embedded.factors;\n\t var factor = _.findWhere(factors, { factorType: 'call', provider: 'OKTA' });\n\t if (!factor || !factor._embedded) {\n\t return false;\n\t }\n\t\n\t return !!factor._embedded.phones.length;\n\t }\n\t },\n\t 'isUndefinedUser': {\n\t deps: ['securityImage'],\n\t fn: function fn(securityImage) {\n\t return securityImage === UNDEFINED_USER;\n\t }\n\t },\n\t 'isNewUser': {\n\t deps: ['securityImage'],\n\t fn: function fn(securityImage) {\n\t return securityImage === NEW_USER;\n\t }\n\t },\n\t 'allowRememberDevice': {\n\t deps: ['policy'],\n\t fn: function fn(policy) {\n\t return policy && policy.allowRememberDevice;\n\t }\n\t },\n\t 'rememberDeviceLabel': {\n\t deps: ['policy'],\n\t fn: function fn(policy) {\n\t if (policy && policy.rememberDeviceLifetimeInMinutes > 0) {\n\t var timeString = getMinutesString(policy.rememberDeviceLifetimeInMinutes);\n\t return Okta.loc('rememberDevice.timebased', 'login', [timeString]);\n\t } else if (policy && policy.rememberDeviceLifetimeInMinutes === 0) {\n\t return Okta.loc('rememberDevice.devicebased', 'login');\n\t }\n\t return Okta.loc('rememberDevice', 'login');\n\t }\n\t },\n\t 'rememberDeviceByDefault': {\n\t deps: ['policy'],\n\t fn: function fn(policy) {\n\t return policy && policy.rememberDeviceByDefault;\n\t }\n\t },\n\t 'factorsPolicyInfo': {\n\t deps: ['policy'],\n\t fn: function fn(policy) {\n\t return policy && policy.factorsPolicyInfo ? policy.factorsPolicyInfo : null;\n\t }\n\t },\n\t 'verifyCustomFactorRedirectUrl': {\n\t deps: ['lastAuthResponse'],\n\t fn: function fn(res) {\n\t if (!res._links || !res._links.next || res._links.next.name !== 'redirect' || !res._links.next.href) {\n\t return null;\n\t }\n\t return res._links.next.href;\n\t }\n\t },\n\t 'enrollCustomFactorRedirectUrl': {\n\t deps: ['lastAuthResponse'],\n\t fn: function fn(res) {\n\t if (!res._links || !res._links.next || res._links.next.name !== 'activate' || !res._links.next.href) {\n\t return null;\n\t }\n\t return res._links.next.href;\n\t }\n\t }\n\t },\n\t\n\t parse: function parse(options) {\n\t this.settings = options.settings;\n\t return _.extend(_.omit(options, 'settings'), { languageCode: this.settings.get('languageCode') });\n\t }\n\t\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 450 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(406), __webpack_require__(445), __webpack_require__(437), __webpack_require__(414), __webpack_require__(443)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, Q, factorUtil, Util, Errors, BaseLoginModel) {\n\t var _ = Okta._;\n\t\n\t // Note: Keep-alive is set to 5 seconds - using 5 seconds here will result\n\t // in network connection lost errors in Safari and IE.\n\t var PUSH_INTERVAL = 6000;\n\t\n\t var Factor = BaseLoginModel.extend({\n\t extraProperties: true,\n\t flat: false,\n\t\n\t props: {\n\t id: 'string',\n\t factorType: {\n\t type: 'string',\n\t values: ['sms', 'call', 'email', 'token', 'token:software:totp', 'token:hardware', 'question', 'push', 'u2f', 'password', 'assertion:saml2', 'assertion:oidc']\n\t },\n\t provider: {\n\t type: 'string',\n\t values: ['OKTA', 'RSA', 'DEL_OATH', 'SYMANTEC', 'GOOGLE', 'YUBICO', 'FIDO', 'GENERIC_SAML', 'GENERIC_OIDC']\n\t },\n\t enrollment: {\n\t type: 'string',\n\t values: ['OPTIONAL', 'REQUIRED']\n\t },\n\t status: {\n\t type: 'string',\n\t values: ['NOT_SETUP', 'ACTIVE']\n\t },\n\t profile: ['object'],\n\t vendorName: 'string'\n\t },\n\t\n\t local: {\n\t 'answer': 'string',\n\t 'password': 'string',\n\t 'backupFactor': 'object',\n\t 'showAnswer': 'boolean',\n\t 'rememberDevice': 'boolean',\n\t 'autoPush': ['boolean', true, false]\n\t },\n\t\n\t derived: {\n\t isOktaFactor: {\n\t deps: ['provider'],\n\t fn: function fn(provider) {\n\t return provider === 'OKTA';\n\t }\n\t },\n\t factorName: {\n\t deps: ['provider', 'factorType'],\n\t fn: factorUtil.getFactorName\n\t },\n\t factorLabel: {\n\t deps: ['provider', 'factorType', 'vendorName'],\n\t fn: function fn(provider, factorType, vendorName) {\n\t if (_.contains(['DEL_OATH', 'GENERIC_SAML', 'GENERIC_OIDC'], provider)) {\n\t return vendorName;\n\t }\n\t return factorUtil.getFactorLabel.apply(this, [provider, factorType]);\n\t }\n\t },\n\t factorDescription: {\n\t deps: ['provider', 'factorType'],\n\t fn: factorUtil.getFactorDescription\n\t },\n\t sortOrder: {\n\t deps: ['provider', 'factorType'],\n\t fn: factorUtil.getFactorSortOrder\n\t },\n\t iconClassName: {\n\t deps: ['provider', 'factorType'],\n\t fn: factorUtil.getFactorIconClassName\n\t },\n\t securityQuestion: {\n\t deps: ['profile', 'factorType'],\n\t fn: function fn(profile, factorType) {\n\t if (factorType !== 'question') {\n\t return null;\n\t }\n\t return profile && factorUtil.getSecurityQuestionLabel(profile);\n\t }\n\t },\n\t phoneNumber: {\n\t deps: ['profile', 'factorType'],\n\t fn: function fn(profile, factorType) {\n\t if (_.contains(['sms', 'call'], factorType)) {\n\t return profile && profile.phoneNumber;\n\t }\n\t return null;\n\t }\n\t },\n\t email: {\n\t deps: ['profile', 'factorType'],\n\t fn: function fn(profile, factorType) {\n\t if (factorType === 'email') {\n\t return profile && profile.email;\n\t }\n\t return null;\n\t }\n\t },\n\t deviceName: {\n\t deps: ['profile', 'factorType'],\n\t fn: function fn(profile, factorType) {\n\t if (factorType !== 'push') {\n\t return null;\n\t }\n\t return profile && profile.name;\n\t }\n\t },\n\t enrolled: {\n\t deps: ['status'],\n\t fn: function fn(status) {\n\t return status === 'ACTIVE';\n\t }\n\t },\n\t required: {\n\t deps: ['enrollment'],\n\t fn: function fn(enrollment) {\n\t return enrollment === 'REQUIRED';\n\t }\n\t },\n\t canUseResend: {\n\t deps: ['provider', 'factorType'],\n\t fn: function fn(provider, factorType) {\n\t // Only push, sms and call have resend links.\n\t return provider === 'OKTA' && _.contains(['push', 'sms', 'call', 'email'], factorType);\n\t }\n\t },\n\t isAnswerRequired: {\n\t deps: ['factorType'],\n\t fn: function fn(factorType) {\n\t return _.contains(['sms', 'call', 'email', 'token', 'token:software:totp', 'question'], factorType);\n\t }\n\t }\n\t },\n\t\n\t parse: function parse(attributes) {\n\t this.settings = attributes.settings;\n\t this.appState = attributes.appState;\n\t // set the initial value for remember device.\n\t attributes.rememberDevice = factorUtil.getRememberDeviceValue(this.appState);\n\t return _.omit(attributes, ['settings', 'appState']);\n\t },\n\t\n\t validate: function validate() {\n\t if (this.get('isAnswerRequired') && !this.get('answer')) {\n\t return { 'answer': Okta.loc('model.validation.field.blank') };\n\t } else if (this.get('factorType') === 'password' && !this.get('password')) {\n\t return { 'password': Okta.loc('error.password.required') };\n\t }\n\t },\n\t\n\t save: function save() {\n\t var rememberDevice = !!this.get('rememberDevice');\n\t // Set/Remove the remember device cookie based on the remember device input.\n\t var self = this;\n\t\n\t return this.manageTransaction(function (transaction, setTransaction) {\n\t var data = {\n\t rememberDevice: rememberDevice\n\t };\n\t if (this.get('factorType') === 'question') {\n\t data.answer = this.get('answer');\n\t } else if (this.get('factorType') === 'password') {\n\t data.password = this.get('password');\n\t } else {\n\t data.passCode = this.get('answer');\n\t }\n\t\n\t if (this.pushFactorHasAutoPush()) {\n\t data.autoPush = this.get('autoPush');\n\t }\n\t\n\t var promise;\n\t // MFA_REQUIRED or UNAUTHENTICATED with factors (passwordlessAuth)\n\t if (transaction.status === 'MFA_REQUIRED' || this.appState.get('promptForFactorInUnauthenticated')) {\n\t var factor = _.findWhere(transaction.factors, {\n\t id: this.get('id')\n\t });\n\t promise = factor.verify(data);\n\t }\n\t\n\t // MFA_CHALLENGE\n\t else if (this.get('canUseResend') && !this.get('answer') && transaction.resend) {\n\t var firstLink = transaction.data._links.resend[0];\n\t promise = transaction.resend(firstLink.name);\n\t } else {\n\t promise = transaction.verify(data);\n\t }\n\t //the 'save' event here is triggered and used in the BaseLoginController\n\t //to disable the primary button on the factor form\n\t this.trigger('save');\n\t\n\t return promise.then(function (trans) {\n\t var options = {\n\t 'delay': PUSH_INTERVAL\n\t };\n\t setTransaction(trans);\n\t // In Okta verify case we initiate poll.\n\t if (trans.status === 'MFA_CHALLENGE' && trans.poll) {\n\t var deferred = Q.defer();\n\t var initiatePollTimout = Util.callAfterTimeout(deferred.resolve, PUSH_INTERVAL);\n\t self.listenToOnce(self.options.appState, 'factorSwitched', function () {\n\t clearTimeout(initiatePollTimout);\n\t deferred.reject(new Errors.AuthStopPollInitiationError());\n\t });\n\t return deferred.promise.then(function () {\n\t // Stop listening if factor was not switched before poll.\n\t self.stopListening(self.options.appState, 'factorSwitched');\n\t if (self.pushFactorHasAutoPush()) {\n\t options.autoPush = function () {\n\t return self.get('autoPush');\n\t };\n\t options.rememberDevice = function () {\n\t return self.get('rememberDevice');\n\t };\n\t }\n\t return trans.poll(options).then(function (trans) {\n\t setTransaction(trans);\n\t });\n\t });\n\t }\n\t });\n\t });\n\t },\n\t\n\t pushFactorHasAutoPush: function pushFactorHasAutoPush() {\n\t return this.settings.get('features.autoPush') && this.get('factorType') === 'push';\n\t }\n\t });\n\t\n\t var Factors = Okta.Collection.extend({\n\t\n\t model: Factor,\n\t comparator: 'sortOrder',\n\t\n\t // One override necessary here - Okta Verify with Push is treated like\n\t // one factor. In the beacon menu, there's only one option - only in the\n\t // view can you choose to enable the other factor (which will be exposed\n\t // by the backupFactor property)\n\t parse: function parse(factors) {\n\t // Keep a track of the last used factor, since\n\t // we need it to determine the default factor.\n\t this.lastUsedFactor = factors[0];\n\t\n\t var oktaPushFactor = _.findWhere(factors, { provider: 'OKTA', factorType: 'push' });\n\t if (!oktaPushFactor) {\n\t return factors;\n\t }\n\t var totpFactor = _.findWhere(factors, { provider: 'OKTA', factorType: 'token:software:totp' });\n\t\n\t var isTotpFirst = totpFactor === factors[0];\n\t\n\t var parsedFactors = _.reduce(factors, function (memo, factor) {\n\t var isOkta = factor.provider === 'OKTA';\n\t var isOktaTotp = isOkta && factor.factorType === 'token:software:totp';\n\t var isOktaPush = isOkta && factor.factorType === 'push';\n\t var notEnrolled = factor.status !== 'ACTIVE';\n\t\n\t var hideOktaTotp = isOktaTotp && (notEnrolled || oktaPushFactor.status === 'ACTIVE');\n\t var hideOktaPush = isOktaPush && notEnrolled && totpFactor.status === 'ACTIVE';\n\t\n\t if (hideOktaTotp || hideOktaPush) {\n\t return memo;\n\t }\n\t\n\t if (isOktaPush) {\n\t factor.backupFactor = new Factor(totpFactor, { parse: true });\n\t }\n\t memo.push(factor);\n\t return memo;\n\t }, []);\n\t\n\t // Use push factor instead of TOTP, if TOTP is first in the list\n\t // (since it is stored as backupFactor for push).\n\t if (isTotpFirst) {\n\t this.lastUsedFactor = oktaPushFactor;\n\t }\n\t\n\t return parsedFactors;\n\t },\n\t\n\t // Will need to update this to use HAL link to get last used factor:\n\t // https://oktainc.atlassian.net/browse/OKTA-58380\n\t // However, current code returns last used factor as first factor in list.\n\t // Also, will need to add priority - i.e. if they do not have a last used\n\t // factor, should try Okta Verify, then Okta SMS, etc.\n\t getDefaultFactor: function getDefaultFactor() {\n\t var factor = _.pick(this.lastUsedFactor, 'factorType', 'provider');\n\t return this.findWhere(factor);\n\t },\n\t\n\t getFirstUnenrolledRequiredFactor: function getFirstUnenrolledRequiredFactor() {\n\t return this.findWhere({ required: true, enrolled: false });\n\t }\n\t\n\t });\n\t\n\t return {\n\t Model: Factor,\n\t Collection: Factors\n\t };\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 451 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(406), __webpack_require__(414), __webpack_require__(409), __webpack_require__(437), __webpack_require__(408), __webpack_require__(330), __webpack_require__(329)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, Q, Errors, BrowserFeatures, Util, Logger, OAuth2Util, config) {\n\t\n\t var SharedUtil = Okta.internal.util.Util;\n\t\n\t var DEFAULT_LANGUAGE = 'en';\n\t\n\t var supportedIdps = ['facebook', 'google', 'linkedin', 'microsoft'],\n\t supportedResponseTypes = ['token', 'id_token', 'code'],\n\t oauthRedirectTpl = Okta.tpl('{{origin}}');\n\t\n\t var _ = Okta._,\n\t $ = Okta.$,\n\t ConfigError = Errors.ConfigError,\n\t UnsupportedBrowserError = Errors.UnsupportedBrowserError;\n\t\n\t var assetBaseUrlTpl = Okta.tpl('https://ok1static.oktacdn.com/assets/js/sdk/okta-signin-widget/{{version}}');\n\t\n\t return Okta.Model.extend({\n\t\n\t flat: true,\n\t authClient: undefined,\n\t\n\t local: {\n\t 'baseUrl': ['string', true],\n\t 'recoveryToken': ['string', false, undefined],\n\t 'stateToken': ['string', false, undefined],\n\t 'username': ['string', false],\n\t 'signOutLink': ['string', false],\n\t 'relayState': ['string', false],\n\t\n\t // Function to transform the username before passing it to the API\n\t // for Primary Auth, Forgot Password and Unlock Account.\n\t 'transformUsername': ['function', false],\n\t\n\t // CALLBACKS\n\t 'globalSuccessFn': 'function',\n\t 'globalErrorFn': 'function',\n\t 'processCreds': 'function',\n\t\n\t // IMAGES\n\t 'logo': 'string',\n\t 'logoText': ['string', false],\n\t 'helpSupportNumber': 'string',\n\t\n\t // FEATURES\n\t 'features.router': ['boolean', true, false],\n\t 'features.securityImage': ['boolean', true, false],\n\t 'features.rememberMe': ['boolean', true, true],\n\t 'features.autoPush': ['boolean', true, false],\n\t 'features.smsRecovery': ['boolean', true, false],\n\t 'features.callRecovery': ['boolean', true, false],\n\t 'features.emailRecovery': ['boolean', false, true],\n\t 'features.windowsVerify': ['boolean', true, false],\n\t 'features.webauthn': ['boolean', true, false],\n\t 'features.selfServiceUnlock': ['boolean', true, false],\n\t 'features.multiOptionalFactorEnroll': ['boolean', true, false],\n\t 'features.preventBrowserFromSavingOktaPassword': ['boolean', true, true],\n\t 'features.deviceFingerprinting': ['boolean', false, false],\n\t 'features.hideSignOutLinkInMFA': ['boolean', false, false],\n\t 'features.customExpiredPassword': ['boolean', true, false],\n\t 'features.registration': ['boolean', false, false],\n\t 'features.consent': ['boolean', false, false],\n\t 'features.idpDiscovery': ['boolean', false, false],\n\t 'features.passwordlessAuth': ['boolean', false, false],\n\t 'features.showPasswordToggleOnSignInPage': ['boolean', false, false],\n\t 'features.trackTypingPattern': ['boolean', false, false],\n\t\n\t // I18N\n\t 'language': ['any', false], // Can be a string or a function\n\t 'i18n': ['object', false],\n\t\n\t // ASSETS\n\t 'assets.baseUrl': ['string', false],\n\t 'assets.rewrite': {\n\t type: 'function',\n\t value: _.identity\n\t },\n\t\n\t // OAUTH2\n\t 'authScheme': ['string', false, 'OAUTH2'],\n\t 'authParams.display': {\n\t type: 'string',\n\t values: ['none', 'popup', 'page']\n\t },\n\t\n\t // Note: It shouldn't be necessary to override/pass in this property -\n\t // it will be set correctly depending on what the value of display is\n\t // and whether we are using Okta or a social IDP.\n\t 'authParams.responseMode': {\n\t type: 'string',\n\t values: ['query', 'fragment', 'form_post', 'okta_post_message']\n\t },\n\t\n\t // Can either be a string or an array, i.e.\n\t // - Single value: 'id_token', 'token', or 'code'\n\t // - Multiple values: ['id_token', 'token']\n\t 'authParams.responseType': ['any', false, 'id_token'],\n\t 'authParams.scopes': ['array', false],\n\t\n\t 'authParams.issuer': ['string', false],\n\t 'authParams.authorizeUrl': ['string', false],\n\t 'authParams.state': ['string', false],\n\t 'authParams.nonce': ['string', false],\n\t\n\t 'policyId': 'string',\n\t 'clientId': 'string',\n\t 'redirectUri': 'string',\n\t 'idps': ['array', false, []],\n\t 'idpDisplay': {\n\t type: 'string',\n\t values: ['PRIMARY', 'SECONDARY'],\n\t value: 'SECONDARY'\n\t },\n\t 'oAuthTimeout': ['number', false],\n\t\n\t // HELP LINKS\n\t 'helpLinks.help': 'string',\n\t 'helpLinks.forgotPassword': 'string',\n\t 'helpLinks.unlock': 'string',\n\t 'helpLinks.custom': 'array',\n\t\n\t //Custom Buttons\n\t 'customButtons': ['array', false, []],\n\t\n\t //Registration\n\t 'registration.click': 'function',\n\t 'registration.parseSchema': 'function',\n\t 'registration.preSubmit': 'function',\n\t 'registration.postSubmit': 'function',\n\t\n\t //Consent\n\t 'consent.cancel': 'function',\n\t\n\t //IDP Discovery\n\t 'idpDiscovery.requestContext': 'string'\n\t },\n\t\n\t derived: {\n\t supportedLanguages: {\n\t deps: ['i18n'],\n\t fn: function fn(i18n) {\n\t // Developers can pass in their own languages\n\t return _.union(config.supportedLanguages, _.keys(i18n));\n\t },\n\t cache: true\n\t },\n\t languageCode: {\n\t deps: ['language', 'supportedLanguages'],\n\t fn: function fn(language, supportedLanguages) {\n\t var userLanguages = BrowserFeatures.getUserLanguages(),\n\t preferred = _.clone(userLanguages),\n\t supportedLowerCase = Util.toLower(supportedLanguages),\n\t expanded;\n\t\n\t // Any developer defined \"language\" takes highest priority:\n\t // As a string, i.e. 'en', 'ja', 'zh-CN'\n\t if (_.isString(language)) {\n\t preferred.unshift(language);\n\t }\n\t // As a callback function, which is passed the list of supported\n\t // languages and detected user languages. This function must return\n\t // a languageCode, i.e. 'en', 'ja', 'zh-CN'\n\t else if (_.isFunction(language)) {\n\t preferred.unshift(language(supportedLanguages, userLanguages));\n\t }\n\t\n\t // Add english as the default, and expand to include any language\n\t // codes that do not include region, dialect, etc.\n\t preferred.push(DEFAULT_LANGUAGE);\n\t expanded = Util.toLower(Util.expandLanguages(preferred));\n\t\n\t // Perform a case insensitive search - this is necessary in the case\n\t // of browsers like Safari\n\t var i, supportedPos;\n\t for (i = 0; i < expanded.length; i++) {\n\t supportedPos = supportedLowerCase.indexOf(expanded[i]);\n\t if (supportedPos > -1) {\n\t return supportedLanguages[supportedPos];\n\t }\n\t }\n\t }\n\t },\n\t oauth2Enabled: {\n\t deps: ['clientId', 'authScheme', 'authParams.responseType'],\n\t fn: function fn(clientId, authScheme, responseType) {\n\t if (!clientId) {\n\t return false;\n\t }\n\t if (authScheme.toLowerCase() !== 'oauth2') {\n\t return false;\n\t }\n\t var responseTypes = _.isArray(responseType) ? responseType : [responseType];\n\t return _.intersection(responseTypes, supportedResponseTypes).length > 0;\n\t },\n\t cache: true\n\t },\n\t // Redirect Uri to provide in the oauth API\n\t oauthRedirectUri: {\n\t deps: ['redirectUri'],\n\t fn: function fn(redirectUri) {\n\t if (redirectUri) {\n\t return redirectUri;\n\t }\n\t\n\t var origin = window.location.origin;\n\t // IE8\n\t if (!origin) {\n\t var href = window.location.href;\n\t var path = window.location.pathname;\n\t if (path !== '') {\n\t origin = href.substring(0, href.lastIndexOf(path));\n\t }\n\t }\n\t\n\t return oauthRedirectTpl({\n\t origin: origin\n\t });\n\t }\n\t },\n\t // filters the idps passed into the widget to include only the ones we support.\n\t configuredSocialIdps: {\n\t deps: ['idps'],\n\t fn: function fn(idps) {\n\t return _.filter(idps, function (idp) {\n\t return _.contains(supportedIdps, idp.type.toLowerCase());\n\t });\n\t },\n\t cache: true\n\t },\n\t // social auth buttons order - 'above'/'below' the primary auth form (boolean)\n\t socialAuthPositionTop: {\n\t deps: ['configuredSocialIdps', 'idpDisplay'],\n\t fn: function fn(configuredSocialIdps, idpDisplay) {\n\t return !_.isEmpty(configuredSocialIdps) && idpDisplay.toUpperCase() === 'PRIMARY';\n\t },\n\t cache: true\n\t },\n\t // merges social auth and custom buttons into one array\n\t configuredButtons: {\n\t deps: ['configuredSocialIdps', 'customButtons'],\n\t fn: function fn(configuredSocialIdps, customButtons) {\n\t var self = this;\n\t var buttonArray = [];\n\t _.each(configuredSocialIdps, function (idp) {\n\t var type = idp.type.toLowerCase();\n\t var dataAttr = 'social-auth-' + type + '-button';\n\t var socialAuthButton = {\n\t id: idp.id,\n\t type: idp.type,\n\t dataAttr: dataAttr,\n\t className: 'social-auth-button ' + dataAttr,\n\t title: function title() {\n\t return Okta.loc('socialauth.' + type + '.label');\n\t },\n\t click: function click(e) {\n\t e.preventDefault();\n\t if (self.get('oauth2Enabled')) {\n\t OAuth2Util.getTokens(self, { idp: idp.id });\n\t } else {\n\t var baseUrl = self.get('baseUrl');\n\t var params = $.param({\n\t fromURI: self.get('relayState')\n\t });\n\t var targetUri = baseUrl + '/sso/idps/' + idp.id + '?' + params;\n\t SharedUtil.redirect(targetUri);\n\t }\n\t }\n\t };\n\t buttonArray.push(socialAuthButton);\n\t });\n\t if (_.isArray(customButtons)) {\n\t _.each(customButtons, function (button) {\n\t var customConfiguredButton = {\n\t title: button.title,\n\t className: button.className + ' default-custom-button',\n\t click: button.click\n\t };\n\t buttonArray.push(customConfiguredButton);\n\t });\n\t }\n\t return buttonArray;\n\t },\n\t cache: true\n\t },\n\t //checks if there are any configured buttons\n\t hasConfiguredButtons: {\n\t deps: ['configuredButtons'],\n\t fn: function fn(configuredButtons) {\n\t return !_.isEmpty(configuredButtons);\n\t },\n\t cache: true\n\t }\n\t },\n\t\n\t initialize: function initialize(options) {\n\t if (!options.baseUrl) {\n\t this.callGlobalError(new ConfigError(Okta.loc('error.required.baseUrl')));\n\t } else if (BrowserFeatures.corsIsNotSupported()) {\n\t this.callGlobalError(new UnsupportedBrowserError(Okta.loc('error.unsupported.cors')));\n\t }\n\t },\n\t\n\t setAcceptLanguageHeader: function setAcceptLanguageHeader(authClient) {\n\t if (authClient && authClient.options && authClient.options.headers) {\n\t authClient.options.headers['Accept-Language'] = this.get('languageCode');\n\t }\n\t },\n\t\n\t setAuthClient: function setAuthClient(authClient) {\n\t this.setAcceptLanguageHeader(authClient);\n\t this.authClient = authClient;\n\t },\n\t\n\t getAuthClient: function getAuthClient() {\n\t return this.authClient;\n\t },\n\t\n\t set: function set() {\n\t try {\n\t return Okta.Model.prototype.set.apply(this, arguments);\n\t } catch (e) {\n\t var message = e.message ? e.message : e;\n\t this.callGlobalError(new ConfigError(message));\n\t }\n\t },\n\t\n\t // Invokes the global success function. This should only be called on a\n\t // terminal part of the code (i.e. authStatus SUCCESS or after sending\n\t // a recovery email)\n\t callGlobalSuccess: function callGlobalSuccess(status, data) {\n\t // Defer this to ensure that our functions have rendered completely\n\t // before invoking their function\n\t var res = _.extend(data, { status: status });\n\t _.defer(_.partial(this.get('globalSuccessFn'), res));\n\t },\n\t\n\t // Invokes the global error function. This should only be called on non\n\t // recoverable errors (i.e. configuration errors, browser unsupported\n\t // errors, etc)\n\t callGlobalError: function callGlobalError(err) {\n\t // Note: Must use \"this.options.globalErrorFn\" when they've passed invalid\n\t // arguments - globalErrorFn will not have been set yet\n\t var globalErrorFn = this.get('globalErrorFn') || this.options.globalErrorFn;\n\t if (globalErrorFn) {\n\t globalErrorFn(err);\n\t } else {\n\t // Only throw the error if they have not registered a globalErrorFn\n\t throw err;\n\t }\n\t },\n\t\n\t // Get the username by applying the transform function if it exists.\n\t transformUsername: function transformUsername(username, operation) {\n\t var transformFn = this.get('transformUsername');\n\t if (transformFn && _.isFunction(transformFn)) {\n\t return transformFn(username, operation);\n\t }\n\t return username;\n\t },\n\t\n\t processCreds: function processCreds(creds) {\n\t var processCreds = this.get('processCreds');\n\t return Q.Promise(function (resolve) {\n\t if (!_.isFunction(processCreds)) {\n\t resolve();\n\t } else if (processCreds.length === 2) {\n\t processCreds(creds, resolve);\n\t } else {\n\t processCreds(creds);\n\t resolve();\n\t }\n\t });\n\t },\n\t\n\t parseSchema: function parseSchema(schema, onSuccess, onFailure) {\n\t var parseSchema = this.get('registration.parseSchema');\n\t //check for parseSchema callback\n\t if (_.isFunction(parseSchema)) {\n\t parseSchema(schema, function (schema) {\n\t onSuccess(schema);\n\t }, function (error) {\n\t error = error || { 'errorSummary': Okta.loc('registration.default.callbackhook.error') };\n\t error['callback'] = 'parseSchema';\n\t onFailure(error);\n\t });\n\t } else {\n\t //no callback\n\t onSuccess(schema);\n\t }\n\t },\n\t\n\t preSubmit: function preSubmit(postData, onSuccess, onFailure) {\n\t var preSubmit = this.get('registration.preSubmit');\n\t //check for preSubmit callback\n\t if (_.isFunction(preSubmit)) {\n\t preSubmit(postData, function (postData) {\n\t onSuccess(postData);\n\t }, function (error) {\n\t error = error || { 'errorSummary': Okta.loc('registration.default.callbackhook.error') };\n\t error['callback'] = 'preSubmit';\n\t onFailure(error);\n\t });\n\t } else {\n\t //no callback\n\t onSuccess(postData);\n\t }\n\t },\n\t\n\t postSubmit: function postSubmit(response, onSuccess, onFailure) {\n\t var postSubmit = this.get('registration.postSubmit');\n\t //check for postSubmit callback\n\t if (_.isFunction(postSubmit)) {\n\t postSubmit(response, function (response) {\n\t onSuccess(response);\n\t }, function (error) {\n\t error = error || { 'errorSummary': Okta.loc('registration.default.callbackhook.error') };\n\t error['callback'] = 'postSubmit';\n\t onFailure(error);\n\t });\n\t } else {\n\t //no callback\n\t onSuccess(response);\n\t }\n\t },\n\t\n\t // Use the parse function to transform config options to the standard\n\t // settings we currently support. This is a good place to deprecate old\n\t // option formats.\n\t parse: function parse(options) {\n\t if (options.authParams && options.authParams.scope) {\n\t Logger.deprecate('Use \"scopes\" instead of \"scope\"');\n\t options.authParams.scopes = options.authParams.scope;\n\t delete options.authParams.scope;\n\t }\n\t\n\t if (options.labels || options.country) {\n\t Logger.deprecate('Use \"i18n\" instead of \"labels\" and \"country\"');\n\t var overrides = options.labels || {};\n\t _.each(options.country, function (val, key) {\n\t overrides['country.' + key] = val;\n\t });\n\t // Old behavior is to treat the override as a global override, so we\n\t // need to add these overrides to each language\n\t options.i18n = {};\n\t _.each(config.supportedLanguages, function (language) {\n\t options.i18n[language] = overrides;\n\t });\n\t delete options.labels;\n\t delete options.country;\n\t }\n\t\n\t // Default the assets.baseUrl to the cdn, or remove any trailing slashes\n\t if (!options.assets) {\n\t options.assets = {};\n\t }\n\t var abu = options.assets.baseUrl;\n\t if (!abu) {\n\t options.assets.baseUrl = assetBaseUrlTpl({ version: config.version });\n\t } else if (abu[abu.length - 1] === '/') {\n\t options.assets.baseUrl = abu.substring(0, abu.length - 1);\n\t }\n\t\n\t return options;\n\t }\n\t\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 452 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(453), __webpack_require__(454)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, Animations, LoadingBeacon) {\n\t\n\t var NO_BEACON_CLS = 'no-beacon';\n\t var LOADING_BEACON_CLS = 'beacon-small beacon-loading';\n\t\n\t function isLoadingBeacon(beacon) {\n\t return beacon && beacon.equals(LoadingBeacon);\n\t }\n\t\n\t function removeBeacon(view) {\n\t // There are some timing issues with removing beacons (i.e. the case of\n\t // transitioning from loadingBeacon -> loadingBeacon)\n\t if (!view.currentBeacon) {\n\t return;\n\t }\n\t view.currentBeacon.remove();\n\t view.currentBeacon = null;\n\t }\n\t\n\t function addBeacon(view, NextBeacon, selector, options) {\n\t view.add(NextBeacon, {\n\t selector: selector,\n\t options: options\n\t });\n\t view.currentBeacon = view.first();\n\t }\n\t\n\t function typeOfTransition(currentBeacon, NextBeacon, options) {\n\t if (!currentBeacon && !NextBeacon) {\n\t return 'none';\n\t }\n\t // Show Loading beacon\n\t if (!currentBeacon && options.loading) {\n\t return 'load';\n\t }\n\t // Swap/Hide Loading beacon\n\t if (currentBeacon && isLoadingBeacon(currentBeacon)) {\n\t return NextBeacon ? 'swap' : 'unload';\n\t }\n\t if (currentBeacon && currentBeacon.equals(NextBeacon, options)) {\n\t return 'same';\n\t }\n\t if (!currentBeacon && NextBeacon) {\n\t return 'add';\n\t }\n\t if (currentBeacon && !NextBeacon) {\n\t return 'remove';\n\t }\n\t if (currentBeacon instanceof NextBeacon) {\n\t return 'fade';\n\t }\n\t // If none of the above\n\t // then we are changing the type of beacon\n\t // ex. from SecurityBeacon to FactorBeacon\n\t return 'swap';\n\t }\n\t\n\t return Okta.View.extend({\n\t\n\t currentBeacon: null,\n\t\n\t template: '\\\n\t \\\n\t
          \\\n\t ',\n\t\n\t // Attach a 'no-beacon' class if the security image feature\n\t // is not passed in to prevent the beacon from jumping.\n\t initialize: function initialize(options) {\n\t if (!options.settings.get('features.securityImage')) {\n\t this.$el.addClass(NO_BEACON_CLS);\n\t // To show/hide the spinner when there is no security image,\n\t // listen to the appState's loading/removeLoading events.\n\t this.listenTo(options.appState, 'loading', this.setLoadingBeacon);\n\t this.listenTo(options.appState, 'removeLoading', this.removeLoadingBeacon);\n\t }\n\t },\n\t\n\t /* eslint complexity: 0 */\n\t setBeacon: function setBeacon(NextBeacon, options) {\n\t var selector = '[data-type=\"beacon-container\"]',\n\t container = this.$(selector),\n\t transition = typeOfTransition(this.currentBeacon, NextBeacon, options),\n\t self = this;\n\t\n\t switch (transition) {\n\t case 'none':\n\t this.$el.addClass(NO_BEACON_CLS);\n\t return;\n\t case 'same':\n\t return;\n\t case 'add':\n\t this.$el.removeClass(NO_BEACON_CLS);\n\t addBeacon(this, NextBeacon, selector, options);\n\t return Animations.explode(container);\n\t case 'remove':\n\t this.$el.addClass(NO_BEACON_CLS);\n\t return Animations.implode(container).then(function () {\n\t removeBeacon(self);\n\t }).done();\n\t case 'fade':\n\t // Other transitions are performed on the beacon container,\n\t // but this transition is on the content inside the beacon.\n\t // For a SecurityBeacon the username change will update the\n\t // AppState and trigger an transition to a new Becon\n\t // Since there is no url change this method is not called.\n\t // For a FactorBeacon a page refresh has occurred\n\t // so we execute the beacon's own transition method.\n\t if (!this.currentBeacon.fadeOut) {\n\t throw new Error('The current beacon is missing the \"fadeOut\" method');\n\t }\n\t options.animate = true;\n\t return this.currentBeacon.fadeOut().then(function () {\n\t removeBeacon(self);\n\t addBeacon(self, NextBeacon, selector, options);\n\t }).done();\n\t case 'swap':\n\t return Animations.swapBeacons({\n\t $el: container,\n\t swap: function swap() {\n\t var isLoading = isLoadingBeacon(self.currentBeacon);\n\t // Order of these calls is important for -\n\t // loader --> security/factor beacon swap.\n\t removeBeacon(self);\n\t if (isLoading) {\n\t container.removeClass(LOADING_BEACON_CLS);\n\t self.$el.removeClass(NO_BEACON_CLS);\n\t }\n\t addBeacon(self, NextBeacon, selector, options);\n\t }\n\t }).done();\n\t case 'load':\n\t // Show the loading beacon. Add a couple of classes\n\t // before triggering the add beacon code.\n\t container.addClass(LOADING_BEACON_CLS);\n\t addBeacon(self, NextBeacon, selector, options);\n\t return Animations.explode(container);\n\t case 'unload':\n\t // Hide the loading beacon.\n\t return this.removeLoadingBeacon();\n\t default:\n\t throw new Error('the \"' + transition + '\" is not recognized');\n\t }\n\t },\n\t\n\t // Show the loading beacon when the security image feature is not enabled.\n\t setLoadingBeacon: function setLoadingBeacon(isLoading) {\n\t if (!isLoading || isLoadingBeacon(this.currentBeacon)) {\n\t return;\n\t }\n\t this.setBeacon(LoadingBeacon, { loading: true });\n\t },\n\t\n\t // Hide the beacon on primary auth failure. On primary auth success, setBeacon does this job.\n\t removeLoadingBeacon: function removeLoadingBeacon() {\n\t var self = this,\n\t container = this.$('[data-type=\"beacon-container\"]');\n\t\n\t return Animations.implode(container).then(function () {\n\t removeBeacon(self);\n\t container.removeClass(LOADING_BEACON_CLS);\n\t }).done();\n\t },\n\t\n\t getTemplateData: function getTemplateData() {\n\t return this.settings.toJSON({ verbose: true });\n\t },\n\t\n\t getContentEl: function getContentEl() {\n\t return this.$('.auth-content-inner');\n\t }\n\t\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 453 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t/* eslint max-statements: [2, 15] */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(406), __webpack_require__(413)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Q, Enums) {\n\t\n\t var SWAP_PAGE_TIME = 200;\n\t\n\t var fn = {};\n\t\n\t function zoom($el, start, finish) {\n\t var deferred = Q.defer();\n\t $el.animate({\n\t 'text-indent': 1\n\t }, {\n\t duration: 200,\n\t easing: 'swing',\n\t step: function step(now, fx) {\n\t fx.start = start;\n\t fx.end = finish;\n\t $el.css('transform', 'scale(' + now + ', ' + now + ')');\n\t },\n\t always: function always() {\n\t deferred.resolve($el);\n\t }\n\t });\n\t return deferred.promise;\n\t }\n\t\n\t function rotate($el, start, finish) {\n\t var deferred = Q.defer();\n\t $el.animate({\n\t 'text-indent': 1\n\t }, {\n\t duration: 150,\n\t easing: 'swing',\n\t step: function step(now, fx) {\n\t fx.start = start;\n\t fx.end = finish;\n\t $el.css('transform', 'rotate(' + now + 'deg)');\n\t },\n\t always: function always() {\n\t deferred.resolve($el);\n\t }\n\t });\n\t return deferred.promise;\n\t }\n\t\n\t // Note: It is necessary to pass in a success callback because we must\n\t // remove the old dom node (and controller) in the same tick of the event\n\t // loop. Waiting for \"then\" results in a glitchy animation.\n\t fn.swapPages = function (options) {\n\t var deferred = Q.defer();\n\t var $parent = options.$parent;\n\t var $oldRoot = options.$oldRoot;\n\t var $newRoot = options.$newRoot;\n\t var success = options.success;\n\t var ctx = options.ctx;\n\t var directionClassName = 'transition-from-right';\n\t\n\t if (options.dir && options.dir === Enums.DIRECTION_BACK) {\n\t directionClassName = 'transition-from-left';\n\t }\n\t\n\t $newRoot.addClass(directionClassName);\n\t $parent.append($newRoot);\n\t\n\t $parent.addClass('animation-container-overflow');\n\t $newRoot.animate({ left: '0px', top: '0px', opacity: 1 }, SWAP_PAGE_TIME, function () {\n\t $parent.removeClass('animation-container-overflow');\n\t $newRoot.removeClass(directionClassName);\n\t $newRoot.removeAttr('style');\n\t success.call(ctx);\n\t deferred.resolve();\n\t });\n\t\n\t $oldRoot.animate({ height: $newRoot.height(), opacity: 0 }, SWAP_PAGE_TIME * 0.8);\n\t\n\t return deferred.promise;\n\t };\n\t\n\t fn.swapBeacons = function (options) {\n\t var $el = options.$el,\n\t swap = options.swap,\n\t ctx = options.ctx;\n\t\n\t return this.implode($el).then(function () {\n\t swap.call(ctx);\n\t return $el;\n\t }).then(this.explode);\n\t };\n\t\n\t fn.explode = function ($el) {\n\t return zoom($el, 0, 1); //zoom in\n\t };\n\t\n\t fn.implode = function ($el) {\n\t return zoom($el, 1, 0); //zoom out\n\t };\n\t\n\t fn.radialProgressBar = function (options) {\n\t var radialProgressBar = options.$el,\n\t swap = options.swap,\n\t circles = radialProgressBar.children();\n\t\n\t return rotate(circles, 0, 180).then(function () {\n\t radialProgressBar.css({ 'clip': 'auto' });\n\t }).then(function () {\n\t var leftHalf = circles.eq(0);\n\t swap();\n\t return rotate(leftHalf, 180, 360);\n\t }).then(function () {\n\t //reset values to initial state\n\t radialProgressBar.css({ 'clip': 'rect(0px, 96px, 96px, 48px)' });\n\t circles.css({\n\t 'transform': 'rotate(0deg)',\n\t 'text-indent': '1px'\n\t });\n\t });\n\t };\n\t\n\t return fn;\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 454 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta) {\n\t\n\t return Okta.View.extend({\n\t\n\t template: '\\\n\t
          \\\n\t
          \\\n\t \\\n\t ',\n\t\n\t equals: function equals(Beacon) {\n\t return Beacon && this instanceof Beacon;\n\t }\n\t\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 455 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\tvar _regenerator = __webpack_require__(456);\n\t\n\tvar _regenerator2 = _interopRequireDefault(_regenerator);\n\t\n\tvar _asyncToGenerator2 = __webpack_require__(459);\n\t\n\tvar _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(453)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, Animations) {\n\t var updateSecurityImage = function () {\n\t var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee($el, appState, animate) {\n\t var image, border, hasBorder, hasAntiPhishing, radialProgressBar, host, duration;\n\t return _regenerator2.default.wrap(function _callee$(_context) {\n\t while (1) {\n\t switch (_context.prev = _context.next) {\n\t case 0:\n\t 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\t\n\t if (animate) {\n\t _context.next = 5;\n\t break;\n\t }\n\t\n\t // Do not animate the security beacon\n\t // This occurs when initializing the form\n\t setBackgroundImage(image, appState);\n\t border.toggleClass('auth-beacon-border', hasBorder);\n\t return _context.abrupt('return');\n\t\n\t case 5:\n\t\n\t destroyAntiPhishingMessage(image);\n\t\n\t // Animate loading the security beacon\n\t\n\t if (hasBorder) {\n\t _context.next = 10;\n\t break;\n\t }\n\t\n\t // This occurrs when appState username is blank\n\t // we do not yet know if the user is recognized\n\t image.fadeOut(duration, function () {\n\t setBackgroundImage(image, appState);\n\t border.removeClass('auth-beacon-border');\n\t image.fadeIn(duration);\n\t });\n\t _context.next = 15;\n\t break;\n\t\n\t case 10:\n\t // Animate loading the security beacon with a loading bar for the border\n\t // This occurrs when the username has been checked against Okta.\n\t border.removeClass('auth-beacon-border');\n\t _context.next = 13;\n\t return Animations.radialProgressBar({\n\t $el: radialProgressBar,\n\t swap: function swap() {\n\t image.fadeOut(duration, function () {\n\t setBackgroundImage(image, appState);\n\t image.fadeIn(duration);\n\t });\n\t }\n\t });\n\t\n\t case 13:\n\t border.addClass('auth-beacon-border');\n\t if (hasAntiPhishing) {\n\t antiPhishingMessage(image, host);\n\t }\n\t\n\t case 15:\n\t case 'end':\n\t return _context.stop();\n\t }\n\t }\n\t }, _callee, this);\n\t }));\n\t\n\t return function updateSecurityImage(_x, _x2, _x3) {\n\t return _ref.apply(this, arguments);\n\t };\n\t }();\n\t\n\t var _ = Okta._,\n\t $ = Okta.$;\n\t\n\t function setBackgroundImage(el, appState) {\n\t // NOTE: The imgSrc is returned by the server so that every\n\t // user has a unique image. However new and undefined user states\n\t // are hard coded into the css and the value returned by the server\n\t // is ignored.\n\t var imgSrc = appState.get('securityImage'),\n\t imgDescription = appState.get('securityImageDescription'),\n\t isUndefinedUser = appState.get('isUndefinedUser'),\n\t isNewUser = appState.get('isNewUser'),\n\t isSecurityImage = !isUndefinedUser && !isNewUser;\n\t\n\t el.css('background-image', '');\n\t el.removeClass('new-user undefined-user');\n\t if (isNewUser) {\n\t el.addClass('new-user');\n\t return;\n\t }\n\t if (isUndefinedUser) {\n\t el.addClass('undefined-user');\n\t return;\n\t }\n\t if (isSecurityImage) {\n\t // TODO: Newer versions of qtip will remove aria-describedby on their own when destroy() is called.\n\t el.removeAttr('aria-describedby');\n\t el.find('.accessibility-text').text(imgDescription);\n\t el.css('background-image', 'url(' + _.escape(imgSrc) + ')');\n\t return;\n\t }\n\t }\n\t\n\t function antiPhishingMessage(image, host) {\n\t $(window).on('resize.securityBeaconQtip', _.debounce(function () {\n\t if (image.is(':visible')) {\n\t image.qtip('show');\n\t }\n\t }, 300));\n\t\n\t // Show the message that the user has not logged in from this device before.\n\t image.qtip({\n\t prerender: true,\n\t content: {\n\t text: Okta.loc('primaryauth.newUser.tooltip', 'login', [_.escape(host)]),\n\t button: Okta.loc('primaryauth.newUser.tooltip.close', 'login')\n\t },\n\t style: {\n\t classes: 'okta-security-image-tooltip security-image-qtip qtip-custom qtip-shadow qtip-rounded',\n\t tip: { height: 12, width: 16 }\n\t },\n\t position: {\n\t my: 'top center',\n\t at: 'center',\n\t target: $('.auth-beacon-security'),\n\t adjust: { method: 'flip', scroll: false, resize: true },\n\t effect: false\n\t },\n\t hide: { event: false, fixed: true },\n\t show: { event: false, delay: 200 },\n\t events: {\n\t move: function move(event, api) {\n\t if (!api.elements.target.is(':visible')) {\n\t // Have to hide it immediately, with no effect\n\t api.set('hide.effect', false);\n\t api.hide();\n\t api.set('hide.effect', true);\n\t }\n\t }\n\t }\n\t });\n\t\n\t image.qtip('toggle', image.is(':visible'));\n\t }\n\t\n\t function destroyAntiPhishingMessage(image) {\n\t image.qtip('destroy');\n\t $(window).off('resize.securityBeaconQtip');\n\t }\n\t\n\t return Okta.View.extend({\n\t\n\t template: '\\\n\t
          \\\n\t
          \\\n\t
          \\\n\t
          \\\n\t
          \\\n\t
          \\\n\t
          \\\n\t \\\n\t \\\n\t
          \\\n\t ',\n\t className: 'js-security-beacon',\n\t\n\t initialize: function initialize(options) {\n\t this.update = _.partial(updateSecurityImage, this.$el, options.appState);\n\t this.listenTo(options.appState, 'change:securityImage', this.update);\n\t this.listenTo(options.appState, 'loading', function (isLoading) {\n\t this.$el.toggleClass('beacon-loading', isLoading);\n\t this.removeAntiPhishingMessage();\n\t });\n\t this.options.appState.set('beaconType', 'security');\n\t\n\t this.listenTo(options.appState, 'navigate', this.removeAntiPhishingMessage);\n\t },\n\t\n\t postRender: function postRender() {\n\t this.update(false);\n\t },\n\t\n\t equals: function equals(Beacon) {\n\t return Beacon && this instanceof Beacon;\n\t },\n\t\n\t removeAntiPhishingMessage: function removeAntiPhishingMessage() {\n\t var image = this.$el.find('.auth-beacon-security');\n\t image.qtip('destroy');\n\t }\n\t\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 456 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = __webpack_require__(457);\n\n\n/***/ },\n/* 457 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright (c) 2014-present, Facebook, Inc.\n\t *\n\t * This source code is licensed under the MIT license found in the\n\t * LICENSE file in the root directory of this source tree.\n\t */\n\t\n\t// This method of obtaining a reference to the global object needs to be\n\t// kept identical to the way it is obtained in runtime.js\n\tvar g = (function() { return this })() || Function(\"return this\")();\n\t\n\t// Use `getOwnPropertyNames` because not all browsers support calling\n\t// `hasOwnProperty` on the global `self` object in a worker. See #183.\n\tvar hadRuntime = g.regeneratorRuntime &&\n\t Object.getOwnPropertyNames(g).indexOf(\"regeneratorRuntime\") >= 0;\n\t\n\t// Save the old regeneratorRuntime in case it needs to be restored later.\n\tvar oldRuntime = hadRuntime && g.regeneratorRuntime;\n\t\n\t// Force reevalutation of runtime.js.\n\tg.regeneratorRuntime = undefined;\n\t\n\tmodule.exports = __webpack_require__(458);\n\t\n\tif (hadRuntime) {\n\t // Restore the original runtime.\n\t g.regeneratorRuntime = oldRuntime;\n\t} else {\n\t // Remove the global property added by runtime.js.\n\t try {\n\t delete g.regeneratorRuntime;\n\t } catch(e) {\n\t g.regeneratorRuntime = undefined;\n\t }\n\t}\n\n\n/***/ },\n/* 458 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copyright (c) 2014-present, Facebook, Inc.\n\t *\n\t * This source code is licensed under the MIT license found in the\n\t * LICENSE file in the root directory of this source tree.\n\t */\n\t\n\t!(function(global) {\n\t \"use strict\";\n\t\n\t var Op = Object.prototype;\n\t var hasOwn = Op.hasOwnProperty;\n\t var undefined; // More compressible than void 0.\n\t var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n\t var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n\t var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n\t var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\t\n\t var inModule = typeof module === \"object\";\n\t var runtime = global.regeneratorRuntime;\n\t if (runtime) {\n\t if (inModule) {\n\t // If regeneratorRuntime is defined globally and we're in a module,\n\t // make the exports object identical to regeneratorRuntime.\n\t module.exports = runtime;\n\t }\n\t // Don't bother evaluating the rest of this file if the runtime was\n\t // already defined globally.\n\t return;\n\t }\n\t\n\t // Define the runtime globally (as expected by generated code) as either\n\t // module.exports (if we're in a module) or a new, empty object.\n\t runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\t\n\t function wrap(innerFn, outerFn, self, tryLocsList) {\n\t // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n\t var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n\t var generator = Object.create(protoGenerator.prototype);\n\t var context = new Context(tryLocsList || []);\n\t\n\t // The ._invoke method unifies the implementations of the .next,\n\t // .throw, and .return methods.\n\t generator._invoke = makeInvokeMethod(innerFn, self, context);\n\t\n\t return generator;\n\t }\n\t runtime.wrap = wrap;\n\t\n\t // Try/catch helper to minimize deoptimizations. Returns a completion\n\t // record like context.tryEntries[i].completion. This interface could\n\t // have been (and was previously) designed to take a closure to be\n\t // invoked without arguments, but in all the cases we care about we\n\t // already have an existing method we want to call, so there's no need\n\t // to create a new function object. We can even get away with assuming\n\t // the method takes exactly one argument, since that happens to be true\n\t // in every case, so we don't have to touch the arguments object. The\n\t // only additional allocation required is the completion record, which\n\t // has a stable shape and so hopefully should be cheap to allocate.\n\t function tryCatch(fn, obj, arg) {\n\t try {\n\t return { type: \"normal\", arg: fn.call(obj, arg) };\n\t } catch (err) {\n\t return { type: \"throw\", arg: err };\n\t }\n\t }\n\t\n\t var GenStateSuspendedStart = \"suspendedStart\";\n\t var GenStateSuspendedYield = \"suspendedYield\";\n\t var GenStateExecuting = \"executing\";\n\t var GenStateCompleted = \"completed\";\n\t\n\t // Returning this object from the innerFn has the same effect as\n\t // breaking out of the dispatch switch statement.\n\t var ContinueSentinel = {};\n\t\n\t // Dummy constructor functions that we use as the .constructor and\n\t // .constructor.prototype properties for functions that return Generator\n\t // objects. For full spec compliance, you may wish to configure your\n\t // minifier not to mangle the names of these two functions.\n\t function Generator() {}\n\t function GeneratorFunction() {}\n\t function GeneratorFunctionPrototype() {}\n\t\n\t // This is a polyfill for %IteratorPrototype% for environments that\n\t // don't natively support it.\n\t var IteratorPrototype = {};\n\t IteratorPrototype[iteratorSymbol] = function () {\n\t return this;\n\t };\n\t\n\t var getProto = Object.getPrototypeOf;\n\t var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n\t if (NativeIteratorPrototype &&\n\t NativeIteratorPrototype !== Op &&\n\t hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n\t // This environment has a native %IteratorPrototype%; use it instead\n\t // of the polyfill.\n\t IteratorPrototype = NativeIteratorPrototype;\n\t }\n\t\n\t var Gp = GeneratorFunctionPrototype.prototype =\n\t Generator.prototype = Object.create(IteratorPrototype);\n\t GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n\t GeneratorFunctionPrototype.constructor = GeneratorFunction;\n\t GeneratorFunctionPrototype[toStringTagSymbol] =\n\t GeneratorFunction.displayName = \"GeneratorFunction\";\n\t\n\t // Helper for defining the .next, .throw, and .return methods of the\n\t // Iterator interface in terms of a single ._invoke method.\n\t function defineIteratorMethods(prototype) {\n\t [\"next\", \"throw\", \"return\"].forEach(function(method) {\n\t prototype[method] = function(arg) {\n\t return this._invoke(method, arg);\n\t };\n\t });\n\t }\n\t\n\t runtime.isGeneratorFunction = function(genFun) {\n\t var ctor = typeof genFun === \"function\" && genFun.constructor;\n\t return ctor\n\t ? ctor === GeneratorFunction ||\n\t // For the native GeneratorFunction constructor, the best we can\n\t // do is to check its .name property.\n\t (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n\t : false;\n\t };\n\t\n\t runtime.mark = function(genFun) {\n\t if (Object.setPrototypeOf) {\n\t Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n\t } else {\n\t genFun.__proto__ = GeneratorFunctionPrototype;\n\t if (!(toStringTagSymbol in genFun)) {\n\t genFun[toStringTagSymbol] = \"GeneratorFunction\";\n\t }\n\t }\n\t genFun.prototype = Object.create(Gp);\n\t return genFun;\n\t };\n\t\n\t // Within the body of any async function, `await x` is transformed to\n\t // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n\t // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n\t // meant to be awaited.\n\t runtime.awrap = function(arg) {\n\t return { __await: arg };\n\t };\n\t\n\t function AsyncIterator(generator) {\n\t function invoke(method, arg, resolve, reject) {\n\t var record = tryCatch(generator[method], generator, arg);\n\t if (record.type === \"throw\") {\n\t reject(record.arg);\n\t } else {\n\t var result = record.arg;\n\t var value = result.value;\n\t if (value &&\n\t typeof value === \"object\" &&\n\t hasOwn.call(value, \"__await\")) {\n\t return Promise.resolve(value.__await).then(function(value) {\n\t invoke(\"next\", value, resolve, reject);\n\t }, function(err) {\n\t invoke(\"throw\", err, resolve, reject);\n\t });\n\t }\n\t\n\t return Promise.resolve(value).then(function(unwrapped) {\n\t // When a yielded Promise is resolved, its final value becomes\n\t // the .value of the Promise<{value,done}> result for the\n\t // current iteration. If the Promise is rejected, however, the\n\t // result for this iteration will be rejected with the same\n\t // reason. Note that rejections of yielded Promises are not\n\t // thrown back into the generator function, as is the case\n\t // when an awaited Promise is rejected. This difference in\n\t // behavior between yield and await is important, because it\n\t // allows the consumer to decide what to do with the yielded\n\t // rejection (swallow it and continue, manually .throw it back\n\t // into the generator, abandon iteration, whatever). With\n\t // await, by contrast, there is no opportunity to examine the\n\t // rejection reason outside the generator function, so the\n\t // only option is to throw it from the await expression, and\n\t // let the generator function handle the exception.\n\t result.value = unwrapped;\n\t resolve(result);\n\t }, reject);\n\t }\n\t }\n\t\n\t var previousPromise;\n\t\n\t function enqueue(method, arg) {\n\t function callInvokeWithMethodAndArg() {\n\t return new Promise(function(resolve, reject) {\n\t invoke(method, arg, resolve, reject);\n\t });\n\t }\n\t\n\t return previousPromise =\n\t // If enqueue has been called before, then we want to wait until\n\t // all previous Promises have been resolved before calling invoke,\n\t // so that results are always delivered in the correct order. If\n\t // enqueue has not been called before, then it is important to\n\t // call invoke immediately, without waiting on a callback to fire,\n\t // so that the async generator function has the opportunity to do\n\t // any necessary setup in a predictable way. This predictability\n\t // is why the Promise constructor synchronously invokes its\n\t // executor callback, and why async functions synchronously\n\t // execute code before the first await. Since we implement simple\n\t // async functions in terms of async generators, it is especially\n\t // important to get this right, even though it requires care.\n\t previousPromise ? previousPromise.then(\n\t callInvokeWithMethodAndArg,\n\t // Avoid propagating failures to Promises returned by later\n\t // invocations of the iterator.\n\t callInvokeWithMethodAndArg\n\t ) : callInvokeWithMethodAndArg();\n\t }\n\t\n\t // Define the unified helper method that is used to implement .next,\n\t // .throw, and .return (see defineIteratorMethods).\n\t this._invoke = enqueue;\n\t }\n\t\n\t defineIteratorMethods(AsyncIterator.prototype);\n\t AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n\t return this;\n\t };\n\t runtime.AsyncIterator = AsyncIterator;\n\t\n\t // Note that simple async functions are implemented on top of\n\t // AsyncIterator objects; they just return a Promise for the value of\n\t // the final result produced by the iterator.\n\t runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n\t var iter = new AsyncIterator(\n\t wrap(innerFn, outerFn, self, tryLocsList)\n\t );\n\t\n\t return runtime.isGeneratorFunction(outerFn)\n\t ? iter // If outerFn is a generator, return the full iterator.\n\t : iter.next().then(function(result) {\n\t return result.done ? result.value : iter.next();\n\t });\n\t };\n\t\n\t function makeInvokeMethod(innerFn, self, context) {\n\t var state = GenStateSuspendedStart;\n\t\n\t return function invoke(method, arg) {\n\t if (state === GenStateExecuting) {\n\t throw new Error(\"Generator is already running\");\n\t }\n\t\n\t if (state === GenStateCompleted) {\n\t if (method === \"throw\") {\n\t throw arg;\n\t }\n\t\n\t // Be forgiving, per 25.3.3.3.3 of the spec:\n\t // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n\t return doneResult();\n\t }\n\t\n\t context.method = method;\n\t context.arg = arg;\n\t\n\t while (true) {\n\t var delegate = context.delegate;\n\t if (delegate) {\n\t var delegateResult = maybeInvokeDelegate(delegate, context);\n\t if (delegateResult) {\n\t if (delegateResult === ContinueSentinel) continue;\n\t return delegateResult;\n\t }\n\t }\n\t\n\t if (context.method === \"next\") {\n\t // Setting context._sent for legacy support of Babel's\n\t // function.sent implementation.\n\t context.sent = context._sent = context.arg;\n\t\n\t } else if (context.method === \"throw\") {\n\t if (state === GenStateSuspendedStart) {\n\t state = GenStateCompleted;\n\t throw context.arg;\n\t }\n\t\n\t context.dispatchException(context.arg);\n\t\n\t } else if (context.method === \"return\") {\n\t context.abrupt(\"return\", context.arg);\n\t }\n\t\n\t state = GenStateExecuting;\n\t\n\t var record = tryCatch(innerFn, self, context);\n\t if (record.type === \"normal\") {\n\t // If an exception is thrown from innerFn, we leave state ===\n\t // GenStateExecuting and loop back for another invocation.\n\t state = context.done\n\t ? GenStateCompleted\n\t : GenStateSuspendedYield;\n\t\n\t if (record.arg === ContinueSentinel) {\n\t continue;\n\t }\n\t\n\t return {\n\t value: record.arg,\n\t done: context.done\n\t };\n\t\n\t } else if (record.type === \"throw\") {\n\t state = GenStateCompleted;\n\t // Dispatch the exception by looping back around to the\n\t // context.dispatchException(context.arg) call above.\n\t context.method = \"throw\";\n\t context.arg = record.arg;\n\t }\n\t }\n\t };\n\t }\n\t\n\t // Call delegate.iterator[context.method](context.arg) and handle the\n\t // result, either by returning a { value, done } result from the\n\t // delegate iterator, or by modifying context.method and context.arg,\n\t // setting context.delegate to null, and returning the ContinueSentinel.\n\t function maybeInvokeDelegate(delegate, context) {\n\t var method = delegate.iterator[context.method];\n\t if (method === undefined) {\n\t // A .throw or .return when the delegate iterator has no .throw\n\t // method always terminates the yield* loop.\n\t context.delegate = null;\n\t\n\t if (context.method === \"throw\") {\n\t if (delegate.iterator.return) {\n\t // If the delegate iterator has a return method, give it a\n\t // chance to clean up.\n\t context.method = \"return\";\n\t context.arg = undefined;\n\t maybeInvokeDelegate(delegate, context);\n\t\n\t if (context.method === \"throw\") {\n\t // If maybeInvokeDelegate(context) changed context.method from\n\t // \"return\" to \"throw\", let that override the TypeError below.\n\t return ContinueSentinel;\n\t }\n\t }\n\t\n\t context.method = \"throw\";\n\t context.arg = new TypeError(\n\t \"The iterator does not provide a 'throw' method\");\n\t }\n\t\n\t return ContinueSentinel;\n\t }\n\t\n\t var record = tryCatch(method, delegate.iterator, context.arg);\n\t\n\t if (record.type === \"throw\") {\n\t context.method = \"throw\";\n\t context.arg = record.arg;\n\t context.delegate = null;\n\t return ContinueSentinel;\n\t }\n\t\n\t var info = record.arg;\n\t\n\t if (! info) {\n\t context.method = \"throw\";\n\t context.arg = new TypeError(\"iterator result is not an object\");\n\t context.delegate = null;\n\t return ContinueSentinel;\n\t }\n\t\n\t if (info.done) {\n\t // Assign the result of the finished delegate to the temporary\n\t // variable specified by delegate.resultName (see delegateYield).\n\t context[delegate.resultName] = info.value;\n\t\n\t // Resume execution at the desired location (see delegateYield).\n\t context.next = delegate.nextLoc;\n\t\n\t // If context.method was \"throw\" but the delegate handled the\n\t // exception, let the outer generator proceed normally. If\n\t // context.method was \"next\", forget context.arg since it has been\n\t // \"consumed\" by the delegate iterator. If context.method was\n\t // \"return\", allow the original .return call to continue in the\n\t // outer generator.\n\t if (context.method !== \"return\") {\n\t context.method = \"next\";\n\t context.arg = undefined;\n\t }\n\t\n\t } else {\n\t // Re-yield the result returned by the delegate method.\n\t return info;\n\t }\n\t\n\t // The delegate iterator is finished, so forget it and continue with\n\t // the outer generator.\n\t context.delegate = null;\n\t return ContinueSentinel;\n\t }\n\t\n\t // Define Generator.prototype.{next,throw,return} in terms of the\n\t // unified ._invoke helper method.\n\t defineIteratorMethods(Gp);\n\t\n\t Gp[toStringTagSymbol] = \"Generator\";\n\t\n\t // A Generator should always return itself as the iterator object when the\n\t // @@iterator function is called on it. Some browsers' implementations of the\n\t // iterator prototype chain incorrectly implement this, causing the Generator\n\t // object to not be returned from this call. This ensures that doesn't happen.\n\t // See https://github.com/facebook/regenerator/issues/274 for more details.\n\t Gp[iteratorSymbol] = function() {\n\t return this;\n\t };\n\t\n\t Gp.toString = function() {\n\t return \"[object Generator]\";\n\t };\n\t\n\t function pushTryEntry(locs) {\n\t var entry = { tryLoc: locs[0] };\n\t\n\t if (1 in locs) {\n\t entry.catchLoc = locs[1];\n\t }\n\t\n\t if (2 in locs) {\n\t entry.finallyLoc = locs[2];\n\t entry.afterLoc = locs[3];\n\t }\n\t\n\t this.tryEntries.push(entry);\n\t }\n\t\n\t function resetTryEntry(entry) {\n\t var record = entry.completion || {};\n\t record.type = \"normal\";\n\t delete record.arg;\n\t entry.completion = record;\n\t }\n\t\n\t function Context(tryLocsList) {\n\t // The root entry object (effectively a try statement without a catch\n\t // or a finally block) gives us a place to store values thrown from\n\t // locations where there is no enclosing try statement.\n\t this.tryEntries = [{ tryLoc: \"root\" }];\n\t tryLocsList.forEach(pushTryEntry, this);\n\t this.reset(true);\n\t }\n\t\n\t runtime.keys = function(object) {\n\t var keys = [];\n\t for (var key in object) {\n\t keys.push(key);\n\t }\n\t keys.reverse();\n\t\n\t // Rather than returning an object with a next method, we keep\n\t // things simple and return the next function itself.\n\t return function next() {\n\t while (keys.length) {\n\t var key = keys.pop();\n\t if (key in object) {\n\t next.value = key;\n\t next.done = false;\n\t return next;\n\t }\n\t }\n\t\n\t // To avoid creating an additional object, we just hang the .value\n\t // and .done properties off the next function object itself. This\n\t // also ensures that the minifier will not anonymize the function.\n\t next.done = true;\n\t return next;\n\t };\n\t };\n\t\n\t function values(iterable) {\n\t if (iterable) {\n\t var iteratorMethod = iterable[iteratorSymbol];\n\t if (iteratorMethod) {\n\t return iteratorMethod.call(iterable);\n\t }\n\t\n\t if (typeof iterable.next === \"function\") {\n\t return iterable;\n\t }\n\t\n\t if (!isNaN(iterable.length)) {\n\t var i = -1, next = function next() {\n\t while (++i < iterable.length) {\n\t if (hasOwn.call(iterable, i)) {\n\t next.value = iterable[i];\n\t next.done = false;\n\t return next;\n\t }\n\t }\n\t\n\t next.value = undefined;\n\t next.done = true;\n\t\n\t return next;\n\t };\n\t\n\t return next.next = next;\n\t }\n\t }\n\t\n\t // Return an iterator with no values.\n\t return { next: doneResult };\n\t }\n\t runtime.values = values;\n\t\n\t function doneResult() {\n\t return { value: undefined, done: true };\n\t }\n\t\n\t Context.prototype = {\n\t constructor: Context,\n\t\n\t reset: function(skipTempReset) {\n\t this.prev = 0;\n\t this.next = 0;\n\t // Resetting context._sent for legacy support of Babel's\n\t // function.sent implementation.\n\t this.sent = this._sent = undefined;\n\t this.done = false;\n\t this.delegate = null;\n\t\n\t this.method = \"next\";\n\t this.arg = undefined;\n\t\n\t this.tryEntries.forEach(resetTryEntry);\n\t\n\t if (!skipTempReset) {\n\t for (var name in this) {\n\t // Not sure about the optimal order of these conditions:\n\t if (name.charAt(0) === \"t\" &&\n\t hasOwn.call(this, name) &&\n\t !isNaN(+name.slice(1))) {\n\t this[name] = undefined;\n\t }\n\t }\n\t }\n\t },\n\t\n\t stop: function() {\n\t this.done = true;\n\t\n\t var rootEntry = this.tryEntries[0];\n\t var rootRecord = rootEntry.completion;\n\t if (rootRecord.type === \"throw\") {\n\t throw rootRecord.arg;\n\t }\n\t\n\t return this.rval;\n\t },\n\t\n\t dispatchException: function(exception) {\n\t if (this.done) {\n\t throw exception;\n\t }\n\t\n\t var context = this;\n\t function handle(loc, caught) {\n\t record.type = \"throw\";\n\t record.arg = exception;\n\t context.next = loc;\n\t\n\t if (caught) {\n\t // If the dispatched exception was caught by a catch block,\n\t // then let that catch block handle the exception normally.\n\t context.method = \"next\";\n\t context.arg = undefined;\n\t }\n\t\n\t return !! caught;\n\t }\n\t\n\t for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n\t var entry = this.tryEntries[i];\n\t var record = entry.completion;\n\t\n\t if (entry.tryLoc === \"root\") {\n\t // Exception thrown outside of any try block that could handle\n\t // it, so set the completion value of the entire function to\n\t // throw the exception.\n\t return handle(\"end\");\n\t }\n\t\n\t if (entry.tryLoc <= this.prev) {\n\t var hasCatch = hasOwn.call(entry, \"catchLoc\");\n\t var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\t\n\t if (hasCatch && hasFinally) {\n\t if (this.prev < entry.catchLoc) {\n\t return handle(entry.catchLoc, true);\n\t } else if (this.prev < entry.finallyLoc) {\n\t return handle(entry.finallyLoc);\n\t }\n\t\n\t } else if (hasCatch) {\n\t if (this.prev < entry.catchLoc) {\n\t return handle(entry.catchLoc, true);\n\t }\n\t\n\t } else if (hasFinally) {\n\t if (this.prev < entry.finallyLoc) {\n\t return handle(entry.finallyLoc);\n\t }\n\t\n\t } else {\n\t throw new Error(\"try statement without catch or finally\");\n\t }\n\t }\n\t }\n\t },\n\t\n\t abrupt: function(type, arg) {\n\t for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n\t var entry = this.tryEntries[i];\n\t if (entry.tryLoc <= this.prev &&\n\t hasOwn.call(entry, \"finallyLoc\") &&\n\t this.prev < entry.finallyLoc) {\n\t var finallyEntry = entry;\n\t break;\n\t }\n\t }\n\t\n\t if (finallyEntry &&\n\t (type === \"break\" ||\n\t type === \"continue\") &&\n\t finallyEntry.tryLoc <= arg &&\n\t arg <= finallyEntry.finallyLoc) {\n\t // Ignore the finally entry if control is not jumping to a\n\t // location outside the try/catch block.\n\t finallyEntry = null;\n\t }\n\t\n\t var record = finallyEntry ? finallyEntry.completion : {};\n\t record.type = type;\n\t record.arg = arg;\n\t\n\t if (finallyEntry) {\n\t this.method = \"next\";\n\t this.next = finallyEntry.finallyLoc;\n\t return ContinueSentinel;\n\t }\n\t\n\t return this.complete(record);\n\t },\n\t\n\t complete: function(record, afterLoc) {\n\t if (record.type === \"throw\") {\n\t throw record.arg;\n\t }\n\t\n\t if (record.type === \"break\" ||\n\t record.type === \"continue\") {\n\t this.next = record.arg;\n\t } else if (record.type === \"return\") {\n\t this.rval = this.arg = record.arg;\n\t this.method = \"return\";\n\t this.next = \"end\";\n\t } else if (record.type === \"normal\" && afterLoc) {\n\t this.next = afterLoc;\n\t }\n\t\n\t return ContinueSentinel;\n\t },\n\t\n\t finish: function(finallyLoc) {\n\t for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n\t var entry = this.tryEntries[i];\n\t if (entry.finallyLoc === finallyLoc) {\n\t this.complete(entry.completion, entry.afterLoc);\n\t resetTryEntry(entry);\n\t return ContinueSentinel;\n\t }\n\t }\n\t },\n\t\n\t \"catch\": function(tryLoc) {\n\t for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n\t var entry = this.tryEntries[i];\n\t if (entry.tryLoc === tryLoc) {\n\t var record = entry.completion;\n\t if (record.type === \"throw\") {\n\t var thrown = record.arg;\n\t resetTryEntry(entry);\n\t }\n\t return thrown;\n\t }\n\t }\n\t\n\t // The context.catch method must only be called with a location\n\t // argument that corresponds to a known catch block.\n\t throw new Error(\"illegal catch attempt\");\n\t },\n\t\n\t delegateYield: function(iterable, resultName, nextLoc) {\n\t this.delegate = {\n\t iterator: values(iterable),\n\t resultName: resultName,\n\t nextLoc: nextLoc\n\t };\n\t\n\t if (this.method === \"next\") {\n\t // Deliberately forget the last sent value so that we don't\n\t // accidentally pass it on to the delegate.\n\t this.arg = undefined;\n\t }\n\t\n\t return ContinueSentinel;\n\t }\n\t };\n\t})(\n\t // In sloppy mode, unbound `this` refers to the global object, fallback to\n\t // Function constructor if we're in global strict mode. That is sadly a form\n\t // of indirect eval which violates Content Security Policy.\n\t (function() { return this })() || Function(\"return this\")()\n\t);\n\n\n/***/ },\n/* 459 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\tvar _promise = __webpack_require__(460);\n\t\n\tvar _promise2 = _interopRequireDefault(_promise);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = function (fn) {\n\t return function () {\n\t var gen = fn.apply(this, arguments);\n\t return new _promise2.default(function (resolve, reject) {\n\t function step(key, arg) {\n\t try {\n\t var info = gen[key](arg);\n\t var value = info.value;\n\t } catch (error) {\n\t reject(error);\n\t return;\n\t }\n\t\n\t if (info.done) {\n\t resolve(value);\n\t } else {\n\t return _promise2.default.resolve(value).then(function (value) {\n\t step(\"next\", value);\n\t }, function (err) {\n\t step(\"throw\", err);\n\t });\n\t }\n\t }\n\t\n\t return step(\"next\");\n\t });\n\t };\n\t};\n\n/***/ },\n/* 460 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(461), __esModule: true };\n\n/***/ },\n/* 461 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(399);\n\t__webpack_require__(339);\n\t__webpack_require__(382);\n\t__webpack_require__(462);\n\t__webpack_require__(480);\n\t__webpack_require__(481);\n\tmodule.exports = __webpack_require__(335).Promise;\n\n\n/***/ },\n/* 462 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar LIBRARY = __webpack_require__(344);\n\tvar global = __webpack_require__(346);\n\tvar ctx = __webpack_require__(347);\n\tvar classof = __webpack_require__(463);\n\tvar $export = __webpack_require__(345);\n\tvar isObject = __webpack_require__(352);\n\tvar aFunction = __webpack_require__(348);\n\tvar anInstance = __webpack_require__(464);\n\tvar forOf = __webpack_require__(465);\n\tvar speciesConstructor = __webpack_require__(469);\n\tvar task = __webpack_require__(470).set;\n\tvar microtask = __webpack_require__(472)();\n\tvar newPromiseCapabilityModule = __webpack_require__(473);\n\tvar perform = __webpack_require__(474);\n\tvar userAgent = __webpack_require__(475);\n\tvar promiseResolve = __webpack_require__(476);\n\tvar PROMISE = 'Promise';\n\tvar TypeError = global.TypeError;\n\tvar process = global.process;\n\tvar versions = process && process.versions;\n\tvar v8 = versions && versions.v8 || '';\n\tvar $Promise = global[PROMISE];\n\tvar isNode = classof(process) == 'process';\n\tvar empty = function () { /* empty */ };\n\tvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\n\tvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\t\n\tvar USE_NATIVE = !!function () {\n\t try {\n\t // correct subclassing with @@species support\n\t var promise = $Promise.resolve(1);\n\t var FakePromise = (promise.constructor = {})[__webpack_require__(379)('species')] = function (exec) {\n\t exec(empty, empty);\n\t };\n\t // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n\t return (isNode || typeof PromiseRejectionEvent == 'function')\n\t && promise.then(empty) instanceof FakePromise\n\t // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n\t // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n\t // we can't detect it synchronously, so just check versions\n\t && v8.indexOf('6.6') !== 0\n\t && userAgent.indexOf('Chrome/66') === -1;\n\t } catch (e) { /* empty */ }\n\t}();\n\t\n\t// helpers\n\tvar isThenable = function (it) {\n\t var then;\n\t return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n\t};\n\tvar notify = function (promise, isReject) {\n\t if (promise._n) return;\n\t promise._n = true;\n\t var chain = promise._c;\n\t microtask(function () {\n\t var value = promise._v;\n\t var ok = promise._s == 1;\n\t var i = 0;\n\t var run = function (reaction) {\n\t var handler = ok ? reaction.ok : reaction.fail;\n\t var resolve = reaction.resolve;\n\t var reject = reaction.reject;\n\t var domain = reaction.domain;\n\t var result, then, exited;\n\t try {\n\t if (handler) {\n\t if (!ok) {\n\t if (promise._h == 2) onHandleUnhandled(promise);\n\t promise._h = 1;\n\t }\n\t if (handler === true) result = value;\n\t else {\n\t if (domain) domain.enter();\n\t result = handler(value); // may throw\n\t if (domain) {\n\t domain.exit();\n\t exited = true;\n\t }\n\t }\n\t if (result === reaction.promise) {\n\t reject(TypeError('Promise-chain cycle'));\n\t } else if (then = isThenable(result)) {\n\t then.call(result, resolve, reject);\n\t } else resolve(result);\n\t } else reject(value);\n\t } catch (e) {\n\t if (domain && !exited) domain.exit();\n\t reject(e);\n\t }\n\t };\n\t while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n\t promise._c = [];\n\t promise._n = false;\n\t if (isReject && !promise._h) onUnhandled(promise);\n\t });\n\t};\n\tvar onUnhandled = function (promise) {\n\t task.call(global, function () {\n\t var value = promise._v;\n\t var unhandled = isUnhandled(promise);\n\t var result, handler, console;\n\t if (unhandled) {\n\t result = perform(function () {\n\t if (isNode) {\n\t process.emit('unhandledRejection', value, promise);\n\t } else if (handler = global.onunhandledrejection) {\n\t handler({ promise: promise, reason: value });\n\t } else if ((console = global.console) && console.error) {\n\t console.error('Unhandled promise rejection', value);\n\t }\n\t });\n\t // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n\t promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n\t } promise._a = undefined;\n\t if (unhandled && result.e) throw result.v;\n\t });\n\t};\n\tvar isUnhandled = function (promise) {\n\t return promise._h !== 1 && (promise._a || promise._c).length === 0;\n\t};\n\tvar onHandleUnhandled = function (promise) {\n\t task.call(global, function () {\n\t var handler;\n\t if (isNode) {\n\t process.emit('rejectionHandled', promise);\n\t } else if (handler = global.onrejectionhandled) {\n\t handler({ promise: promise, reason: promise._v });\n\t }\n\t });\n\t};\n\tvar $reject = function (value) {\n\t var promise = this;\n\t if (promise._d) return;\n\t promise._d = true;\n\t promise = promise._w || promise; // unwrap\n\t promise._v = value;\n\t promise._s = 2;\n\t if (!promise._a) promise._a = promise._c.slice();\n\t notify(promise, true);\n\t};\n\tvar $resolve = function (value) {\n\t var promise = this;\n\t var then;\n\t if (promise._d) return;\n\t promise._d = true;\n\t promise = promise._w || promise; // unwrap\n\t try {\n\t if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n\t if (then = isThenable(value)) {\n\t microtask(function () {\n\t var wrapper = { _w: promise, _d: false }; // wrap\n\t try {\n\t then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n\t } catch (e) {\n\t $reject.call(wrapper, e);\n\t }\n\t });\n\t } else {\n\t promise._v = value;\n\t promise._s = 1;\n\t notify(promise, false);\n\t }\n\t } catch (e) {\n\t $reject.call({ _w: promise, _d: false }, e); // wrap\n\t }\n\t};\n\t\n\t// constructor polyfill\n\tif (!USE_NATIVE) {\n\t // 25.4.3.1 Promise(executor)\n\t $Promise = function Promise(executor) {\n\t anInstance(this, $Promise, PROMISE, '_h');\n\t aFunction(executor);\n\t Internal.call(this);\n\t try {\n\t executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n\t } catch (err) {\n\t $reject.call(this, err);\n\t }\n\t };\n\t // eslint-disable-next-line no-unused-vars\n\t Internal = function Promise(executor) {\n\t this._c = []; // <- awaiting reactions\n\t this._a = undefined; // <- checked in isUnhandled reactions\n\t this._s = 0; // <- state\n\t this._d = false; // <- done\n\t this._v = undefined; // <- value\n\t this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n\t this._n = false; // <- notify\n\t };\n\t Internal.prototype = __webpack_require__(477)($Promise.prototype, {\n\t // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n\t then: function then(onFulfilled, onRejected) {\n\t var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n\t reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n\t reaction.fail = typeof onRejected == 'function' && onRejected;\n\t reaction.domain = isNode ? process.domain : undefined;\n\t this._c.push(reaction);\n\t if (this._a) this._a.push(reaction);\n\t if (this._s) notify(this, false);\n\t return reaction.promise;\n\t },\n\t // 25.4.5.1 Promise.prototype.catch(onRejected)\n\t 'catch': function (onRejected) {\n\t return this.then(undefined, onRejected);\n\t }\n\t });\n\t OwnPromiseCapability = function () {\n\t var promise = new Internal();\n\t this.promise = promise;\n\t this.resolve = ctx($resolve, promise, 1);\n\t this.reject = ctx($reject, promise, 1);\n\t };\n\t newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n\t return C === $Promise || C === Wrapper\n\t ? new OwnPromiseCapability(C)\n\t : newGenericPromiseCapability(C);\n\t };\n\t}\n\t\n\t$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\n\t__webpack_require__(378)($Promise, PROMISE);\n\t__webpack_require__(478)(PROMISE);\n\tWrapper = __webpack_require__(335)[PROMISE];\n\t\n\t// statics\n\t$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n\t // 25.4.4.5 Promise.reject(r)\n\t reject: function reject(r) {\n\t var capability = newPromiseCapability(this);\n\t var $$reject = capability.reject;\n\t $$reject(r);\n\t return capability.promise;\n\t }\n\t});\n\t$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n\t // 25.4.4.6 Promise.resolve(x)\n\t resolve: function resolve(x) {\n\t return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n\t }\n\t});\n\t$export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(479)(function (iter) {\n\t $Promise.all(iter)['catch'](empty);\n\t})), PROMISE, {\n\t // 25.4.4.1 Promise.all(iterable)\n\t all: function all(iterable) {\n\t var C = this;\n\t var capability = newPromiseCapability(C);\n\t var resolve = capability.resolve;\n\t var reject = capability.reject;\n\t var result = perform(function () {\n\t var values = [];\n\t var index = 0;\n\t var remaining = 1;\n\t forOf(iterable, false, function (promise) {\n\t var $index = index++;\n\t var alreadyCalled = false;\n\t values.push(undefined);\n\t remaining++;\n\t C.resolve(promise).then(function (value) {\n\t if (alreadyCalled) return;\n\t alreadyCalled = true;\n\t values[$index] = value;\n\t --remaining || resolve(values);\n\t }, reject);\n\t });\n\t --remaining || resolve(values);\n\t });\n\t if (result.e) reject(result.v);\n\t return capability.promise;\n\t },\n\t // 25.4.4.4 Promise.race(iterable)\n\t race: function race(iterable) {\n\t var C = this;\n\t var capability = newPromiseCapability(C);\n\t var reject = capability.reject;\n\t var result = perform(function () {\n\t forOf(iterable, false, function (promise) {\n\t C.resolve(promise).then(capability.resolve, reject);\n\t });\n\t });\n\t if (result.e) reject(result.v);\n\t return capability.promise;\n\t }\n\t});\n\n\n/***/ },\n/* 463 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// getting tag from 19.1.3.6 Object.prototype.toString()\n\tvar cof = __webpack_require__(369);\n\tvar TAG = __webpack_require__(379)('toStringTag');\n\t// ES3 wrong here\n\tvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\t\n\t// fallback for IE11 Script Access Denied error\n\tvar tryGet = function (it, key) {\n\t try {\n\t return it[key];\n\t } catch (e) { /* empty */ }\n\t};\n\t\n\tmodule.exports = function (it) {\n\t var O, T, B;\n\t return it === undefined ? 'Undefined' : it === null ? 'Null'\n\t // @@toStringTag case\n\t : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n\t // builtinTag case\n\t : ARG ? cof(O)\n\t // ES3 arguments fallback\n\t : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n\t};\n\n\n/***/ },\n/* 464 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function (it, Constructor, name, forbiddenField) {\n\t if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n\t throw TypeError(name + ': incorrect invocation!');\n\t } return it;\n\t};\n\n\n/***/ },\n/* 465 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar ctx = __webpack_require__(347);\n\tvar call = __webpack_require__(466);\n\tvar isArrayIter = __webpack_require__(467);\n\tvar anObject = __webpack_require__(351);\n\tvar toLength = __webpack_require__(371);\n\tvar getIterFn = __webpack_require__(468);\n\tvar BREAK = {};\n\tvar RETURN = {};\n\tvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n\t var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n\t var f = ctx(fn, that, entries ? 2 : 1);\n\t var index = 0;\n\t var length, step, iterator, result;\n\t if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n\t // fast case for arrays with default iterator\n\t if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n\t result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n\t if (result === BREAK || result === RETURN) return result;\n\t } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n\t result = call(iterator, f, step.value, entries);\n\t if (result === BREAK || result === RETURN) return result;\n\t }\n\t};\n\texports.BREAK = BREAK;\n\texports.RETURN = RETURN;\n\n\n/***/ },\n/* 466 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// call something on iterator step with safe closing on error\n\tvar anObject = __webpack_require__(351);\n\tmodule.exports = function (iterator, fn, value, entries) {\n\t try {\n\t return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n\t // 7.4.6 IteratorClose(iterator, completion)\n\t } catch (e) {\n\t var ret = iterator['return'];\n\t if (ret !== undefined) anObject(ret.call(iterator));\n\t throw e;\n\t }\n\t};\n\n\n/***/ },\n/* 467 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// check on default Array iterator\n\tvar Iterators = __webpack_require__(361);\n\tvar ITERATOR = __webpack_require__(379)('iterator');\n\tvar ArrayProto = Array.prototype;\n\t\n\tmodule.exports = function (it) {\n\t return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n\t};\n\n\n/***/ },\n/* 468 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar classof = __webpack_require__(463);\n\tvar ITERATOR = __webpack_require__(379)('iterator');\n\tvar Iterators = __webpack_require__(361);\n\tmodule.exports = __webpack_require__(335).getIteratorMethod = function (it) {\n\t if (it != undefined) return it[ITERATOR]\n\t || it['@@iterator']\n\t || Iterators[classof(it)];\n\t};\n\n\n/***/ },\n/* 469 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 7.3.20 SpeciesConstructor(O, defaultConstructor)\n\tvar anObject = __webpack_require__(351);\n\tvar aFunction = __webpack_require__(348);\n\tvar SPECIES = __webpack_require__(379)('species');\n\tmodule.exports = function (O, D) {\n\t var C = anObject(O).constructor;\n\t var S;\n\t return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n\t};\n\n\n/***/ },\n/* 470 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar ctx = __webpack_require__(347);\n\tvar invoke = __webpack_require__(471);\n\tvar html = __webpack_require__(377);\n\tvar cel = __webpack_require__(356);\n\tvar global = __webpack_require__(346);\n\tvar process = global.process;\n\tvar setTask = global.setImmediate;\n\tvar clearTask = global.clearImmediate;\n\tvar MessageChannel = global.MessageChannel;\n\tvar Dispatch = global.Dispatch;\n\tvar counter = 0;\n\tvar queue = {};\n\tvar ONREADYSTATECHANGE = 'onreadystatechange';\n\tvar defer, channel, port;\n\tvar run = function () {\n\t var id = +this;\n\t // eslint-disable-next-line no-prototype-builtins\n\t if (queue.hasOwnProperty(id)) {\n\t var fn = queue[id];\n\t delete queue[id];\n\t fn();\n\t }\n\t};\n\tvar listener = function (event) {\n\t run.call(event.data);\n\t};\n\t// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\n\tif (!setTask || !clearTask) {\n\t setTask = function setImmediate(fn) {\n\t var args = [];\n\t var i = 1;\n\t while (arguments.length > i) args.push(arguments[i++]);\n\t queue[++counter] = function () {\n\t // eslint-disable-next-line no-new-func\n\t invoke(typeof fn == 'function' ? fn : Function(fn), args);\n\t };\n\t defer(counter);\n\t return counter;\n\t };\n\t clearTask = function clearImmediate(id) {\n\t delete queue[id];\n\t };\n\t // Node.js 0.8-\n\t if (__webpack_require__(369)(process) == 'process') {\n\t defer = function (id) {\n\t process.nextTick(ctx(run, id, 1));\n\t };\n\t // Sphere (JS game engine) Dispatch API\n\t } else if (Dispatch && Dispatch.now) {\n\t defer = function (id) {\n\t Dispatch.now(ctx(run, id, 1));\n\t };\n\t // Browsers with MessageChannel, includes WebWorkers\n\t } else if (MessageChannel) {\n\t channel = new MessageChannel();\n\t port = channel.port2;\n\t channel.port1.onmessage = listener;\n\t defer = ctx(port.postMessage, port, 1);\n\t // Browsers with postMessage, skip WebWorkers\n\t // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n\t } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n\t defer = function (id) {\n\t global.postMessage(id + '', '*');\n\t };\n\t global.addEventListener('message', listener, false);\n\t // IE8-\n\t } else if (ONREADYSTATECHANGE in cel('script')) {\n\t defer = function (id) {\n\t html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n\t html.removeChild(this);\n\t run.call(id);\n\t };\n\t };\n\t // Rest old browsers\n\t } else {\n\t defer = function (id) {\n\t setTimeout(ctx(run, id, 1), 0);\n\t };\n\t }\n\t}\n\tmodule.exports = {\n\t set: setTask,\n\t clear: clearTask\n\t};\n\n\n/***/ },\n/* 471 */\n/***/ function(module, exports) {\n\n\t// fast apply, http://jsperf.lnkit.com/fast-apply/5\n\tmodule.exports = function (fn, args, that) {\n\t var un = that === undefined;\n\t switch (args.length) {\n\t case 0: return un ? fn()\n\t : fn.call(that);\n\t case 1: return un ? fn(args[0])\n\t : fn.call(that, args[0]);\n\t case 2: return un ? fn(args[0], args[1])\n\t : fn.call(that, args[0], args[1]);\n\t case 3: return un ? fn(args[0], args[1], args[2])\n\t : fn.call(that, args[0], args[1], args[2]);\n\t case 4: return un ? fn(args[0], args[1], args[2], args[3])\n\t : fn.call(that, args[0], args[1], args[2], args[3]);\n\t } return fn.apply(that, args);\n\t};\n\n\n/***/ },\n/* 472 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar global = __webpack_require__(346);\n\tvar macrotask = __webpack_require__(470).set;\n\tvar Observer = global.MutationObserver || global.WebKitMutationObserver;\n\tvar process = global.process;\n\tvar Promise = global.Promise;\n\tvar isNode = __webpack_require__(369)(process) == 'process';\n\t\n\tmodule.exports = function () {\n\t var head, last, notify;\n\t\n\t var flush = function () {\n\t var parent, fn;\n\t if (isNode && (parent = process.domain)) parent.exit();\n\t while (head) {\n\t fn = head.fn;\n\t head = head.next;\n\t try {\n\t fn();\n\t } catch (e) {\n\t if (head) notify();\n\t else last = undefined;\n\t throw e;\n\t }\n\t } last = undefined;\n\t if (parent) parent.enter();\n\t };\n\t\n\t // Node.js\n\t if (isNode) {\n\t notify = function () {\n\t process.nextTick(flush);\n\t };\n\t // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n\t } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n\t var toggle = true;\n\t var node = document.createTextNode('');\n\t new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n\t notify = function () {\n\t node.data = toggle = !toggle;\n\t };\n\t // environments with maybe non-completely correct, but existent Promise\n\t } else if (Promise && Promise.resolve) {\n\t // Promise.resolve without an argument throws an error in LG WebOS 2\n\t var promise = Promise.resolve(undefined);\n\t notify = function () {\n\t promise.then(flush);\n\t };\n\t // for other environments - macrotask based on:\n\t // - setImmediate\n\t // - MessageChannel\n\t // - window.postMessag\n\t // - onreadystatechange\n\t // - setTimeout\n\t } else {\n\t notify = function () {\n\t // strange IE + webpack dev server bug - use .call(global)\n\t macrotask.call(global, flush);\n\t };\n\t }\n\t\n\t return function (fn) {\n\t var task = { fn: fn, next: undefined };\n\t if (last) last.next = task;\n\t if (!head) {\n\t head = task;\n\t notify();\n\t } last = task;\n\t };\n\t};\n\n\n/***/ },\n/* 473 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// 25.4.1.5 NewPromiseCapability(C)\n\tvar aFunction = __webpack_require__(348);\n\t\n\tfunction PromiseCapability(C) {\n\t var resolve, reject;\n\t this.promise = new C(function ($$resolve, $$reject) {\n\t if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n\t resolve = $$resolve;\n\t reject = $$reject;\n\t });\n\t this.resolve = aFunction(resolve);\n\t this.reject = aFunction(reject);\n\t}\n\t\n\tmodule.exports.f = function (C) {\n\t return new PromiseCapability(C);\n\t};\n\n\n/***/ },\n/* 474 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function (exec) {\n\t try {\n\t return { e: false, v: exec() };\n\t } catch (e) {\n\t return { e: true, v: e };\n\t }\n\t};\n\n\n/***/ },\n/* 475 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar global = __webpack_require__(346);\n\tvar navigator = global.navigator;\n\t\n\tmodule.exports = navigator && navigator.userAgent || '';\n\n\n/***/ },\n/* 476 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar anObject = __webpack_require__(351);\n\tvar isObject = __webpack_require__(352);\n\tvar newPromiseCapability = __webpack_require__(473);\n\t\n\tmodule.exports = function (C, x) {\n\t anObject(C);\n\t if (isObject(x) && x.constructor === C) return x;\n\t var promiseCapability = newPromiseCapability.f(C);\n\t var resolve = promiseCapability.resolve;\n\t resolve(x);\n\t return promiseCapability.promise;\n\t};\n\n\n/***/ },\n/* 477 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar hide = __webpack_require__(349);\n\tmodule.exports = function (target, src, safe) {\n\t for (var key in src) {\n\t if (safe && target[key]) target[key] = src[key];\n\t else hide(target, key, src[key]);\n\t } return target;\n\t};\n\n\n/***/ },\n/* 478 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar global = __webpack_require__(346);\n\tvar core = __webpack_require__(335);\n\tvar dP = __webpack_require__(350);\n\tvar DESCRIPTORS = __webpack_require__(354);\n\tvar SPECIES = __webpack_require__(379)('species');\n\t\n\tmodule.exports = function (KEY) {\n\t var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];\n\t if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n\t configurable: true,\n\t get: function () { return this; }\n\t });\n\t};\n\n\n/***/ },\n/* 479 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar ITERATOR = __webpack_require__(379)('iterator');\n\tvar SAFE_CLOSING = false;\n\t\n\ttry {\n\t var riter = [7][ITERATOR]();\n\t riter['return'] = function () { SAFE_CLOSING = true; };\n\t // eslint-disable-next-line no-throw-literal\n\t Array.from(riter, function () { throw 2; });\n\t} catch (e) { /* empty */ }\n\t\n\tmodule.exports = function (exec, skipClosing) {\n\t if (!skipClosing && !SAFE_CLOSING) return false;\n\t var safe = false;\n\t try {\n\t var arr = [7];\n\t var iter = arr[ITERATOR]();\n\t iter.next = function () { return { done: safe = true }; };\n\t arr[ITERATOR] = function () { return iter; };\n\t exec(arr);\n\t } catch (e) { /* empty */ }\n\t return safe;\n\t};\n\n\n/***/ },\n/* 480 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// https://github.com/tc39/proposal-promise-finally\n\t'use strict';\n\tvar $export = __webpack_require__(345);\n\tvar core = __webpack_require__(335);\n\tvar global = __webpack_require__(346);\n\tvar speciesConstructor = __webpack_require__(469);\n\tvar promiseResolve = __webpack_require__(476);\n\t\n\t$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n\t var C = speciesConstructor(this, core.Promise || global.Promise);\n\t var isFunction = typeof onFinally == 'function';\n\t return this.then(\n\t isFunction ? function (x) {\n\t return promiseResolve(C, onFinally()).then(function () { return x; });\n\t } : onFinally,\n\t isFunction ? function (e) {\n\t return promiseResolve(C, onFinally()).then(function () { throw e; });\n\t } : onFinally\n\t );\n\t} });\n\n\n/***/ },\n/* 481 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// https://github.com/tc39/proposal-promise-try\n\tvar $export = __webpack_require__(345);\n\tvar newPromiseCapability = __webpack_require__(473);\n\tvar perform = __webpack_require__(474);\n\t\n\t$export($export.S, 'Promise', { 'try': function (callbackfn) {\n\t var promiseCapability = newPromiseCapability.f(this);\n\t var result = perform(callbackfn);\n\t (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n\t return promiseCapability.promise;\n\t} });\n\n\n/***/ },\n/* 482 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta) {\n\t var CAN_REMOVE_BEACON_CLS = 'can-remove-beacon';\n\t return Okta.View.extend({\n\t className: 'auth-container main-container',\n\t id: 'okta-sign-in',\n\t attributes: { 'data-se': 'auth-container' },\n\t initialize: function initialize(options) {\n\t this.listenTo(options.appState, 'change:beaconType', function (model, type) {\n\t this.$el.toggleClass(CAN_REMOVE_BEACON_CLS, type === 'security');\n\t });\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 483 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t/* eslint complexity: [2, 29],max-statements: [2, 30] */\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(330), __webpack_require__(413), __webpack_require__(409), __webpack_require__(414), __webpack_require__(484)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, OAuth2Util, Enums, BrowserFeatures, Errors, ErrorCodes) {\n\t var Util = Okta.internal.util.Util;\n\t\n\t var fn = {};\n\t\n\t var verifyUrlTpl = Okta.tpl('signin/verify/{{provider}}/{{factorType}}');\n\t var enrollFactorUrlTpl = Okta.tpl('signin/enroll/{{provider}}/{{factorType}}');\n\t var activateFactorUrlTpl = Okta.tpl('signin/enroll-activate/{{provider}}/{{factorType}}{{#if step}}/{{step}}{{/if}}');\n\t var recoveryUrlTpl = Okta.tpl('signin/recovery/{{recoveryToken}}');\n\t var refreshUrlTpl = Okta.tpl('signin/refresh-auth-state{{#if token}}/{{token}}{{/if}}');\n\t var sessionCookieRedirectTpl = Okta.tpl('{{baseUrl}}/login/sessionCookieRedirect?checkAccountSetupComplete=true' + '&token={{{token}}}&redirectUrl={{{redirectUrl}}}');\n\t\n\t fn.createVerifyUrl = function (provider, factorType) {\n\t return verifyUrlTpl({\n\t provider: encodeURIComponent(provider.toLowerCase()),\n\t factorType: encodeURIComponent(factorType)\n\t });\n\t };\n\t\n\t fn.createEnrollFactorUrl = function (provider, factorType) {\n\t return enrollFactorUrlTpl({\n\t provider: encodeURIComponent(provider.toLowerCase()),\n\t factorType: encodeURIComponent(factorType)\n\t });\n\t };\n\t\n\t fn.createActivateFactorUrl = function (provider, factorType, step) {\n\t return activateFactorUrlTpl({\n\t provider: encodeURIComponent(provider.toLowerCase()),\n\t factorType: encodeURIComponent(factorType),\n\t step: step ? encodeURIComponent(step) : false\n\t });\n\t };\n\t\n\t fn.createRecoveryUrl = function (recoveryToken) {\n\t return recoveryUrlTpl({\n\t recoveryToken: encodeURIComponent(recoveryToken)\n\t });\n\t };\n\t\n\t fn.createRefreshUrl = function (stateToken) {\n\t var token = stateToken ? encodeURIComponent(stateToken) : null;\n\t return refreshUrlTpl({ token: token });\n\t };\n\t\n\t fn.routeAfterAuthStatusChange = function (router, err, res) {\n\t\n\t // Global error handling for CORS enabled errors\n\t if (err && err.xhr && BrowserFeatures.corsIsNotEnabled(err.xhr)) {\n\t router.settings.callGlobalError(new Errors.UnsupportedBrowserError(Okta.loc('error.enabled.cors')));\n\t return;\n\t }\n\t\n\t // Token has expired - no longer valid. Navigate back to primary auth.\n\t if (err && err.errorCode === ErrorCodes.INVALID_TOKEN_EXCEPTION) {\n\t router.appState.set('flashError', Okta.loc('error.expired.session'));\n\t router.controller.state.set('navigateDir', Enums.DIRECTION_BACK);\n\t router.navigate('', { trigger: true });\n\t return;\n\t }\n\t\n\t // Other errors are handled by the function making the authClient request\n\t if (err || !res || !res.status) {\n\t return;\n\t }\n\t\n\t router.appState.setAuthResponse(res);\n\t\n\t if (router.controller && router.controller.trapAuthResponse(res)) {\n\t return;\n\t }\n\t\n\t fn.handleResponseStatus(router, err, res);\n\t };\n\t\n\t fn.handleResponseStatus = function (router, err, res) {\n\t switch (res.status) {\n\t case 'SUCCESS':\n\t if (res.recoveryType === Enums.RECOVERY_TYPE_UNLOCK) {\n\t router.navigate('signin/account-unlocked', { trigger: true });\n\t return;\n\t }\n\t\n\t // If the desired end result object needs to have idToken (and not sessionToken),\n\t // get the id token from session token before calling the global success function.\n\t if (router.settings.get('oauth2Enabled')) {\n\t OAuth2Util.getTokens(router.settings, { sessionToken: res.sessionToken }, router.controller);\n\t return;\n\t }\n\t\n\t var successData = {\n\t user: res._embedded.user,\n\t type: res.type\n\t };\n\t\n\t if (res.relayState) {\n\t successData.relayState = res.relayState;\n\t }\n\t\n\t if (res.type === Enums.SESSION_STEP_UP) {\n\t var targetUrl = res._links && res._links.next && res._links.next.href;\n\t successData.stepUp = {\n\t url: targetUrl,\n\t finish: function finish() {\n\t Util.redirect(targetUrl);\n\t }\n\t };\n\t } else {\n\t // Add the type for now until the API returns it.\n\t successData.type = Enums.SESSION_SSO;\n\t successData.session = {\n\t token: res.sessionToken,\n\t setCookieAndRedirect: function setCookieAndRedirect(redirectUrl) {\n\t Util.redirect(sessionCookieRedirectTpl({\n\t baseUrl: router.settings.get('baseUrl'),\n\t token: encodeURIComponent(res.sessionToken),\n\t redirectUrl: encodeURIComponent(redirectUrl)\n\t }));\n\t }\n\t };\n\t }\n\t\n\t router.settings.callGlobalSuccess(Enums.SUCCESS, successData);\n\t return;\n\t case 'CONSENT_REQUIRED':\n\t if (router.settings.get('features.consent')) {\n\t router.navigate('signin/consent', { trigger: true });\n\t }\n\t return;\n\t case 'MFA_REQUIRED':\n\t var factor = router.appState.get('factors').getDefaultFactor();\n\t var url = fn.createVerifyUrl(factor.get('provider'), factor.get('factorType'));\n\t router.navigate(url, { trigger: true });\n\t return;\n\t case 'MFA_CHALLENGE':\n\t // Since we normally trap MFA_CHALLENGE, this will only get called on a\n\t // page refresh. We need to return to MFA_REQUIRED to initialize the\n\t // page correctly (i.e. factors dropdown, etc)\n\t router.appState.get('transaction').prev().then(function (trans) {\n\t router.appState.set('transaction', trans);\n\t }).done();\n\t return;\n\t case 'MFA_ENROLL':\n\t router.navigate('signin/enroll', { trigger: true });\n\t return;\n\t case 'MFA_ENROLL_ACTIVATE':\n\t var activateUrl = fn.createActivateFactorUrl(router.appState.get('activatedFactorProvider'), router.appState.get('activatedFactorType'));\n\t router.navigate(activateUrl, { trigger: true });\n\t return;\n\t case 'PASSWORD_WARN':\n\t case 'PASSWORD_EXPIRED':\n\t if (router.settings.get('features.customExpiredPassword') && !router.appState.get('isPwdManagedByOkta')) {\n\t router.navigate('signin/custom-password-expired', { trigger: true });\n\t } else {\n\t router.navigate('signin/password-expired', { trigger: true });\n\t }\n\t return;\n\t case 'RECOVERY_CHALLENGE':\n\t // Will use this workaround (lowercasing response) until OKTA-69083 is resolved\n\t var fromEmail = res.factorType.toLowerCase() === Enums.RECOVERY_FACTOR_TYPE_EMAIL.toLowerCase(),\n\t isForgotPassword = res.recoveryType === Enums.RECOVERY_TYPE_PASSWORD,\n\t isUnlock = res.recoveryType === Enums.RECOVERY_TYPE_UNLOCK;\n\t if (isForgotPassword && fromEmail) {\n\t router.navigate('signin/recovery-emailed', { trigger: true });\n\t } else if (isUnlock && fromEmail) {\n\t router.navigate('signin/unlock-emailed', { trigger: true });\n\t } else {\n\t router.navigate('signin/recovery-challenge', { trigger: true });\n\t }\n\t return;\n\t case 'RECOVERY':\n\t router.navigate('signin/recovery-question', { trigger: true });\n\t return;\n\t case 'PASSWORD_RESET':\n\t router.navigate('signin/password-reset', { trigger: true });\n\t return;\n\t case 'LOCKED_OUT':\n\t if (router.settings.get('features.selfServiceUnlock')) {\n\t router.navigate('signin/unlock', { trigger: true });\n\t } else {\n\t router.controller.model.trigger('error', router.controller.model, {\n\t responseJSON: {\n\t errorCauses: [],\n\t errorSummary: Okta.loc('error.auth.lockedOut', 'login')\n\t }\n\t });\n\t }\n\t return;\n\t case 'UNAUTHENTICATED':\n\t // Either we have factors and we are in passwordlessAuth mode\n\t if (router.appState.get('promptForFactorInUnauthenticated')) {\n\t var defaultFactor = router.appState.get('factors').getDefaultFactor();\n\t var factorURL = fn.createVerifyUrl(defaultFactor.get('provider'), defaultFactor.get('factorType'));\n\t router.navigate(factorURL, { trigger: true });\n\t return;\n\t }\n\t // Or we don't have anything and we need to show the login page\n\t router.navigate('', { trigger: true });\n\t return;\n\t default:\n\t throw new Error('Unknown status: ' + res.status);\n\t }\n\t };\n\t\n\t return fn;\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 484 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(module.exports = {\n\t INVALID_TOKEN_EXCEPTION: 'E0000011'\n\t});\n\n/***/ },\n/* 485 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(486), __webpack_require__(497), __webpack_require__(498), __webpack_require__(499), __webpack_require__(501), __webpack_require__(442), __webpack_require__(487)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, PrimaryAuthForm, CustomButtons, FooterRegistration, PrimaryAuthModel, Footer, BaseLoginController, DeviceFingerprint) {\n\t\n\t var $ = Okta.$;\n\t\n\t return BaseLoginController.extend({\n\t className: 'primary-auth',\n\t\n\t state: { enabled: true },\n\t\n\t View: PrimaryAuthForm,\n\t\n\t constructor: function constructor(options) {\n\t options.appState.unset('username');\n\t\n\t this.model = new PrimaryAuthModel({\n\t multiOptionalFactorEnroll: options.settings.get('features.multiOptionalFactorEnroll'),\n\t settings: options.settings,\n\t appState: options.appState\n\t }, { parse: true });\n\t\n\t BaseLoginController.apply(this, arguments);\n\t\n\t this.addListeners();\n\t\n\t // If social auth is configured, 'socialAuthPositionTop' will determine\n\t // the order in which the social auth and primary auth are shown on the screen.\n\t if (options.settings.get('hasConfiguredButtons')) {\n\t this.add(CustomButtons, { prepend: options.settings.get('socialAuthPositionTop') });\n\t }\n\t\n\t this.addFooter(options);\n\t\n\t this.setUsername();\n\t },\n\t\n\t addFooter: function addFooter(options) {\n\t this.add(new Footer(this.toJSON({ appState: options.appState })));\n\t\n\t if (options.settings.get('features.registration')) {\n\t this.add(new FooterRegistration({\n\t settings: this.settings,\n\t appState: options.appState\n\t }));\n\t }\n\t },\n\t\n\t setUsername: function setUsername() {\n\t var username = this.model.get('username');\n\t if (username) {\n\t this.options.appState.set('username', username);\n\t }\n\t },\n\t\n\t events: {\n\t 'focusout input[name=username]': function focusoutInputNameUsername() {\n\t // Get DeviceFingerprint so we can use it for security image and for primary auth\n\t if (this.settings.get('features.deviceFingerprinting')) {\n\t var self = this;\n\t DeviceFingerprint.generateDeviceFingerprint(this.settings.get('baseUrl'), this.$el).then(function (fingerprint) {\n\t self.options.appState.set('deviceFingerprint', fingerprint);\n\t self.options.appState.set('username', self.model.get('username'));\n\t }).fail(function () {\n\t // Keep going even if device fingerprint fails\n\t self.options.appState.set('username', self.model.get('username'));\n\t });\n\t } else {\n\t this.options.appState.set('username', this.model.get('username'));\n\t }\n\t },\n\t 'focusin input': function focusinInput(e) {\n\t $(e.target.parentElement).addClass('focused-input');\n\t },\n\t 'focusout input': function focusoutInput(e) {\n\t $(e.target.parentElement).removeClass('focused-input');\n\t },\n\t 'click .button-show': function clickButtonShow() {\n\t this.trigger('passwordRevealed');\n\t }\n\t },\n\t\n\t // This model and the AppState both have a username property.\n\t // The controller updates the AppState's username when the user is\n\t // done editing (on blur) or deletes the username (see below).\n\t initialize: function initialize() {\n\t this.options.appState.unset('deviceFingerprint');\n\t this.listenTo(this.model, 'change:username', function (model, value) {\n\t if (!value) {\n\t // reset AppState to an undefined user.\n\t this.options.appState.set('username', '');\n\t }\n\t });\n\t this.listenTo(this.model, 'save', function () {\n\t this.state.set('enabled', false);\n\t });\n\t this.listenTo(this.model, 'error', function () {\n\t this.state.set('enabled', true);\n\t });\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 486 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(446), __webpack_require__(487), __webpack_require__(488)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, TextBox, DeviceFingerprint, TypingUtil) {\n\t\n\t var _ = Okta._;\n\t\n\t return Okta.Form.extend({\n\t className: 'primary-auth-form',\n\t noCancelButton: true,\n\t save: function save() {\n\t if (this.settings.get('features.passwordlessAuth')) {\n\t return Okta.loc('oform.next', 'login');\n\t }\n\t return Okta.loc('primaryauth.submit', 'login');\n\t },\n\t saveId: 'okta-signin-submit',\n\t layout: 'o-form-theme',\n\t\n\t // If socialAuth is configured, the title moves from the form to\n\t // the top of the container (and is rendered in socialAuth).\n\t title: function title() {\n\t var formTitle = Okta.loc('primaryauth.title', 'login');\n\t if (this.settings.get('socialAuthPositionTop')) {\n\t formTitle = '';\n\t }\n\t return formTitle;\n\t },\n\t\n\t initialize: function initialize() {\n\t var trackTypingPattern = this.settings.get('features.trackTypingPattern');\n\t this.listenTo(this, 'save', function () {\n\t if (trackTypingPattern) {\n\t var typingPattern = TypingUtil.getTypingPattern();\n\t this.options.appState.set('typingPattern', typingPattern);\n\t }\n\t var self = this;\n\t var creds = {\n\t username: this.model.get('username')\n\t };\n\t if (!this.settings.get('features.passwordlessAuth')) {\n\t creds.password = this.model.get('password');\n\t }\n\t this.settings.processCreds(creds).then(function () {\n\t if (!self.settings.get('features.deviceFingerprinting')) {\n\t return;\n\t }\n\t return DeviceFingerprint.generateDeviceFingerprint(self.settings.get('baseUrl'), self.$el).then(function (fingerprint) {\n\t self.options.appState.set('deviceFingerprint', fingerprint);\n\t }).fail(function () {\n\t // Keep going even if device fingerprint fails\n\t });\n\t }).then(_.bind(this.model.save, this.model));\n\t });\n\t\n\t this.stateEnableChange();\n\t },\n\t\n\t stateEnableChange: function stateEnableChange() {\n\t this.listenTo(this.state, 'change:enabled', function (model, enable) {\n\t if (enable) {\n\t this.enable();\n\t } else {\n\t this.disable();\n\t }\n\t });\n\t },\n\t\n\t inputs: function inputs() {\n\t var inputs = [];\n\t inputs.push(this.getUsernameField());\n\t if (!this.settings.get('features.passwordlessAuth')) {\n\t inputs.push(this.getPasswordField());\n\t }\n\t if (this.settings.get('features.rememberMe')) {\n\t inputs.push(this.getRemeberMeCheckbox());\n\t }\n\t return inputs;\n\t },\n\t\n\t getUsernameField: function getUsernameField() {\n\t var userNameFieldObject = {\n\t label: false,\n\t 'label-top': true,\n\t placeholder: Okta.loc('primaryauth.username.placeholder', 'login'),\n\t name: 'username',\n\t input: TextBox,\n\t inputId: 'okta-signin-username',\n\t type: 'text',\n\t disabled: this.options.appState.get('disableUsername'),\n\t params: {\n\t innerTooltip: {\n\t title: Okta.loc('primaryauth.username.placeholder', 'login'),\n\t text: Okta.loc('primaryauth.username.tooltip', 'login')\n\t },\n\t icon: 'person-16-gray'\n\t }\n\t };\n\t\n\t if (this.settings.get('features.showPasswordToggleOnSignInPage')) {\n\t userNameFieldObject.params.iconDivider = true;\n\t }\n\t return userNameFieldObject;\n\t },\n\t\n\t getPasswordField: function getPasswordField() {\n\t var passwordFieldObject = {\n\t label: false,\n\t 'label-top': true,\n\t placeholder: Okta.loc('primaryauth.password.placeholder', 'login'),\n\t name: 'password',\n\t inputId: 'okta-signin-password',\n\t validateOnlyIfDirty: true,\n\t type: 'password',\n\t params: {\n\t innerTooltip: {\n\t title: Okta.loc('primaryauth.password.placeholder', 'login'),\n\t text: Okta.loc('primaryauth.password.tooltip', 'login')\n\t },\n\t icon: 'remote-lock-16'\n\t }\n\t };\n\t if (this.settings.get('features.showPasswordToggleOnSignInPage')) {\n\t passwordFieldObject.params.iconDivider = true;\n\t passwordFieldObject.params.showPasswordToggle = true;\n\t }\n\t return passwordFieldObject;\n\t },\n\t\n\t getRemeberMeCheckbox: function getRemeberMeCheckbox() {\n\t return {\n\t label: false,\n\t placeholder: Okta.loc('remember', 'login'),\n\t name: 'remember',\n\t type: 'checkbox',\n\t 'label-top': true,\n\t className: 'margin-btm-0',\n\t initialize: function initialize() {\n\t this.listenTo(this.model, 'change:remember', function (model, val) {\n\t // OKTA-98946: We normally re-render on changes to model values,\n\t // but in this case we will manually update the checkbox due to\n\t // iOS Safari and how it handles autofill - it will autofill the\n\t // form anytime the dom elements are re-rendered, which prevents\n\t // the user from editing their username.\n\t this.$(':checkbox').prop('checked', val).trigger('updateState');\n\t });\n\t }\n\t };\n\t },\n\t\n\t focus: function focus() {\n\t if (!this.model.get('username')) {\n\t this.getInputs().first().focus();\n\t } else if (!this.settings.get('features.passwordlessAuth')) {\n\t this.getInputs().toArray()[1].focus();\n\t }\n\t if (this.settings.get('features.trackTypingPattern')) {\n\t TypingUtil.track('okta-signin-username');\n\t }\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 487 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\tvar _stringify = __webpack_require__(333);\n\t\n\tvar _stringify2 = _interopRequireDefault(_stringify);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(406), __webpack_require__(331)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Q, Okta) {\n\t\n\t var $ = Okta.$;\n\t return {\n\t getUserAgent: function getUserAgent() {\n\t return navigator.userAgent;\n\t },\n\t isMessageFromCorrectSource: function isMessageFromCorrectSource($iframe, event) {\n\t return event.source === $iframe[0].contentWindow;\n\t },\n\t generateDeviceFingerprint: function generateDeviceFingerprint(oktaDomainUrl, element) {\n\t var userAgent = this.getUserAgent();\n\t if (!userAgent) {\n\t return Q.reject('user agent is not defined');\n\t } else if (isWindowsPhone(userAgent)) {\n\t return Q.reject('device fingerprint is not supported on Windows phones');\n\t }\n\t\n\t var deferred = Q.defer();\n\t var self = this;\n\t var $iframe;\n\t\n\t function isWindowsPhone(userAgent) {\n\t return userAgent.match(/windows phone|iemobile|wpdesktop/i);\n\t }\n\t\n\t function removeIframe() {\n\t $iframe.off();\n\t $iframe.remove();\n\t window.removeEventListener('message', onMessageReceivedFromOkta, false);\n\t }\n\t\n\t function handleError(reason) {\n\t removeIframe();\n\t deferred.reject(reason);\n\t }\n\t\n\t function onMessageReceivedFromOkta(event) {\n\t if (!self.isMessageFromCorrectSource($iframe, event)) {\n\t return;\n\t }\n\t if (!event || !event.data || event.origin != oktaDomainUrl) {\n\t handleError('no data');\n\t return;\n\t }\n\t try {\n\t var message = JSON.parse(event.data);\n\t if (message && message.type === 'FingerprintServiceReady') {\n\t sendMessageToOkta({ type: 'GetFingerprint' });\n\t } else if (message && message.type === 'FingerprintAvailable') {\n\t removeIframe();\n\t deferred.resolve(message.fingerprint);\n\t } else {\n\t handleError('no data');\n\t }\n\t } catch (error) {\n\t //Ignore any errors since we could get other messages too\n\t }\n\t }\n\t\n\t function sendMessageToOkta(message) {\n\t var win = $iframe[0].contentWindow;\n\t if (win) {\n\t win.postMessage((0, _stringify2.default)(message), oktaDomainUrl);\n\t }\n\t }\n\t\n\t // Attach listener\n\t window.addEventListener('message', onMessageReceivedFromOkta, false);\n\t // Create and Load devicefingerprint page inside the iframe\n\t $iframe = $('');\n\t if (this.options.appState.get('allowRememberDevice')) {\n\t this.addInput({\n\t label: false,\n\t 'label-top': true,\n\t placeholder: this.options.appState.get('rememberDeviceLabel'),\n\t className: 'margin-btm-0',\n\t name: 'rememberDevice',\n\t type: 'checkbox'\n\t });\n\t }\n\t Duo.init({\n\t 'host': this.model.get('host'),\n\t 'sig_request': this.model.get('signature'),\n\t 'iframe': this.$('iframe').get(0),\n\t 'post_action': _.bind(this.model.verify, this.model)\n\t });\n\t }\n\t },\n\t\n\t Footer: FooterSignout,\n\t\n\t fetchInitialData: function fetchInitialData() {\n\t var self = this;\n\t return this.model.getInitOptions().then(function (trans) {\n\t var res = trans.data;\n\t if (!res._embedded || !res._embedded.factor || !res._embedded.factor._embedded || !res._embedded.factor._embedded.verification) {\n\t throw new Error('Response does not have duo verification options');\n\t }\n\t var verification = res._embedded.factor._embedded.verification;\n\t self.model.set({\n\t host: verification.host,\n\t signature: verification.signature,\n\t postAction: verification._links.complete.href,\n\t factorId: res._embedded.factor.id,\n\t stateToken: res.stateToken\n\t });\n\t });\n\t },\n\t\n\t trapAuthResponse: function trapAuthResponse() {\n\t if (this.options.appState.get('isMfaChallenge')) {\n\t return true;\n\t }\n\t },\n\t\n\t back: function back() {\n\t // Empty function on verify controllers to prevent users\n\t // from navigating back during 'verify' using the browser's\n\t // back button. The URL will still change, but the view will not\n\t // More details in OKTA-135060.\n\t }\n\t\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 503 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\tvar _typeof2 = __webpack_require__(336);\n\t\n\tvar _typeof3 = _interopRequireDefault(_typeof2);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/**\n\t * Duo Web SDK v2\n\t * Copyright 2017, Duo Security\n\t */\n\t\n\t(function (root, factory) {\n\t /*eslint-disable */\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t /*eslint-enable */\n\t } else if ((typeof module === 'undefined' ? 'undefined' : (0, _typeof3.default)(module)) === 'object' && module.exports) {\n\t // Node. Does not work with strict CommonJS, but\n\t // only CommonJS-like environments that support module.exports,\n\t // like Node.\n\t module.exports = factory();\n\t } else {\n\t // Browser globals (root is window)\n\t var Duo = factory();\n\t // If the Javascript was loaded via a script tag, attempt to autoload\n\t // the frame.\n\t Duo._onReady(Duo.init);\n\t\n\t // Attach Duo to the `window` object\n\t root.Duo = Duo;\n\t }\n\t})(undefined, function () {\n\t var DUO_MESSAGE_FORMAT = /^(?:AUTH|ENROLL)+\\|[A-Za-z0-9\\+\\/=]+\\|[A-Za-z0-9\\+\\/=]+$/;\n\t var DUO_ERROR_FORMAT = /^ERR\\|[\\w\\s\\.\\(\\)]+$/;\n\t var DUO_OPEN_WINDOW_FORMAT = /^DUO_OPEN_WINDOW\\|/;\n\t var VALID_OPEN_WINDOW_DOMAINS = ['duo.com', 'duosecurity.com', 'duomobile.s3-us-west-1.amazonaws.com'];\n\t\n\t var iframeId = 'duo_iframe',\n\t postAction = '',\n\t postArgument = 'sig_response',\n\t host,\n\t sigRequest,\n\t duoSig,\n\t appSig,\n\t iframe,\n\t submitCallback;\n\t\n\t function throwError(message, url) {\n\t throw new Error('Duo Web SDK error: ' + message + (url ? '\\n' + 'See ' + url + ' for more information' : ''));\n\t }\n\t\n\t function hyphenize(str) {\n\t return str.replace(/([a-z])([A-Z])/, '$1-$2').toLowerCase();\n\t }\n\t\n\t // cross-browser data attributes\n\t function getDataAttribute(element, name) {\n\t if ('dataset' in element) {\n\t return element.dataset[name];\n\t } else {\n\t return element.getAttribute('data-' + hyphenize(name));\n\t }\n\t }\n\t\n\t // cross-browser event binding/unbinding\n\t function on(context, event, fallbackEvent, callback) {\n\t if ('addEventListener' in window) {\n\t context.addEventListener(event, callback, false);\n\t } else {\n\t context.attachEvent(fallbackEvent, callback);\n\t }\n\t }\n\t\n\t function off(context, event, fallbackEvent, callback) {\n\t if ('removeEventListener' in window) {\n\t context.removeEventListener(event, callback, false);\n\t } else {\n\t context.detachEvent(fallbackEvent, callback);\n\t }\n\t }\n\t\n\t function onReady(callback) {\n\t on(document, 'DOMContentLoaded', 'onreadystatechange', callback);\n\t }\n\t\n\t function offReady(callback) {\n\t off(document, 'DOMContentLoaded', 'onreadystatechange', callback);\n\t }\n\t\n\t function onMessage(callback) {\n\t on(window, 'message', 'onmessage', callback);\n\t }\n\t\n\t function offMessage(callback) {\n\t off(window, 'message', 'onmessage', callback);\n\t }\n\t\n\t /**\n\t * Parse the sig_request parameter, throwing errors if the token contains\n\t * a server error or if the token is invalid.\n\t *\n\t * @param {String} sig Request token\n\t */\n\t function parseSigRequest(sig) {\n\t if (!sig) {\n\t // nothing to do\n\t return;\n\t }\n\t\n\t // see if the token contains an error, throwing it if it does\n\t if (sig.indexOf('ERR|') === 0) {\n\t throwError(sig.split('|')[1]);\n\t }\n\t\n\t // validate the token\n\t if (sig.indexOf(':') === -1 || sig.split(':').length !== 2) {\n\t throwError('Duo was given a bad token. This might indicate a configuration ' + 'problem with one of Duo\\'s client libraries.', 'https://www.duosecurity.com/docs/duoweb#first-steps');\n\t }\n\t\n\t var sigParts = sig.split(':');\n\t\n\t // hang on to the token, and the parsed duo and app sigs\n\t sigRequest = sig;\n\t duoSig = sigParts[0];\n\t appSig = sigParts[1];\n\t\n\t return {\n\t sigRequest: sig,\n\t duoSig: sigParts[0],\n\t appSig: sigParts[1]\n\t };\n\t }\n\t\n\t /**\n\t * This function is set up to run when the DOM is ready, if the iframe was\n\t * not available during `init`.\n\t */\n\t function onDOMReady() {\n\t iframe = document.getElementById(iframeId);\n\t\n\t if (!iframe) {\n\t throw new Error('This page does not contain an iframe for Duo to use.' + 'Add an element like ' + 'to this page. ' + 'See https://www.duosecurity.com/docs/duoweb#3.-show-the-iframe ' + 'for more information.');\n\t }\n\t\n\t // we've got an iframe, away we go!\n\t ready();\n\t\n\t // always clean up after yourself\n\t offReady(onDOMReady);\n\t }\n\t\n\t /**\n\t * Validate that a MessageEvent came from the Duo service, and that it\n\t * is a properly formatted payload.\n\t *\n\t * The Google Chrome sign-in page injects some JS into pages that also\n\t * make use of postMessage, so we need to do additional validation above\n\t * and beyond the origin.\n\t *\n\t * @param {MessageEvent} event Message received via postMessage\n\t */\n\t function isDuoMessage(event) {\n\t 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\t }\n\t\n\t /**\n\t * Validate the request token and prepare for the iframe to become ready.\n\t *\n\t * All options below can be passed into an options hash to `Duo.init`, or\n\t * specified on the iframe using `data-` attributes.\n\t *\n\t * Options specified using the options hash will take precedence over\n\t * `data-` attributes.\n\t *\n\t * Example using options hash:\n\t * ```javascript\n\t * Duo.init({\n\t * iframe: \"some_other_id\",\n\t * host: \"api-main.duo.test\",\n\t * sig_request: \"...\",\n\t * post_action: \"/auth\",\n\t * post_argument: \"resp\"\n\t * });\n\t * ```\n\t *\n\t * Example using `data-` attributes:\n\t * ```\n\t * \n\t * ```\n\t *\n\t * @param {Object} options\n\t * @param {String} options.iframe The iframe, or id of an iframe to set up\n\t * @param {String} options.host Hostname\n\t * @param {String} options.sig_request Request token\n\t * @param {String} [options.post_action=''] URL to POST back to after successful auth\n\t * @param {String} [options.post_argument='sig_response'] Parameter name to use for response token\n\t * @param {Function} [options.submit_callback] If provided, duo will not submit the form instead execute\n\t * the callback function with reference to the \"duo_form\" form object\n\t * submit_callback can be used to prevent the webpage from reloading.\n\t */\n\t function init(options) {\n\t if (options) {\n\t if (options.host) {\n\t host = options.host;\n\t }\n\t\n\t if (options.sig_request) {\n\t parseSigRequest(options.sig_request);\n\t }\n\t\n\t if (options.post_action) {\n\t postAction = options.post_action;\n\t }\n\t\n\t if (options.post_argument) {\n\t postArgument = options.post_argument;\n\t }\n\t\n\t if (options.iframe) {\n\t if (options.iframe.tagName) {\n\t iframe = options.iframe;\n\t } else if (typeof options.iframe === 'string') {\n\t iframeId = options.iframe;\n\t }\n\t }\n\t\n\t if (typeof options.submit_callback === 'function') {\n\t submitCallback = options.submit_callback;\n\t }\n\t }\n\t\n\t // if we were given an iframe, no need to wait for the rest of the DOM\n\t if (iframe) {\n\t ready();\n\t } else {\n\t // try to find the iframe in the DOM\n\t iframe = document.getElementById(iframeId);\n\t\n\t // iframe is in the DOM, away we go!\n\t if (iframe) {\n\t ready();\n\t } else {\n\t // wait until the DOM is ready, then try again\n\t onReady(onDOMReady);\n\t }\n\t }\n\t\n\t // always clean up after yourself!\n\t offReady(init);\n\t }\n\t\n\t /**\n\t * This function is called when a message was received from another domain\n\t * using the `postMessage` API. Check that the event came from the Duo\n\t * service domain, and that the message is a properly formatted payload,\n\t * then perform the post back to the primary service.\n\t *\n\t * @param event Event object (contains origin and data)\n\t */\n\t function onReceivedMessage(event) {\n\t if (isDuoMessage(event)) {\n\t if (event.data.match(DUO_OPEN_WINDOW_FORMAT)) {\n\t var url = event.data.substring(\"DUO_OPEN_WINDOW|\".length);\n\t if (isValidUrlToOpen(url)) {\n\t // Open the URL that comes after the DUO_WINDOW_OPEN token.\n\t window.open(url, \"_self\");\n\t }\n\t } else {\n\t // the event came from duo, do the post back\n\t doPostBack(event.data);\n\t\n\t // always clean up after yourself!\n\t offMessage(onReceivedMessage);\n\t }\n\t }\n\t }\n\t\n\t /**\n\t * Validate that this passed in URL is one that we will actually allow to\n\t * be opened.\n\t * @param url String URL that the message poster wants to open\n\t * @returns {boolean} true if we allow this url to be opened in the window\n\t */\n\t function isValidUrlToOpen(url) {\n\t if (!url) {\n\t return false;\n\t }\n\t\n\t var parser = document.createElement('a');\n\t parser.href = url;\n\t\n\t if (parser.protocol === \"duotrustedendpoints:\") {\n\t return true;\n\t } else if (parser.protocol !== \"https:\") {\n\t return false;\n\t }\n\t\n\t for (var i = 0; i < VALID_OPEN_WINDOW_DOMAINS.length; i++) {\n\t if (parser.hostname.endsWith(\".\" + VALID_OPEN_WINDOW_DOMAINS[i]) || parser.hostname === VALID_OPEN_WINDOW_DOMAINS[i]) {\n\t return true;\n\t }\n\t }\n\t return false;\n\t }\n\t\n\t /**\n\t * Point the iframe at Duo, then wait for it to postMessage back to us.\n\t */\n\t function ready() {\n\t if (!host) {\n\t host = getDataAttribute(iframe, 'host');\n\t\n\t if (!host) {\n\t 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.', 'https://www.duosecurity.com/docs/duoweb#3.-show-the-iframe');\n\t }\n\t }\n\t\n\t if (!duoSig || !appSig) {\n\t parseSigRequest(getDataAttribute(iframe, 'sigRequest'));\n\t\n\t if (!duoSig || !appSig) {\n\t 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.', 'https://www.duosecurity.com/docs/duoweb#3.-show-the-iframe');\n\t }\n\t }\n\t\n\t // if postAction/Argument are defaults, see if they are specified\n\t // as data attributes on the iframe\n\t if (postAction === '') {\n\t postAction = getDataAttribute(iframe, 'postAction') || postAction;\n\t }\n\t\n\t if (postArgument === 'sig_response') {\n\t postArgument = getDataAttribute(iframe, 'postArgument') || postArgument;\n\t }\n\t\n\t // point the iframe at Duo\n\t iframe.src = ['https://', host, '/frame/web/v1/auth?tx=', duoSig, '&parent=', encodeURIComponent(document.location.href), '&v=2.6'].join('');\n\t\n\t // listen for the 'message' event\n\t onMessage(onReceivedMessage);\n\t }\n\t\n\t /**\n\t * We received a postMessage from Duo. POST back to the primary service\n\t * with the response token, and any additional user-supplied parameters\n\t * given in form#duo_form.\n\t */\n\t // function doPostBack(response) {\n\t // // create a hidden input to contain the response token\n\t // var input = document.createElement('input');\n\t // input.type = 'hidden';\n\t // input.name = postArgument;\n\t // input.value = response + ':' + appSig;\n\t // \n\t // // user may supply their own form with additional inputs\n\t // var form = document.getElementById('duo_form');\n\t // \n\t // // if the form doesn't exist, create one\n\t // if (!form) {\n\t // form = document.createElement('form');\n\t // \n\t // // insert the new form after the iframe\n\t // iframe.parentElement.insertBefore(form, iframe.nextSibling);\n\t // }\n\t // \n\t // // make sure we are actually posting to the right place\n\t // form.method = 'POST';\n\t // form.action = postAction;\n\t // \n\t // // add the response token input to the form\n\t // form.appendChild(input);\n\t // \n\t // // away we go!\n\t // if (typeof submitCallback === \"function\") {\n\t // submitCallback.call(null, form);\n\t // } else {\n\t // form.submit();\n\t // }\n\t // }\n\t\n\t // OKTA: Overriding their doPostBack logic because we want to submit this\n\t // through ajax, not a postBack\n\t function doPostBack(response) {\n\t postAction(response + ':' + appSig);\n\t }\n\t\n\t return {\n\t init: init,\n\t _onReady: onReady,\n\t _parseSigRequest: parseSigRequest,\n\t _isDuoMessage: isDuoMessage,\n\t _doPostBack: doPostBack\n\t };\n\t});\n\n/***/ },\n/* 504 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(413)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, Enums) {\n\t var Util = Okta.internal.util.Util;\n\t\n\t var _ = Okta._;\n\t\n\t return Okta.View.extend({\n\t template: '\\\n\t \\\n\t {{linkText}}\\\n\t \\\n\t ',\n\t className: 'auth-footer clearfix',\n\t events: {\n\t 'click a': function clickA(e) {\n\t e.preventDefault();\n\t var self = this;\n\t this.model.doTransaction(function (transaction) {\n\t return transaction.cancel();\n\t }).then(function () {\n\t if (self.settings.get('signOutLink')) {\n\t Util.redirect(self.settings.get('signOutLink'));\n\t } else {\n\t self.state.set('navigateDir', Enums.DIRECTION_BACK);\n\t self.options.appState.trigger('navigate', '');\n\t }\n\t });\n\t }\n\t },\n\t getTemplateData: function getTemplateData() {\n\t return {\n\t linkClassName: _.isUndefined(this.options.linkClassName) ? 'goto' : this.options.linkClassName,\n\t linkText: this.options.linkText || Okta.loc('signout', 'login')\n\t };\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 505 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t/* eslint complexity: [2, 16] */\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(442), __webpack_require__(507), __webpack_require__(508), __webpack_require__(509), __webpack_require__(506), __webpack_require__(510), __webpack_require__(511), __webpack_require__(512), __webpack_require__(504)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, BaseLoginController, TOTPForm, YubikeyForm, SecurityQuestionForm, PassCodeForm, PushForm, PasswordForm, InlineTOTPForm, FooterSignout) {\n\t var CheckBox = Okta.internal.views.forms.inputs.CheckBox;\n\t\n\t\n\t return BaseLoginController.extend({\n\t className: 'mfa-verify',\n\t\n\t initialize: function initialize(options) {\n\t var factors = options.appState.get('factors');\n\t var factorType = options.factorType;\n\t var provider = options.provider;\n\t\n\t var View;\n\t switch (factorType) {\n\t case 'question':\n\t View = SecurityQuestionForm;\n\t break;\n\t case 'sms':\n\t case 'call':\n\t case 'email':\n\t View = PassCodeForm;\n\t break;\n\t case 'token':\n\t case 'token:software:totp':\n\t View = TOTPForm;\n\t break;\n\t case 'token:hardware':\n\t View = YubikeyForm;\n\t break;\n\t case 'push':\n\t View = PushForm;\n\t break;\n\t case 'password':\n\t View = PasswordForm;\n\t break;\n\t default:\n\t throw new Error('Unrecognized factor type');\n\t }\n\t\n\t this.model = factors.findWhere({ provider: provider, factorType: factorType });\n\t if (!this.model) {\n\t // TODO: recover from this more gracefully - probably to redirect\n\t // to default factor\n\t throw new Error('Unrecognized factor/provider');\n\t }\n\t\n\t this.addListeners();\n\t this.add(new View(this.toJSON()));\n\t\n\t // Okta Push is different from the other factors - it has a backup\n\t // totp factor that can be chosen with the InlineTOTPForm\n\t if (factorType === 'push' && this.model.get('isOktaFactor')) {\n\t this.add(InlineTOTPForm, {\n\t options: { model: this.model.get('backupFactor') }\n\t });\n\t\n\t if (this.settings.get('features.autoPush')) {\n\t this.add(CheckBox, {\n\t options: {\n\t model: this.model,\n\t name: 'autoPush',\n\t placeholder: Okta.loc('autoPush', 'login'),\n\t label: false,\n\t 'label-top': false,\n\t className: 'margin-btm-0'\n\t }\n\t });\n\t }\n\t\n\t // Remember Device checkbox resides outside of the Push and TOTP forms.\n\t if (this.options.appState.get('allowRememberDevice')) {\n\t this.add(CheckBox, {\n\t options: {\n\t model: this.model,\n\t name: 'rememberDevice',\n\t placeholder: this.options.appState.get('rememberDeviceLabel'),\n\t label: false,\n\t 'label-top': true,\n\t className: 'margin-btm-0'\n\t }\n\t });\n\t }\n\t // Set the rememberDevice on the TOTP factor since it is stored as backupFactor.\n\t this.listenTo(this.model, 'change:rememberDevice', function (model, rememberDevice) {\n\t model.get('backupFactor').set('rememberDevice', rememberDevice);\n\t });\n\t }\n\t\n\t if (!this.settings.get('features.hideSignOutLinkInMFA')) {\n\t this.add(new FooterSignout(this.toJSON()));\n\t }\n\t },\n\t\n\t trapAuthResponse: function trapAuthResponse() {\n\t if (this.options.appState.get('isMfaRequired') && this.options.appState.get('trapMfaRequiredResponse') || this.options.appState.get('isMfaChallenge')) {\n\t this.options.appState.set('trapMfaRequiredResponse', false);\n\t return true;\n\t }\n\t return false;\n\t },\n\t\n\t back: function back() {\n\t // Empty function on verify controllers to prevent users\n\t // from navigating back during 'verify' using the browser's\n\t // back button. The URL will still change, but the view will not\n\t // More details in OKTA-135060.\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 506 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t/* eslint complexity: [2, 7] */\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(406), __webpack_require__(446)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, Q, TextBox) {\n\t\n\t var subtitleTpl = Okta.Handlebars.compile('({{subtitle}})');\n\t var _ = Okta._;\n\t var API_RATE_LIMIT = 30000; //milliseconds\n\t\n\t function getFormAndButtonDetails(factorType) {\n\t switch (factorType) {\n\t case 'sms':\n\t return {\n\t buttonDataSe: 'sms-send-code',\n\t buttonClassName: 'sms-request-button',\n\t formSubmit: Okta.loc('mfa.sendCode', 'login'),\n\t formRetry: Okta.loc('mfa.resendCode', 'login'),\n\t formSubmitted: Okta.loc('mfa.sent', 'login'),\n\t subtitle: subtitleTpl({ subtitle: this.model.get('phoneNumber') })\n\t };\n\t case 'call':\n\t return {\n\t buttonDataSe: 'make-call',\n\t buttonClassName: 'call-request-button',\n\t formSubmit: Okta.loc('mfa.call', 'login'),\n\t formRetry: Okta.loc('mfa.redial', 'login'),\n\t formSubmitted: Okta.loc('mfa.calling', 'login'),\n\t subtitle: subtitleTpl({ subtitle: this.model.get('phoneNumber') })\n\t };\n\t case 'email':\n\t return {\n\t buttonDataSe: 'email-send-code',\n\t buttonClassName: 'email-request-button',\n\t formSubmit: Okta.loc('mfa.sendEmail', 'login'),\n\t formRetry: Okta.loc('mfa.resendEmail', 'login'),\n\t formSubmitted: Okta.loc('mfa.sent', 'login'),\n\t subtitle: subtitleTpl({ subtitle: this.model.get('email') })\n\t };\n\t default:\n\t return {\n\t buttonDataSe: '',\n\t buttonClassName: '',\n\t formSubmit: '',\n\t formRetry: '',\n\t formSubmitted: ''\n\t };\n\t }\n\t }\n\t\n\t return Okta.Form.extend({\n\t className: 'mfa-verify-passcode',\n\t autoSave: true,\n\t noCancelButton: true,\n\t save: _.partial(Okta.loc, 'mfa.challenge.verify', 'login'),\n\t scrollOnError: false,\n\t layout: 'o-form-theme',\n\t\n\t disableSubmitButton: function disableSubmitButton() {\n\t return this.model.appState.get('isMfaChallenge') && this.model.get('answer');\n\t },\n\t\n\t initialize: function initialize() {\n\t var form = this;\n\t this.title = this.model.get('factorLabel');\n\t\n\t var factorType = this.model.get('factorType');\n\t var formAndButtonDetails = getFormAndButtonDetails.call(this, factorType);\n\t this.$el.attr('data-se', 'factor-' + factorType);\n\t\n\t this.subtitle = formAndButtonDetails.subtitle;\n\t this.listenTo(this.model, 'error', function () {\n\t this.clearErrors();\n\t });\n\t this.add(Okta.createButton({\n\t attributes: { 'data-se': formAndButtonDetails.buttonDataSe },\n\t className: 'button ' + formAndButtonDetails.buttonClassName,\n\t title: formAndButtonDetails.formSubmit,\n\t click: function click() {\n\t form.clearErrors();\n\t this.disable();\n\t this.options.title = formAndButtonDetails.formSubmitted;\n\t this.render();\n\t // To send an OTP to the device, make the same request but use\n\t // an empty passCode\n\t this.model.set('answer', '');\n\t this.model.save().then(function () {\n\t // render and focus on the passcode input field.\n\t form.getInputs().first().render().focus();\n\t return Q.delay(API_RATE_LIMIT);\n\t }).then(_.bind(function () {\n\t this.options.title = formAndButtonDetails.formRetry;\n\t this.enable();\n\t this.render();\n\t }, this));\n\t }\n\t }));\n\t this.addInput({\n\t label: false,\n\t 'label-top': true,\n\t placeholder: Okta.loc('mfa.challenge.enterCode.placeholder', 'login'),\n\t className: 'o-form-fieldset o-form-label-top auth-passcode',\n\t name: 'answer',\n\t input: TextBox,\n\t type: 'tel'\n\t });\n\t if (this.options.appState.get('allowRememberDevice')) {\n\t this.addInput({\n\t label: false,\n\t 'label-top': true,\n\t placeholder: this.options.appState.get('rememberDeviceLabel'),\n\t className: 'margin-btm-0',\n\t name: 'rememberDevice',\n\t type: 'checkbox'\n\t });\n\t }\n\t }\n\t\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 507 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(446)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, TextBox) {\n\t\n\t var _ = Okta._;\n\t\n\t return Okta.Form.extend({\n\t className: 'mfa-verify-totp',\n\t autoSave: true,\n\t noCancelButton: true,\n\t save: _.partial(Okta.loc, 'mfa.challenge.verify', 'login'),\n\t scrollOnError: false,\n\t layout: 'o-form-theme',\n\t attributes: { 'data-se': 'factor-totp' },\n\t\n\t initialize: function initialize() {\n\t var factorName = this.model.get('factorLabel');\n\t var maskPasswordField = this.model.get('provider') === 'RSA' || this.model.get('provider') === 'DEL_OATH';\n\t\n\t this.title = factorName;\n\t this.subtitle = Okta.loc('mfa.challenge.title', 'login', [factorName]);\n\t\n\t this.addInput({\n\t label: false,\n\t 'label-top': true,\n\t placeholder: Okta.loc('mfa.challenge.enterCode.placeholder', 'login'),\n\t className: 'o-form-fieldset o-form-label-top auth-passcode',\n\t name: 'answer',\n\t input: TextBox,\n\t type: maskPasswordField ? 'password' : 'tel'\n\t });\n\t\n\t if (this.options.appState.get('allowRememberDevice')) {\n\t this.addInput({\n\t label: false,\n\t 'label-top': true,\n\t placeholder: this.options.appState.get('rememberDeviceLabel'),\n\t className: 'margin-btm-0',\n\t name: 'rememberDevice',\n\t type: 'checkbox'\n\t });\n\t }\n\t\n\t if (this.model.get('provider') === 'RSA' || this.model.get('provider') === 'DEL_OATH') {\n\t this.listenTo(this.model, 'error', _.bind(function (source, error) {\n\t if (error && error.status === 409) {\n\t // 409 means we are in change pin, so we should clear out answer input\n\t this.$('.auth-passcode input').val('');\n\t this.$('.auth-passcode input').trigger('change');\n\t this.$('.auth-passcode input').focus();\n\t }\n\t }, this));\n\t }\n\t }\n\t\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 508 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(446)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, TextBox) {\n\t\n\t var _ = Okta._;\n\t\n\t return Okta.Form.extend({\n\t className: 'mfa-verify-yubikey',\n\t autoSave: true,\n\t noCancelButton: true,\n\t save: _.partial(Okta.loc, 'mfa.challenge.verify', 'login'),\n\t scrollOnError: false,\n\t layout: 'o-form-theme',\n\t attributes: { 'data-se': 'factor-yubikey' },\n\t\n\t initialize: function initialize() {\n\t var factorName = this.model.get('factorLabel');\n\t\n\t this.title = factorName;\n\t this.subtitle = Okta.loc('factor.totpHard.yubikey.description', 'login');\n\t\n\t this.addInput({\n\t label: false,\n\t 'label-top': true,\n\t className: 'o-form-fieldset o-form-label-top auth-passcode',\n\t name: 'answer',\n\t input: TextBox,\n\t type: 'password',\n\t placeholder: Okta.loc('factor.totpHard.yubikey.placeholder', 'login')\n\t });\n\t\n\t if (this.options.appState.get('allowRememberDevice')) {\n\t this.addInput({\n\t label: false,\n\t 'label-top': true,\n\t className: 'margin-btm-0',\n\t placeholder: this.options.appState.get('rememberDeviceLabel'),\n\t name: 'rememberDevice',\n\t type: 'checkbox'\n\t });\n\t }\n\t }\n\t\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 509 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta) {\n\t\n\t var _ = Okta._;\n\t\n\t return Okta.Form.extend({\n\t className: 'mfa-verify-question',\n\t autoSave: true,\n\t noCancelButton: true,\n\t save: _.partial(Okta.loc, 'mfa.challenge.verify', 'login'),\n\t scrollOnError: false,\n\t layout: 'o-form-theme',\n\t attributes: { 'data-se': 'factor-question' },\n\t\n\t initialize: function initialize() {\n\t this.title = this.model.get('factorLabel');\n\t\n\t this.addInput({\n\t label: this.model.get('securityQuestion'),\n\t 'label-top': true,\n\t placeholder: Okta.loc('mfa.challenge.answer.placeholder', 'login'),\n\t className: 'auth-passcode',\n\t name: 'answer',\n\t type: 'password',\n\t params: {\n\t showPasswordToggle: true\n\t }\n\t });\n\t\n\t if (this.options.appState.get('allowRememberDevice')) {\n\t this.addInput({\n\t label: false,\n\t 'label-top': true,\n\t placeholder: this.options.appState.get('rememberDeviceLabel'),\n\t className: 'margin-btm-0',\n\t name: 'rememberDevice',\n\t type: 'checkbox'\n\t });\n\t }\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 510 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(500), __webpack_require__(437)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, CookieUtil, Util) {\n\t\n\t var _ = Okta._;\n\t // deviceName is escaped on BaseForm (see BaseForm's template)\n\t var titleTpl = Okta.Handlebars.compile('{{factorName}} ({{{deviceName}}})');\n\t var WARNING_TIMEOUT = 30000; //milliseconds\n\t var warningTemplate = '
          \\\n\t \\\n\t

          {{warning}}

          \\\n\t
          ';\n\t\n\t return Okta.Form.extend({\n\t className: 'mfa-verify-push',\n\t autoSave: true,\n\t noCancelButton: true,\n\t save: _.partial(Okta.loc, 'oktaverify.send', 'login'),\n\t scrollOnError: false,\n\t layout: 'o-form-theme',\n\t attributes: { 'data-se': 'factor-push' },\n\t events: {\n\t submit: 'submit'\n\t },\n\t\n\t initialize: function initialize() {\n\t this.enabled = true;\n\t this.listenTo(this.options.appState, 'change:isMfaRejectedByUser', function (state, isMfaRejectedByUser) {\n\t this.setSubmitState(isMfaRejectedByUser);\n\t if (isMfaRejectedByUser) {\n\t this.showError(Okta.loc('oktaverify.rejected', 'login'));\n\t }\n\t });\n\t this.listenTo(this.options.appState, 'change:isMfaTimeout', function (state, isMfaTimeout) {\n\t this.setSubmitState(isMfaTimeout);\n\t if (isMfaTimeout) {\n\t this.showError(Okta.loc('oktaverify.timeout', 'login'));\n\t }\n\t });\n\t this.listenTo(this.options.appState, 'change:isMfaRequired', function (state, isMfaRequired) {\n\t if (isMfaRequired) {\n\t this.clearErrors();\n\t this.clearWarnings();\n\t }\n\t });\n\t this.title = titleTpl({\n\t factorName: this.model.get('factorLabel'),\n\t deviceName: this.model.get('deviceName')\n\t });\n\t },\n\t setSubmitState: function setSubmitState(ableToSubmit) {\n\t var button = this.$el.find('.button');\n\t this.enabled = ableToSubmit;\n\t if (ableToSubmit) {\n\t button.removeClass('link-button-disabled');\n\t button.prop('value', Okta.loc('oktaverify.send', 'login'));\n\t button.prop('disabled', false);\n\t } else {\n\t button.addClass('link-button-disabled');\n\t button.prop('value', Okta.loc('oktaverify.sent', 'login'));\n\t button.prop('disabled', true);\n\t }\n\t },\n\t submit: function submit(e) {\n\t if (e !== undefined) {\n\t e.preventDefault();\n\t }\n\t if (this.enabled) {\n\t this.setSubmitState(false);\n\t this.doSave();\n\t }\n\t },\n\t postRender: function postRender() {\n\t var factorsPolicyInfo = this.options.appState.get('factorsPolicyInfo');\n\t var id = this.model.get('id');\n\t var isAutoPushEnabled = this.settings.get('features.autoPush') && factorsPolicyInfo && factorsPolicyInfo[id] ? factorsPolicyInfo[id]['autoPushEnabled'] : false;\n\t\n\t if (isAutoPushEnabled) {\n\t this.model.set('autoPush', true);\n\t // bind after $el has been rendered, and trigger push once DOM is fully loaded\n\t _.defer(_.bind(this.submit, this));\n\t }\n\t },\n\t doSave: function doSave() {\n\t var warningTimeout;\n\t this.clearErrors();\n\t this.clearWarnings();\n\t if (this.model.isValid()) {\n\t this.listenToOnce(this.model, 'error', function () {\n\t this.setSubmitState(true);\n\t this.clearWarnings();\n\t clearTimeout(warningTimeout);\n\t });\n\t this.trigger('save', this.model);\n\t warningTimeout = Util.callAfterTimeout(_.bind(function () {\n\t this.showWarning(Okta.loc('oktaverify.warning', 'login'));\n\t }, this), WARNING_TIMEOUT);\n\t }\n\t },\n\t showError: function showError(msg) {\n\t this.clearWarnings();\n\t this.model.trigger('error', this.model, { responseJSON: { errorSummary: msg } });\n\t },\n\t showWarning: function showWarning(msg) {\n\t this.clearWarnings();\n\t this.add(warningTemplate, '.o-form-error-container', { options: { warning: msg } });\n\t },\n\t clearWarnings: function clearWarnings() {\n\t this.$('.okta-form-infobox-warning').remove();\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 511 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2016-2017, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta) {\n\t\n\t var _ = Okta._;\n\t\n\t return Okta.Form.extend({\n\t className: 'mfa-verify-password',\n\t autoSave: true,\n\t noCancelButton: true,\n\t save: _.partial(Okta.loc, 'mfa.challenge.verify', 'login'),\n\t scrollOnError: false,\n\t layout: 'o-form-theme',\n\t attributes: { 'data-se': 'factor-password' },\n\t\n\t initialize: function initialize() {\n\t this.title = this.model.get('factorLabel');\n\t\n\t this.addInput({\n\t label: false,\n\t 'label-top': true,\n\t placeholder: Okta.loc('mfa.challenge.password.placeholder', 'login'),\n\t className: 'auth-passcode',\n\t name: 'password',\n\t type: 'password',\n\t params: {\n\t showPasswordToggle: true\n\t }\n\t });\n\t\n\t if (this.options.appState.get('allowRememberDevice')) {\n\t this.addInput({\n\t label: false,\n\t 'label-top': true,\n\t placeholder: this.options.appState.get('rememberDeviceLabel'),\n\t className: 'margin-btm-0',\n\t name: 'rememberDevice',\n\t type: 'checkbox'\n\t });\n\t }\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 512 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(446)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, TextBox) {\n\t\n\t function addInlineTotp(form) {\n\t form.addDivider();\n\t form.addInput({\n\t label: false,\n\t 'label-top': true,\n\t placeholder: Okta.loc('mfa.challenge.enterCode.placeholder', 'login'),\n\t className: 'o-form-fieldset o-form-label-top inline-input auth-passcode',\n\t name: 'answer',\n\t input: TextBox,\n\t type: 'tel'\n\t });\n\t form.add(Okta.createButton({\n\t attributes: { 'data-se': 'inline-totp-verify' },\n\t className: 'button inline-totp-verify',\n\t title: Okta.loc('mfa.challenge.verify', 'login'),\n\t click: function click() {\n\t if (!form.isValid()) {\n\t return;\n\t }\n\t form.model.manageTransaction(function (transaction, setTransaction) {\n\t // This is the case where we enter the TOTP code and verify while there is an\n\t // active Push request (or polling) running. We need to invoke previous() on authClient\n\t // and then call model.save(). If not, we would still be in MFA_CHALLENGE state and\n\t // verify would result in a wrong request (push verify instead of a TOTP verify).\n\t if (transaction.status === 'MFA_CHALLENGE' && transaction.prev) {\n\t form.options.appState.set('trapMfaRequiredResponse', true);\n\t return transaction.prev().then(function (trans) {\n\t setTransaction(trans);\n\t form.model.save();\n\t });\n\t } else {\n\t // Push is not active and we enter the code to verify.\n\t form.model.save();\n\t }\n\t });\n\t }\n\t }));\n\t form.at(1).focus();\n\t }\n\t\n\t return Okta.Form.extend({\n\t autoSave: true,\n\t noButtonBar: true,\n\t scrollOnError: false,\n\t layout: 'o-form-theme',\n\t\n\t className: 'mfa-verify-totp-inline',\n\t\n\t attributes: { 'data-se': 'factor-inline-totp' },\n\t\n\t initialize: function initialize() {\n\t var form = this;\n\t this.listenTo(this.model, 'error', function () {\n\t this.clearErrors();\n\t });\n\t this.add(Okta.createButton({\n\t className: 'link',\n\t attributes: { 'data-se': 'inline-totp-add' },\n\t title: Okta.loc('mfa.challenge.orEnterCode', 'login'),\n\t click: function click() {\n\t this.remove();\n\t addInlineTotp(form);\n\t }\n\t }));\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 513 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(440), __webpack_require__(441), __webpack_require__(514), __webpack_require__(520), __webpack_require__(504), __webpack_require__(521)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, FormController, FormType, webauthn, Spinner, FooterSignout, HtmlErrorMessageView) {\n\t\n\t var _ = Okta._;\n\t\n\t return FormController.extend({\n\t className: 'mfa-verify verify-windows-hello',\n\t Model: {\n\t local: {\n\t __autoTriggered__: 'boolean'\n\t },\n\t\n\t save: function save() {\n\t if (!webauthn.isAvailable()) {\n\t return;\n\t }\n\t\n\t this.trigger('request');\n\t var model = this;\n\t\n\t return this.doTransaction(function (transaction) {\n\t var factor = _.findWhere(transaction.factors, {\n\t factorType: 'webauthn',\n\t provider: 'FIDO'\n\t });\n\t\n\t return factor.verify().then(function (verifyData) {\n\t var factorData = verifyData.factor;\n\t\n\t return webauthn.getAssertion(factorData.challenge.nonce, [{ id: factorData.profile.credentialId }]).then(function (assertion) {\n\t return factor.verify({\n\t authenticatorData: assertion.authenticatorData,\n\t clientData: assertion.clientData,\n\t signatureData: assertion.signature\n\t });\n\t }).then(function (data) {\n\t model.trigger('sync');\n\t model.trigger('signIn');\n\t return data;\n\t }).fail(function (error) {\n\t switch (error.message) {\n\t case 'AbortError':\n\t case 'NotFoundError':\n\t case 'NotSupportedError':\n\t model.trigger('abort', error.message);\n\t return transaction;\n\t }\n\t\n\t throw error;\n\t });\n\t });\n\t });\n\t }\n\t },\n\t\n\t Form: {\n\t autoSave: true,\n\t hasSavingState: false,\n\t title: _.partial(Okta.loc, 'factor.windowsHello', 'login'),\n\t subtitle: function subtitle() {\n\t return webauthn.isAvailable() ? Okta.loc('verify.windowsHello.subtitle', 'login') : '';\n\t },\n\t save: _.partial(Okta.loc, 'verify.windowsHello.save', 'login'),\n\t\n\t customSavingState: {\n\t stop: 'abort'\n\t },\n\t\n\t modelEvents: function modelEvents() {\n\t if (!webauthn.isAvailable()) {\n\t return {};\n\t }\n\t\n\t return {\n\t 'request': '_startEnrollment',\n\t 'error': '_stopEnrollment',\n\t 'abort': '_stopEnrollment',\n\t 'signIn': '_successEnrollment'\n\t };\n\t },\n\t\n\t noButtonBar: function noButtonBar() {\n\t return !webauthn.isAvailable();\n\t },\n\t\n\t formChildren: function formChildren() {\n\t var result = [];\n\t if (!webauthn.isAvailable()) {\n\t result.push(FormType.View({ View: new HtmlErrorMessageView({ message: Okta.loc('enroll.windowsHello.error.notWindows', 'login') }) }, { selector: '.o-form-error-container' }));\n\t }\n\t\n\t result.push(FormType.View({ View: new Spinner({ model: this.model, visible: false }) }));\n\t\n\t return result;\n\t },\n\t\n\t postRender: function postRender() {\n\t if (this.options.appState.get('factors').length === 1 && !this.model.get('__autoTriggered__')) {\n\t this.model.set('__autoTriggered__', true);\n\t this.model.save();\n\t }\n\t },\n\t\n\t _startEnrollment: function _startEnrollment() {\n\t this.subtitle = Okta.loc('verify.windowsHello.subtitle.loading', 'login');\n\t\n\t this.model.trigger('spinner:show');\n\t this._resetErrorMessage();\n\t\n\t this.render();\n\t this.$('.o-form-button-bar').addClass('hide');\n\t },\n\t\n\t _stopEnrollment: function _stopEnrollment(errorMessage) {\n\t this.subtitle = Okta.loc('verify.windowsHello.subtitle', 'login');\n\t\n\t this.model.trigger('spinner:hide');\n\t this.$('.o-form-button-bar').removeClass('hide');\n\t\n\t var message;\n\t switch (errorMessage) {\n\t case 'NotFoundError':\n\t message = this.options.appState.get('factors').length > 1 ? Okta.loc('verify.windowsHello.error.notFound.selectAnother', 'login') : Okta.loc('verify.windowsHello.error.notFound', 'login');\n\t break;\n\t\n\t case 'NotSupportedError':\n\t message = Okta.loc('enroll.windowsHello.error.notConfiguredHtml', 'login');\n\t break;\n\t }\n\t\n\t this._resetErrorMessage();\n\t\n\t if (message) {\n\t var messageView = new HtmlErrorMessageView({\n\t message: message\n\t });\n\t\n\t this.$('.o-form-error-container').addClass('o-form-has-errors');\n\t this.add(messageView, { selector: '.o-form-error-container' });\n\t this._errorMessageView = this.last();\n\t }\n\t\n\t this.render();\n\t },\n\t\n\t _successEnrollment: function _successEnrollment() {\n\t this.subtitle = Okta.loc('verify.windowsHello.subtitle.signingIn', 'login');\n\t this.render();\n\t this.$('.o-form-button-bar').addClass('hide');\n\t },\n\t\n\t _resetErrorMessage: function _resetErrorMessage() {\n\t this._errorMessageView && this._errorMessageView.remove();\n\t this._errorMessageView = undefined;\n\t this.clearErrors();\n\t }\n\t },\n\t\n\t back: function back() {\n\t // Empty function on verify controllers to prevent users\n\t // from navigating back during 'verify' using the browser's\n\t // back button. The URL will still change, but the view will not\n\t // More details in OKTA-135060.\n\t },\n\t\n\t Footer: FooterSignout\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 514 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\tvar _freeze = __webpack_require__(515);\n\t\n\tvar _freeze2 = _interopRequireDefault(_freeze);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t/* globals JSON */\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(406), __webpack_require__(519)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, Q, FidoUtil) {\n\t\n\t function adaptToOkta(promise) {\n\t return new Q(promise);\n\t }\n\t\n\t function makeCredential(accountInfo, cryptoParams, challenge) {\n\t cryptoParams = cryptoParams.map(function (param) {\n\t return { type: 'FIDO_2_0', algorithm: param.algorithm };\n\t });\n\t\n\t var promise = window.msCredentials.makeCredential(accountInfo, cryptoParams, challenge).then(function (cred) {\n\t return (0, _freeze2.default)({\n\t credential: { id: cred.id },\n\t publicKey: JSON.parse(cred.publicKey),\n\t attestation: cred.attestation\n\t });\n\t });\n\t\n\t return adaptToOkta(promise);\n\t }\n\t\n\t function getAssertion(challenge, allowList) {\n\t var accept = allowList.map(function (item) {\n\t return { type: 'FIDO_2_0', id: item.id };\n\t });\n\t var filters = { accept: accept };\n\t\n\t var promise = window.msCredentials.getAssertion(challenge, filters).then(function (attestation) {\n\t var signature = attestation.signature;\n\t return (0, _freeze2.default)({\n\t credential: { id: attestation.id },\n\t clientData: signature.clientData,\n\t authenticatorData: signature.authnrData,\n\t signature: signature.signature\n\t });\n\t });\n\t\n\t return adaptToOkta(promise);\n\t }\n\t\n\t return {\n\t makeCredential: makeCredential,\n\t getAssertion: getAssertion,\n\t isAvailable: function isAvailable() {\n\t return window.hasOwnProperty('msCredentials');\n\t },\n\t isNewApiAvailable: function isNewApiAvailable() {\n\t return navigator && navigator.credentials && navigator.credentials.create;\n\t },\n\t isWebauthnOrU2fAvailable: function isWebauthnOrU2fAvailable() {\n\t return this.isNewApiAvailable() || FidoUtil.isU2fAvailable();\n\t }\n\t };\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 515 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(516), __esModule: true };\n\n/***/ },\n/* 516 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(517);\n\tmodule.exports = __webpack_require__(335).Object.freeze;\n\n\n/***/ },\n/* 517 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.5 Object.freeze(O)\n\tvar isObject = __webpack_require__(352);\n\tvar meta = __webpack_require__(390).onFreeze;\n\t\n\t__webpack_require__(518)('freeze', function ($freeze) {\n\t return function freeze(it) {\n\t return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n\t };\n\t});\n\n\n/***/ },\n/* 518 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// most Object methods by ES6 should accept primitives\n\tvar $export = __webpack_require__(345);\n\tvar core = __webpack_require__(335);\n\tvar fails = __webpack_require__(355);\n\tmodule.exports = function (KEY, exec) {\n\t var fn = (core.Object || {})[KEY] || Object[KEY];\n\t var 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/***/ },\n/* 519 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t/* eslint complexity:[2, 9] */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta) {\n\t var fn = {};\n\t\n\t fn.getU2fEnrollErrorMessageKeyByCode = function (errorCode) {\n\t switch (errorCode) {\n\t default:\n\t case 1:\n\t return 'u2f.error.other';\n\t case 2:\n\t case 3:\n\t return 'u2f.error.badRequest';\n\t case 4:\n\t return 'u2f.error.unsupported';\n\t case 5:\n\t return 'u2f.error.timeout';\n\t }\n\t };\n\t\n\t fn.getU2fVerifyErrorMessageKeyByCode = function (errorCode, isOneFactor) {\n\t switch (errorCode) {\n\t case 1:\n\t // OTHER_ERROR\n\t return isOneFactor ? 'u2f.error.other.oneFactor' : 'u2f.error.other';\n\t case 2: // BAD_REQUEST\n\t case 3:\n\t // CONFIGURATION_UNSUPPORTED\n\t return isOneFactor ? 'u2f.error.badRequest.oneFactor' : 'u2f.error.badRequest';\n\t case 4:\n\t // DEVICE_INELIGIBLE\n\t return isOneFactor ? 'u2f.error.unsupported.oneFactor' : 'u2f.error.unsupported';\n\t case 5:\n\t // TIMEOUT\n\t return 'u2f.error.timeout';\n\t }\n\t };\n\t\n\t fn.getU2fEnrollErrorMessageByCode = function (errorCode) {\n\t return Okta.loc(fn.getU2fEnrollErrorMessageKeyByCode(errorCode), 'login');\n\t };\n\t\n\t fn.getU2fVerifyErrorMessageByCode = function (errorCode, isOneFactor) {\n\t return Okta.loc(fn.getU2fVerifyErrorMessageKeyByCode(errorCode, isOneFactor), 'login');\n\t };\n\t\n\t fn.getU2fVersion = function () {\n\t return 'U2F_V2';\n\t };\n\t\n\t fn.isU2fAvailable = function () {\n\t return window.hasOwnProperty('u2f');\n\t };\n\t\n\t return fn;\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 520 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta) {\n\t\n\t return Okta.View.extend({\n\t className: 'okta-waiting-spinner',\n\t attributes: {\n\t 'data-se': 'o-form-okta-waiting-spinner'\n\t },\n\t modelEvents: {\n\t 'spinner:show': 'show',\n\t 'spinner:hide': 'hide'\n\t },\n\t\n\t initialize: function initialize(options) {\n\t if (options && options.visible === false) {\n\t this.hide();\n\t }\n\t },\n\t\n\t show: function show() {\n\t this.$el.removeClass('hide');\n\t },\n\t\n\t hide: function hide() {\n\t this.$el.addClass('hide');\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 521 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta) {\n\t\n\t // Have to be unescaped for the html in enroll.windowsHello.error.notConfiguredHtml\n\t var template = '\\\n\t \\\n\t

          {{{message}}}

          \\\n\t ';\n\t\n\t return Okta.View.extend({\n\t template: template,\n\t className: 'okta-infobox-error infobox infobox-error infobox-md margin-btm-25',\n\t attributes: {\n\t 'data-se': 'o-form-error-html'\n\t },\n\t\n\t message: '',\n\t\n\t initialize: function initialize(options) {\n\t if (options && options.message) {\n\t this.message = options.message;\n\t }\n\t },\n\t\n\t getTemplateData: function getTemplateData() {\n\t return {\n\t message: this.message\n\t };\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 522 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t/* global u2f */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(440), __webpack_require__(441), __webpack_require__(504), __webpack_require__(406), __webpack_require__(445), __webpack_require__(519), __webpack_require__(521), __webpack_require__(523)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, FormController, FormType, FooterSignout, Q, FactorUtil, FidoUtil, HtmlErrorMessageView) {\n\t\n\t var _ = Okta._;\n\t\n\t return FormController.extend({\n\t className: 'mfa-verify verify-u2f',\n\t Model: {\n\t props: {\n\t rememberDevice: 'boolean'\n\t },\n\t\n\t initialize: function initialize() {\n\t var rememberDevice = FactorUtil.getRememberDeviceValue(this.appState);\n\t // set the initial value for remember device (Cannot do this while defining the\n\t // local property because this.settings would not be initialized there yet).\n\t this.set('rememberDevice', rememberDevice);\n\t },\n\t\n\t save: function save() {\n\t this.trigger('request');\n\t\n\t return this.doTransaction(function (transaction) {\n\t var factor = _.findWhere(transaction.factors, {\n\t factorType: 'u2f',\n\t provider: 'FIDO'\n\t });\n\t var self = this;\n\t return factor.verify().then(function (transaction) {\n\t var factorData = transaction.factor;\n\t var appId = factorData.profile.appId;\n\t var registeredKeys = [{ version: FidoUtil.getU2fVersion(), keyHandle: factorData.profile.credentialId }];\n\t self.trigger('request');\n\t\n\t var deferred = Q.defer();\n\t u2f.sign(appId, factorData.challenge.nonce, registeredKeys, function (data) {\n\t self.trigger('errors:clear');\n\t if (data.errorCode && data.errorCode !== 0) {\n\t var isOneFactor = self.options.appState.get('factors').length === 1;\n\t deferred.reject({\n\t xhr: {\n\t responseJSON: {\n\t errorSummary: FidoUtil.getU2fVerifyErrorMessageByCode(data.errorCode, isOneFactor)\n\t }\n\t }\n\t });\n\t } else {\n\t var rememberDevice = !!self.get('rememberDevice');\n\t return factor.verify({\n\t clientData: data.clientData,\n\t signatureData: data.signatureData,\n\t rememberDevice: rememberDevice\n\t }).then(deferred.resolve);\n\t }\n\t });\n\t return deferred.promise;\n\t });\n\t });\n\t }\n\t },\n\t\n\t Form: {\n\t autoSave: true,\n\t hasSavingState: false,\n\t title: _.partial(Okta.loc, 'factor.u2f', 'login'),\n\t className: 'verify-u2f-form',\n\t noCancelButton: true,\n\t save: _.partial(Okta.loc, 'verify.u2f.retry', 'login'),\n\t noButtonBar: function noButtonBar() {\n\t return !FidoUtil.isU2fAvailable();\n\t },\n\t modelEvents: {\n\t 'request': '_startEnrollment',\n\t 'error': '_stopEnrollment'\n\t },\n\t\n\t formChildren: function formChildren() {\n\t var result = [];\n\t\n\t if (!FidoUtil.isU2fAvailable()) {\n\t var errorMessageKey = 'u2f.error.factorNotSupported';\n\t if (this.options.appState.get('factors').length === 1) {\n\t errorMessageKey = 'u2f.error.factorNotSupported.oneFactor';\n\t }\n\t result.push(FormType.View({ View: new HtmlErrorMessageView({ message: Okta.loc(errorMessageKey, 'login') }) }, { selector: '.o-form-error-container' }));\n\t } else {\n\t result.push(FormType.View({\n\t View: '\\\n\t
          \\\n\t

          {{i18n code=\"verify.u2f.instructions\" bundle=\"login\"}}

          \\\n\t

          {{i18n code=\"verify.u2f.instructionsBluetooth\" bundle=\"login\"}}

          \\\n\t
          \\\n\t
          '\n\t }));\n\t }\n\t\n\t if (this.options.appState.get('allowRememberDevice')) {\n\t result.push(FormType.Input({\n\t label: false,\n\t 'label-top': true,\n\t placeholder: this.options.appState.get('rememberDeviceLabel'),\n\t className: 'margin-btm-0',\n\t name: 'rememberDevice',\n\t type: 'checkbox'\n\t }));\n\t }\n\t\n\t return result;\n\t },\n\t\n\t postRender: function postRender() {\n\t _.defer(_.bind(function () {\n\t if (FidoUtil.isU2fAvailable()) {\n\t this.model.save();\n\t } else {\n\t this.$('[data-se=\"u2f-waiting\"]').addClass('hide');\n\t }\n\t }, this));\n\t },\n\t\n\t _startEnrollment: function _startEnrollment() {\n\t this.$('.okta-waiting-spinner').removeClass('hide');\n\t this.$('.o-form-button-bar').hide();\n\t },\n\t\n\t _stopEnrollment: function _stopEnrollment() {\n\t this.$('.okta-waiting-spinner').addClass('hide');\n\t this.$('.o-form-button-bar').show();\n\t }\n\t },\n\t\n\t back: function back() {\n\t // Empty function on verify controllers to prevent users\n\t // from navigating back during 'verify' using the browser's\n\t // back button. The URL will still change, but the view will not\n\t // More details in OKTA-135060.\n\t },\n\t\n\t Footer: FooterSignout\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 523 */\n/***/ function(module, exports) {\n\n\t\n\t//Copyright 2014-2015 Google Inc. All rights reserved.\n\t\n\t//Use of this source code is governed by a BSD-style\n\t//license that can be found in the LICENSE file or at\n\t//https://developers.google.com/open-source/licenses/bsd\n\t\n\t/**\n\t * @fileoverview The U2F api.\n\t */\n\t'use strict';\n\t\n\t(function (){\n\t if ('u2f' in window || !('chrome' in window)) {\n\t return;\n\t }\n\t\n\t /** Namespace for the U2F api.\n\t * @type {Object}\n\t */\n\t var u2f = window.u2f = {};\n\t\n\t /**\n\t * FIDO U2F Javascript API Version\n\t * @number\n\t */\n\t var js_api_version;\n\t\n\t /**\n\t * The U2F extension id\n\t * @const {string}\n\t */\n\t // The Chrome packaged app extension ID.\n\t // Uncomment this if you want to deploy a server instance that uses\n\t // the package Chrome app and does not require installing the U2F Chrome extension.\n\t u2f.EXTENSION_ID = 'kmendfapggjehodndflmmgagdbamhnfd';\n\t // The U2F Chrome extension ID.\n\t // Uncomment this if you want to deploy a server instance that uses\n\t // the U2F Chrome extension to authenticate.\n\t // u2f.EXTENSION_ID = 'pfboblefjcgdjicmnffhdgionmgcdmne';\n\t\n\t\n\t /**\n\t * Message types for messsages to/from the extension\n\t * @const\n\t * @enum {string}\n\t */\n\t u2f.MessageTypes = {\n\t 'U2F_REGISTER_REQUEST': 'u2f_register_request',\n\t 'U2F_REGISTER_RESPONSE': 'u2f_register_response',\n\t 'U2F_SIGN_REQUEST': 'u2f_sign_request',\n\t 'U2F_SIGN_RESPONSE': 'u2f_sign_response',\n\t 'U2F_GET_API_VERSION_REQUEST': 'u2f_get_api_version_request',\n\t 'U2F_GET_API_VERSION_RESPONSE': 'u2f_get_api_version_response'\n\t };\n\t\n\t\n\t /**\n\t * Response status codes\n\t * @const\n\t * @enum {number}\n\t */\n\t u2f.ErrorCodes = {\n\t 'OK': 0,\n\t 'OTHER_ERROR': 1,\n\t 'BAD_REQUEST': 2,\n\t 'CONFIGURATION_UNSUPPORTED': 3,\n\t 'DEVICE_INELIGIBLE': 4,\n\t 'TIMEOUT': 5\n\t };\n\t\n\t\n\t /**\n\t * A message for registration requests\n\t * @typedef {{\n\t * type: u2f.MessageTypes,\n\t * appId: ?string,\n\t * timeoutSeconds: ?number,\n\t * requestId: ?number\n\t * }}\n\t */\n\t u2f.U2fRequest;\n\t\n\t\n\t /**\n\t * A message for registration responses\n\t * @typedef {{\n\t * type: u2f.MessageTypes,\n\t * responseData: (u2f.Error | u2f.RegisterResponse | u2f.SignResponse),\n\t * requestId: ?number\n\t * }}\n\t */\n\t u2f.U2fResponse;\n\t\n\t\n\t /**\n\t * An error object for responses\n\t * @typedef {{\n\t * errorCode: u2f.ErrorCodes,\n\t * errorMessage: ?string\n\t * }}\n\t */\n\t u2f.Error;\n\t\n\t /**\n\t * Data object for a single sign request.\n\t * @typedef {enum {BLUETOOTH_RADIO, BLUETOOTH_LOW_ENERGY, USB, NFC}}\n\t */\n\t u2f.Transport;\n\t\n\t\n\t /**\n\t * Data object for a single sign request.\n\t * @typedef {Array}\n\t */\n\t u2f.Transports;\n\t\n\t /**\n\t * Data object for a single sign request.\n\t * @typedef {{\n\t * version: string,\n\t * challenge: string,\n\t * keyHandle: string,\n\t * appId: string\n\t * }}\n\t */\n\t u2f.SignRequest;\n\t\n\t\n\t /**\n\t * Data object for a sign response.\n\t * @typedef {{\n\t * keyHandle: string,\n\t * signatureData: string,\n\t * clientData: string\n\t * }}\n\t */\n\t u2f.SignResponse;\n\t\n\t\n\t /**\n\t * Data object for a registration request.\n\t * @typedef {{\n\t * version: string,\n\t * challenge: string\n\t * }}\n\t */\n\t u2f.RegisterRequest;\n\t\n\t\n\t /**\n\t * Data object for a registration response.\n\t * @typedef {{\n\t * version: string,\n\t * keyHandle: string,\n\t * transports: Transports,\n\t * appId: string\n\t * }}\n\t */\n\t u2f.RegisterResponse;\n\t\n\t\n\t /**\n\t * Data object for a registered key.\n\t * @typedef {{\n\t * version: string,\n\t * keyHandle: string,\n\t * transports: ?Transports,\n\t * appId: ?string\n\t * }}\n\t */\n\t u2f.RegisteredKey;\n\t\n\t\n\t /**\n\t * Data object for a get API register response.\n\t * @typedef {{\n\t * js_api_version: number\n\t * }}\n\t */\n\t u2f.GetJsApiVersionResponse;\n\t\n\t\n\t //Low level MessagePort API support\n\t\n\t /**\n\t * Sets up a MessagePort to the U2F extension using the\n\t * available mechanisms.\n\t * @param {function((MessagePort|u2f.WrappedChromeRuntimePort_))} callback\n\t */\n\t u2f.getMessagePort = function(callback) {\n\t if (typeof chrome != 'undefined' && chrome.runtime) {\n\t // The actual message here does not matter, but we need to get a reply\n\t // for the callback to run. Thus, send an empty signature request\n\t // in order to get a failure response.\n\t var msg = {\n\t type: u2f.MessageTypes.U2F_SIGN_REQUEST,\n\t signRequests: []\n\t };\n\t chrome.runtime.sendMessage(u2f.EXTENSION_ID, msg, function() {\n\t if (!chrome.runtime.lastError) {\n\t // We are on a whitelisted origin and can talk directly\n\t // with the extension.\n\t u2f.getChromeRuntimePort_(callback);\n\t } else {\n\t // chrome.runtime was available, but we couldn't message\n\t // the extension directly, use iframe\n\t u2f.getIframePort_(callback);\n\t }\n\t });\n\t } else if (u2f.isAndroidChrome_()) {\n\t u2f.getAuthenticatorPort_(callback);\n\t } else if (u2f.isIosChrome_()) {\n\t u2f.getIosPort_(callback);\n\t } else {\n\t // chrome.runtime was not available at all, which is normal\n\t // when this origin doesn't have access to any extensions.\n\t u2f.getIframePort_(callback);\n\t }\n\t };\n\t\n\t /**\n\t * Detect chrome running on android based on the browser's useragent.\n\t * @private\n\t */\n\t u2f.isAndroidChrome_ = function() {\n\t var userAgent = navigator.userAgent;\n\t return userAgent.indexOf('Chrome') != -1 &&\n\t userAgent.indexOf('Android') != -1;\n\t };\n\t\n\t /**\n\t * Detect chrome running on iOS based on the browser's platform.\n\t * @private\n\t */\n\t u2f.isIosChrome_ = function() {\n\t return $.inArray(navigator.platform, [\"iPhone\", \"iPad\", \"iPod\"]) > -1;\n\t };\n\t\n\t /**\n\t * Connects directly to the extension via chrome.runtime.connect.\n\t * @param {function(u2f.WrappedChromeRuntimePort_)} callback\n\t * @private\n\t */\n\t u2f.getChromeRuntimePort_ = function(callback) {\n\t var port = chrome.runtime.connect(u2f.EXTENSION_ID,\n\t {'includeTlsChannelId': true});\n\t setTimeout(function() {\n\t callback(new u2f.WrappedChromeRuntimePort_(port));\n\t }, 0);\n\t };\n\t\n\t /**\n\t * Return a 'port' abstraction to the Authenticator app.\n\t * @param {function(u2f.WrappedAuthenticatorPort_)} callback\n\t * @private\n\t */\n\t u2f.getAuthenticatorPort_ = function(callback) {\n\t setTimeout(function() {\n\t callback(new u2f.WrappedAuthenticatorPort_());\n\t }, 0);\n\t };\n\t\n\t /**\n\t * Return a 'port' abstraction to the iOS client app.\n\t * @param {function(u2f.WrappedIosPort_)} callback\n\t * @private\n\t */\n\t u2f.getIosPort_ = function(callback) {\n\t setTimeout(function() {\n\t callback(new u2f.WrappedIosPort_());\n\t }, 0);\n\t };\n\t\n\t /**\n\t * A wrapper for chrome.runtime.Port that is compatible with MessagePort.\n\t * @param {Port} port\n\t * @constructor\n\t * @private\n\t */\n\t u2f.WrappedChromeRuntimePort_ = function(port) {\n\t this.port_ = port;\n\t };\n\t\n\t /**\n\t * Format and return a sign request compliant with the JS API version supported by the extension.\n\t * @param {Array} signRequests\n\t * @param {number} timeoutSeconds\n\t * @param {number} reqId\n\t * @return {Object}\n\t */\n\t u2f.formatSignRequest_ =\n\t function(appId, challenge, registeredKeys, timeoutSeconds, reqId) {\n\t if (js_api_version === undefined || js_api_version < 1.1) {\n\t // Adapt request to the 1.0 JS API\n\t var signRequests = [];\n\t for (var i = 0; i < registeredKeys.length; i++) {\n\t signRequests[i] = {\n\t version: registeredKeys[i].version,\n\t challenge: challenge,\n\t keyHandle: registeredKeys[i].keyHandle,\n\t appId: appId\n\t };\n\t }\n\t return {\n\t type: u2f.MessageTypes.U2F_SIGN_REQUEST,\n\t signRequests: signRequests,\n\t timeoutSeconds: timeoutSeconds,\n\t requestId: reqId\n\t };\n\t }\n\t // JS 1.1 API\n\t return {\n\t type: u2f.MessageTypes.U2F_SIGN_REQUEST,\n\t appId: appId,\n\t challenge: challenge,\n\t registeredKeys: registeredKeys,\n\t timeoutSeconds: timeoutSeconds,\n\t requestId: reqId\n\t };\n\t };\n\t\n\t /**\n\t * Format and return a register request compliant with the JS API version supported by the extension..\n\t * @param {Array} signRequests\n\t * @param {Array} signRequests\n\t * @param {number} timeoutSeconds\n\t * @param {number} reqId\n\t * @return {Object}\n\t */\n\t u2f.formatRegisterRequest_ =\n\t function(appId, registeredKeys, registerRequests, timeoutSeconds, reqId) {\n\t if (js_api_version === undefined || js_api_version < 1.1) {\n\t // Adapt request to the 1.0 JS API\n\t for (var i = 0; i < registerRequests.length; i++) {\n\t registerRequests[i].appId = appId;\n\t }\n\t var signRequests = [];\n\t for (var i = 0; i < registeredKeys.length; i++) {\n\t signRequests[i] = {\n\t version: registeredKeys[i].version,\n\t challenge: registerRequests[0],\n\t keyHandle: registeredKeys[i].keyHandle,\n\t appId: appId\n\t };\n\t }\n\t return {\n\t type: u2f.MessageTypes.U2F_REGISTER_REQUEST,\n\t signRequests: signRequests,\n\t registerRequests: registerRequests,\n\t timeoutSeconds: timeoutSeconds,\n\t requestId: reqId\n\t };\n\t }\n\t // JS 1.1 API\n\t return {\n\t type: u2f.MessageTypes.U2F_REGISTER_REQUEST,\n\t appId: appId,\n\t registerRequests: registerRequests,\n\t registeredKeys: registeredKeys,\n\t timeoutSeconds: timeoutSeconds,\n\t requestId: reqId\n\t };\n\t };\n\t\n\t\n\t /**\n\t * Posts a message on the underlying channel.\n\t * @param {Object} message\n\t */\n\t u2f.WrappedChromeRuntimePort_.prototype.postMessage = function(message) {\n\t this.port_.postMessage(message);\n\t };\n\t\n\t\n\t /**\n\t * Emulates the HTML 5 addEventListener interface. Works only for the\n\t * onmessage event, which is hooked up to the chrome.runtime.Port.onMessage.\n\t * @param {string} eventName\n\t * @param {function({data: Object})} handler\n\t */\n\t u2f.WrappedChromeRuntimePort_.prototype.addEventListener =\n\t function(eventName, handler) {\n\t var name = eventName.toLowerCase();\n\t if (name == 'message' || name == 'onmessage') {\n\t this.port_.onMessage.addListener(function(message) {\n\t // Emulate a minimal MessageEvent object\n\t handler({'data': message});\n\t });\n\t } else {\n\t console.error('WrappedChromeRuntimePort only supports onMessage');\n\t }\n\t };\n\t\n\t /**\n\t * Wrap the Authenticator app with a MessagePort interface.\n\t * @constructor\n\t * @private\n\t */\n\t u2f.WrappedAuthenticatorPort_ = function() {\n\t this.requestId_ = -1;\n\t this.requestObject_ = null;\n\t }\n\t\n\t /**\n\t * Launch the Authenticator intent.\n\t * @param {Object} message\n\t */\n\t u2f.WrappedAuthenticatorPort_.prototype.postMessage = function(message) {\n\t var intentUrl =\n\t u2f.WrappedAuthenticatorPort_.INTENT_URL_BASE_ +\n\t ';S.request=' + encodeURIComponent(JSON.stringify(message)) +\n\t ';end';\n\t document.location = intentUrl;\n\t };\n\t\n\t /**\n\t * Tells what type of port this is.\n\t * @return {String} port type\n\t */\n\t u2f.WrappedAuthenticatorPort_.prototype.getPortType = function() {\n\t return \"WrappedAuthenticatorPort_\";\n\t };\n\t\n\t\n\t /**\n\t * Emulates the HTML 5 addEventListener interface.\n\t * @param {string} eventName\n\t * @param {function({data: Object})} handler\n\t */\n\t u2f.WrappedAuthenticatorPort_.prototype.addEventListener = function(eventName, handler) {\n\t var name = eventName.toLowerCase();\n\t if (name == 'message') {\n\t var self = this;\n\t /* Register a callback to that executes when\n\t * chrome injects the response. */\n\t window.addEventListener(\n\t 'message', self.onRequestUpdate_.bind(self, handler), false);\n\t } else {\n\t console.error('WrappedAuthenticatorPort only supports message');\n\t }\n\t };\n\t\n\t /**\n\t * Callback invoked when a response is received from the Authenticator.\n\t * @param function({data: Object}) callback\n\t * @param {Object} message message Object\n\t */\n\t u2f.WrappedAuthenticatorPort_.prototype.onRequestUpdate_ =\n\t function(callback, message) {\n\t var messageObject = JSON.parse(message.data);\n\t var intentUrl = messageObject['intentURL'];\n\t\n\t var errorCode = messageObject['errorCode'];\n\t var responseObject = null;\n\t if (messageObject.hasOwnProperty('data')) {\n\t responseObject = /** @type {Object} */ (\n\t JSON.parse(messageObject['data']));\n\t }\n\t\n\t callback({'data': responseObject});\n\t };\n\t\n\t /**\n\t * Base URL for intents to Authenticator.\n\t * @const\n\t * @private\n\t */\n\t u2f.WrappedAuthenticatorPort_.INTENT_URL_BASE_ =\n\t 'intent:#Intent;action=com.google.android.apps.authenticator.AUTHENTICATE';\n\t\n\t /**\n\t * Wrap the iOS client app with a MessagePort interface.\n\t * @constructor\n\t * @private\n\t */\n\t u2f.WrappedIosPort_ = function() {};\n\t\n\t /**\n\t * Launch the iOS client app request\n\t * @param {Object} message\n\t */\n\t u2f.WrappedIosPort_.prototype.postMessage = function(message) {\n\t var str = JSON.stringify(message);\n\t var url = \"u2f://auth?\" + encodeURI(str);\n\t location.replace(url);\n\t };\n\t\n\t /**\n\t * Tells what type of port this is.\n\t * @return {String} port type\n\t */\n\t u2f.WrappedIosPort_.prototype.getPortType = function() {\n\t return \"WrappedIosPort_\";\n\t };\n\t\n\t /**\n\t * Emulates the HTML 5 addEventListener interface.\n\t * @param {string} eventName\n\t * @param {function({data: Object})} handler\n\t */\n\t u2f.WrappedIosPort_.prototype.addEventListener = function(eventName, handler) {\n\t var name = eventName.toLowerCase();\n\t if (name !== 'message') {\n\t console.error('WrappedIosPort only supports message');\n\t }\n\t };\n\t\n\t /**\n\t * Sets up an embedded trampoline iframe, sourced from the extension.\n\t * @param {function(MessagePort)} callback\n\t * @private\n\t */\n\t u2f.getIframePort_ = function(callback) {\n\t // Create the iframe\n\t var iframeOrigin = 'chrome-extension://' + u2f.EXTENSION_ID;\n\t var iframe = document.createElement('iframe');\n\t iframe.src = iframeOrigin + '/u2f-comms.html';\n\t iframe.setAttribute('style', 'display:none');\n\t document.body.appendChild(iframe);\n\t\n\t var channel = new MessageChannel();\n\t var ready = function(message) {\n\t if (message.data == 'ready') {\n\t channel.port1.removeEventListener('message', ready);\n\t callback(channel.port1);\n\t } else {\n\t console.error('First event on iframe port was not \"ready\"');\n\t }\n\t };\n\t channel.port1.addEventListener('message', ready);\n\t channel.port1.start();\n\t\n\t iframe.addEventListener('load', function() {\n\t // Deliver the port to the iframe and initialize\n\t iframe.contentWindow.postMessage('init', iframeOrigin, [channel.port2]);\n\t });\n\t };\n\t\n\t\n\t //High-level JS API\n\t\n\t /**\n\t * Default extension response timeout in seconds.\n\t * @const\n\t */\n\t u2f.EXTENSION_TIMEOUT_SEC = 30;\n\t\n\t /**\n\t * A singleton instance for a MessagePort to the extension.\n\t * @type {MessagePort|u2f.WrappedChromeRuntimePort_}\n\t * @private\n\t */\n\t u2f.port_ = null;\n\t\n\t /**\n\t * Callbacks waiting for a port\n\t * @type {Array}\n\t * @private\n\t */\n\t u2f.waitingForPort_ = [];\n\t\n\t /**\n\t * A counter for requestIds.\n\t * @type {number}\n\t * @private\n\t */\n\t u2f.reqCounter_ = 0;\n\t\n\t /**\n\t * A map from requestIds to client callbacks\n\t * @type {Object.}\n\t * @private\n\t */\n\t u2f.callbackMap_ = {};\n\t\n\t /**\n\t * Creates or retrieves the MessagePort singleton to use.\n\t * @param {function((MessagePort|u2f.WrappedChromeRuntimePort_))} callback\n\t * @private\n\t */\n\t u2f.getPortSingleton_ = function(callback) {\n\t if (u2f.port_) {\n\t callback(u2f.port_);\n\t } else {\n\t if (u2f.waitingForPort_.length == 0) {\n\t u2f.getMessagePort(function(port) {\n\t u2f.port_ = port;\n\t u2f.port_.addEventListener('message',\n\t /** @type {function(Event)} */ (u2f.responseHandler_));\n\t\n\t // Careful, here be async callbacks. Maybe.\n\t while (u2f.waitingForPort_.length)\n\t u2f.waitingForPort_.shift()(u2f.port_);\n\t });\n\t }\n\t u2f.waitingForPort_.push(callback);\n\t }\n\t };\n\t\n\t /**\n\t * Handles response messages from the extension.\n\t * @param {MessageEvent.} message\n\t * @private\n\t */\n\t u2f.responseHandler_ = function(message) {\n\t var response = message.data;\n\t var reqId = response['requestId'];\n\t if (!reqId || !u2f.callbackMap_[reqId]) {\n\t console.error('Unknown or missing requestId in response.');\n\t return;\n\t }\n\t var cb = u2f.callbackMap_[reqId];\n\t delete u2f.callbackMap_[reqId];\n\t cb(response['responseData']);\n\t };\n\t\n\t /**\n\t * Dispatches an array of sign requests to available U2F tokens.\n\t * If the JS API version supported by the extension is unknown, it first sends a\n\t * message to the extension to find out the supported API version and then it sends\n\t * the sign request.\n\t * @param {string=} appId\n\t * @param {string=} challenge\n\t * @param {Array} registeredKeys\n\t * @param {function((u2f.Error|u2f.SignResponse))} callback\n\t * @param {number=} opt_timeoutSeconds\n\t */\n\t u2f.sign = function(appId, challenge, registeredKeys, callback, opt_timeoutSeconds) {\n\t if (js_api_version === undefined) {\n\t // Send a message to get the extension to JS API version, then send the actual sign request.\n\t u2f.getApiVersion(\n\t function (response) {\n\t js_api_version = response['js_api_version'] === undefined ? 0 : response['js_api_version'];\n\t console.log(\"Extension JS API Version: \", js_api_version);\n\t u2f.sendSignRequest(appId, challenge, registeredKeys, callback, opt_timeoutSeconds);\n\t });\n\t } else {\n\t // We know the JS API version. Send the actual sign request in the supported API version.\n\t u2f.sendSignRequest(appId, challenge, registeredKeys, callback, opt_timeoutSeconds);\n\t }\n\t };\n\t\n\t /**\n\t * Dispatches an array of sign requests to available U2F tokens.\n\t * @param {string=} appId\n\t * @param {string=} challenge\n\t * @param {Array} registeredKeys\n\t * @param {function((u2f.Error|u2f.SignResponse))} callback\n\t * @param {number=} opt_timeoutSeconds\n\t */\n\t u2f.sendSignRequest = function(appId, challenge, registeredKeys, callback, opt_timeoutSeconds) {\n\t u2f.getPortSingleton_(function(port) {\n\t var reqId = ++u2f.reqCounter_;\n\t u2f.callbackMap_[reqId] = callback;\n\t var timeoutSeconds = (typeof opt_timeoutSeconds !== 'undefined' ?\n\t opt_timeoutSeconds : u2f.EXTENSION_TIMEOUT_SEC);\n\t var req = u2f.formatSignRequest_(appId, challenge, registeredKeys, timeoutSeconds, reqId);\n\t port.postMessage(req);\n\t });\n\t };\n\t\n\t /**\n\t * Dispatches register requests to available U2F tokens. An array of sign\n\t * requests identifies already registered tokens.\n\t * If the JS API version supported by the extension is unknown, it first sends a\n\t * message to the extension to find out the supported API version and then it sends\n\t * the register request.\n\t * @param {string=} appId\n\t * @param {Array} registerRequests\n\t * @param {Array} registeredKeys\n\t * @param {function((u2f.Error|u2f.RegisterResponse))} callback\n\t * @param {number=} opt_timeoutSeconds\n\t */\n\t u2f.register = function(appId, registerRequests, registeredKeys, callback, opt_timeoutSeconds) {\n\t if (js_api_version === undefined) {\n\t // Send a message to get the extension to JS API version, then send the actual register request.\n\t u2f.getApiVersion(\n\t function (response) {\n\t js_api_version = response['js_api_version'] === undefined ? 0: response['js_api_version'];\n\t console.log(\"Extension JS API Version: \", js_api_version);\n\t u2f.sendRegisterRequest(appId, registerRequests, registeredKeys,\n\t callback, opt_timeoutSeconds);\n\t });\n\t } else {\n\t // We know the JS API version. Send the actual register request in the supported API version.\n\t u2f.sendRegisterRequest(appId, registerRequests, registeredKeys,\n\t callback, opt_timeoutSeconds);\n\t }\n\t };\n\t\n\t /**\n\t * Dispatches register requests to available U2F tokens. An array of sign\n\t * requests identifies already registered tokens.\n\t * @param {string=} appId\n\t * @param {Array} registerRequests\n\t * @param {Array} registeredKeys\n\t * @param {function((u2f.Error|u2f.RegisterResponse))} callback\n\t * @param {number=} opt_timeoutSeconds\n\t */\n\t u2f.sendRegisterRequest = function(appId, registerRequests, registeredKeys, callback, opt_timeoutSeconds) {\n\t u2f.getPortSingleton_(function(port) {\n\t var reqId = ++u2f.reqCounter_;\n\t u2f.callbackMap_[reqId] = callback;\n\t var timeoutSeconds = (typeof opt_timeoutSeconds !== 'undefined' ?\n\t opt_timeoutSeconds : u2f.EXTENSION_TIMEOUT_SEC);\n\t var req = u2f.formatRegisterRequest_(\n\t appId, registeredKeys, registerRequests, timeoutSeconds, reqId);\n\t port.postMessage(req);\n\t });\n\t };\n\t\n\t\n\t /**\n\t * Dispatches a message to the extension to find out the supported\n\t * JS API version.\n\t * If the user is on a mobile phone and is thus using Google Authenticator instead\n\t * of the Chrome extension, don't send the request and simply return 0.\n\t * @param {function((u2f.Error|u2f.GetJsApiVersionResponse))} callback\n\t * @param {number=} opt_timeoutSeconds\n\t */\n\t u2f.getApiVersion = function(callback, opt_timeoutSeconds) {\n\t u2f.getPortSingleton_(function(port) {\n\t // If we are using Android Google Authenticator or iOS client app,\n\t // do not fire an intent to ask which JS API version to use.\n\t if (port.getPortType) {\n\t var apiVersion;\n\t switch (port.getPortType()) {\n\t case 'WrappedIosPort_':\n\t case 'WrappedAuthenticatorPort_':\n\t apiVersion = 1.1;\n\t break;\n\t\n\t default:\n\t apiVersion = 0;\n\t break;\n\t }\n\t callback({ 'js_api_version': apiVersion });\n\t return;\n\t }\n\t var reqId = ++u2f.reqCounter_;\n\t u2f.callbackMap_[reqId] = callback;\n\t var req = {\n\t type: u2f.MessageTypes.U2F_GET_API_VERSION_REQUEST,\n\t timeoutSeconds: (typeof opt_timeoutSeconds !== 'undefined' ?\n\t opt_timeoutSeconds : u2f.EXTENSION_TIMEOUT_SEC),\n\t requestId: reqId\n\t };\n\t port.postMessage(req);\n\t });\n\t };\n\t})();\n\n\n/***/ },\n/* 524 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t/* global u2f */\n\t/* eslint complexity:[2, 10] */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(440), __webpack_require__(441), __webpack_require__(525), __webpack_require__(519), __webpack_require__(514), __webpack_require__(504), __webpack_require__(406), __webpack_require__(445), __webpack_require__(521)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, FormController, FormType, CryptoUtil, FidoUtil, webauthn, FooterSignout, Q, FactorUtil, HtmlErrorMessageView) {\n\t\n\t var _ = Okta._;\n\t\n\t return FormController.extend({\n\t className: 'mfa-verify verify-webauthn',\n\t Model: {\n\t props: {\n\t rememberDevice: 'boolean'\n\t },\n\t\n\t initialize: function initialize() {\n\t var rememberDevice = FactorUtil.getRememberDeviceValue(this.appState);\n\t // set the initial value for remember device (Cannot do this while defining the\n\t // local property because this.settings would not be initialized there yet).\n\t this.set('rememberDevice', rememberDevice);\n\t },\n\t\n\t save: function save() {\n\t this.trigger('request');\n\t\n\t return this.doTransaction(function (transaction) {\n\t var factor = _.findWhere(transaction.factors, {\n\t factorType: 'webauthn',\n\t provider: 'FIDO'\n\t });\n\t\n\t var self = this;\n\t return factor.verify().then(function (transaction) {\n\t self.trigger('request');\n\t if (webauthn.isNewApiAvailable()) {\n\t // verify via browser webauthn js\n\t var options = _.extend({}, transaction.factor.challenge, {\n\t allowCredentials: [{\n\t type: 'public-key',\n\t id: CryptoUtil.strToBin(transaction.factor.profile.credentialId)\n\t }],\n\t challenge: CryptoUtil.strToBin(transaction.factor.challenge.challenge)\n\t });\n\t\n\t return new Q(navigator.credentials.get({ publicKey: options })).then(function (assertion) {\n\t var rememberDevice = !!self.get('rememberDevice');\n\t return factor.verify({\n\t clientData: CryptoUtil.binToStr(assertion.response.clientDataJSON),\n\t authenticatorData: CryptoUtil.binToStr(assertion.response.authenticatorData),\n\t signatureData: CryptoUtil.binToStr(assertion.response.signature),\n\t rememberDevice: rememberDevice\n\t });\n\t }).fail(function (error) {\n\t self.trigger('errors:clear');\n\t throw {\n\t xhr: { responseJSON: { errorSummary: error.message } }\n\t };\n\t });\n\t } else {\n\t // verify via legacy u2f js for non webauhtn supported browser\n\t var factorData = transaction.factor;\n\t var appId = factorData.challenge.extensions.appid;\n\t var registeredKeys = [{ version: FidoUtil.getU2fVersion(), keyHandle: factorData.profile.credentialId }];\n\t self.trigger('request');\n\t\n\t var deferred = Q.defer();\n\t u2f.sign(appId, factorData.challenge.challenge, registeredKeys, function (data) {\n\t self.trigger('errors:clear');\n\t if (data.errorCode && data.errorCode !== 0) {\n\t var isOneFactor = self.options.appState.get('factors').length === 1;\n\t deferred.reject({\n\t xhr: {\n\t responseJSON: {\n\t errorSummary: FidoUtil.getU2fVerifyErrorMessageByCode(data.errorCode, isOneFactor)\n\t }\n\t }\n\t });\n\t } else {\n\t var rememberDevice = !!self.get('rememberDevice');\n\t return factor.verify({\n\t clientData: data.clientData,\n\t signatureData: data.signatureData,\n\t rememberDevice: rememberDevice\n\t }).then(deferred.resolve);\n\t }\n\t });\n\t return deferred.promise;\n\t }\n\t });\n\t });\n\t }\n\t },\n\t\n\t Form: {\n\t autoSave: true,\n\t hasSavingState: false,\n\t title: _.partial(Okta.loc, 'factor.u2f', 'login'),\n\t className: 'verify-webauthn-form',\n\t noCancelButton: true,\n\t save: _.partial(Okta.loc, 'verify.u2f.retry', 'login'),\n\t noButtonBar: function noButtonBar() {\n\t return !webauthn.isWebauthnOrU2fAvailable();\n\t },\n\t modelEvents: {\n\t 'request': '_startEnrollment',\n\t 'error': '_stopEnrollment'\n\t },\n\t\n\t formChildren: function formChildren() {\n\t var children = [];\n\t\n\t if (webauthn.isWebauthnOrU2fAvailable()) {\n\t children.push(FormType.View({\n\t View: '\\\n\t
          \\\n\t

          {{i18n code=\"verify.u2f.instructions\" bundle=\"login\"}}

          \\\n\t

          {{i18n code=\"verify.u2f.instructionsBluetooth\" bundle=\"login\"}}

          \\\n\t
          \\\n\t
          '\n\t }));\n\t } else {\n\t var errorMessageKey = 'u2f.error.factorNotSupported';\n\t if (this.options.appState.get('factors').length === 1) {\n\t errorMessageKey = 'u2f.error.factorNotSupported.oneFactor';\n\t }\n\t children.push(FormType.View({ View: new HtmlErrorMessageView({ message: Okta.loc(errorMessageKey, 'login') }) }, { selector: '.o-form-error-container' }));\n\t }\n\t\n\t if (this.options.appState.get('allowRememberDevice')) {\n\t children.push(FormType.Input({\n\t label: false,\n\t 'label-top': true,\n\t placeholder: this.options.appState.get('rememberDeviceLabel'),\n\t className: 'margin-btm-0',\n\t name: 'rememberDevice',\n\t type: 'checkbox'\n\t }));\n\t }\n\t\n\t return children;\n\t },\n\t\n\t postRender: function postRender() {\n\t _.defer(_.bind(function () {\n\t if (webauthn.isWebauthnOrU2fAvailable()) {\n\t this.model.save();\n\t } else {\n\t this.$('[data-se=\"u2f-waiting\"]').hide();\n\t }\n\t }, this));\n\t },\n\t\n\t _startEnrollment: function _startEnrollment() {\n\t this.$('.okta-waiting-spinner').show();\n\t this.$('.o-form-button-bar').hide();\n\t },\n\t\n\t _stopEnrollment: function _stopEnrollment() {\n\t this.$('.okta-waiting-spinner').hide();\n\t this.$('.o-form-button-bar').show();\n\t }\n\t },\n\t\n\t back: function back() {\n\t // Empty function on verify controllers to prevent users\n\t // from navigating back during 'verify' using the browser's\n\t // back button. The URL will still change, but the view will not\n\t // More details in OKTA-135060.\n\t },\n\t\n\t Footer: FooterSignout\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 525 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t/* global Uint8Array */\n\t\n\t!(__WEBPACK_AMD_DEFINE_RESULT__ = function () {\n\t var fn = {};\n\t\n\t /**\n\t * Light weight hashing algorithm that hashes string into an integer between 0 and 4294967295\n\t * Not recommended for data set of size greater than 10000\n\t * https://www.npmjs.com/package/string-hash\n\t *\n\t * @param str the string to be hashed\n\t * @returns string hash of integer type\n\t */\n\t fn.getStringHash = function (str) {\n\t var hash = 5381,\n\t i = str.length;\n\t while (i) {\n\t hash = hash * 33 ^ str.charCodeAt(--i);\n\t }\n\t return hash >>> 0;\n\t };\n\t\n\t /**\n\t * Converts any url safe characters in a base64 string to regular base64 characters\n\t * @param str base64 string that might contain url safe characters\n\t * @returns base64 formatted string\n\t */\n\t fn.base64UrlSafeToBase64 = function (str) {\n\t return str.replace(new RegExp('_', 'g'), '/').replace(new RegExp('-', 'g'), '+');\n\t };\n\t\n\t /**\n\t * Converts an ArrayBuffer object that contains binary data to base64 encoded string\n\t * @param bin ArrayBuffer object\n\t * @returns base64 encoded string\n\t */\n\t fn.binToStr = function (bin) {\n\t return btoa(new Uint8Array(bin).reduce(function (s, byte) {\n\t return s + String.fromCharCode(byte);\n\t }, ''));\n\t };\n\t\n\t /**\n\t * Converts base64 string to binary data view\n\t * @param str in base64 or base64UrlSafe format\n\t * @returns converted Uint8Array view of binary data\n\t */\n\t fn.strToBin = function (str) {\n\t return Uint8Array.from(atob(this.base64UrlSafeToBase64(str)), function (c) {\n\t return c.charCodeAt(0);\n\t });\n\t };\n\t\n\t return fn;\n\t}.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 526 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2018-2019, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(440), __webpack_require__(504), __webpack_require__(445)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, FormController, FooterSignout, FactorUtil) {\n\t\n\t var _ = Okta._;\n\t var Util = Okta.internal.util.Util;\n\t\n\t\n\t return FormController.extend({\n\t\n\t className: 'verify-custom-factor custom-factor-form',\n\t\n\t Model: {\n\t props: {\n\t rememberDevice: 'boolean'\n\t },\n\t\n\t initialize: function initialize() {\n\t var rememberDevice = FactorUtil.getRememberDeviceValue(this.appState);\n\t // set the initial value for remember device (Cannot do this while defining the\n\t // local property because this.settings would not be initialized there yet).\n\t this.set('rememberDevice', rememberDevice);\n\t },\n\t\n\t save: function save() {\n\t var _this = this;\n\t\n\t var rememberDevice = !!this.get('rememberDevice');\n\t return this.manageTransaction(function (transaction, setTransaction) {\n\t var data = {\n\t rememberDevice: rememberDevice\n\t };\n\t var factor = _.findWhere(transaction.factors, {\n\t provider: _this.get('provider'),\n\t factorType: _this.get('factorType')\n\t });\n\t return factor.verify(data).then(function (trans) {\n\t setTransaction(trans);\n\t var url = _this.appState.get('verifyCustomFactorRedirectUrl');\n\t if (url !== null) {\n\t Util.redirect(url);\n\t }\n\t }).fail(function (err) {\n\t throw err;\n\t });\n\t });\n\t }\n\t },\n\t\n\t Form: function Form() {\n\t var factors = this.options.appState.get('factors');\n\t var factor = factors.findWhere({\n\t provider: this.options.provider,\n\t factorType: this.options.factorType\n\t });\n\t var vendorName = factor.get('vendorName');\n\t var saveText = Okta.loc('mfa.challenge.verify', 'login');\n\t var subtitle = Okta.loc('verify.customFactor.subtitle', 'login', [vendorName]);\n\t return {\n\t autoSave: true,\n\t title: vendorName,\n\t save: saveText,\n\t subtitle: subtitle,\n\t attributes: { 'data-se': 'factor-custom' },\n\t initialize: function initialize() {\n\t if (this.options.appState.get('allowRememberDevice')) {\n\t this.addInput({\n\t label: false,\n\t 'label-top': true,\n\t placeholder: this.options.appState.get('rememberDeviceLabel'),\n\t className: 'margin-btm-0',\n\t name: 'rememberDevice',\n\t type: 'checkbox'\n\t });\n\t }\n\t }\n\t };\n\t },\n\t\n\t Footer: FooterSignout,\n\t\n\t trapAuthResponse: function trapAuthResponse() {\n\t if (this.options.appState.get('isMfaChallenge')) {\n\t return true;\n\t }\n\t },\n\t\n\t back: function back() {\n\t // Empty function on verify controllers to prevent users\n\t // from navigating back during 'verify' using the browser's\n\t // back button. The URL will still change, but the view will not\n\t // More details in OKTA-135060.\n\t },\n\t\n\t initialize: function initialize() {\n\t this.model.set('provider', this.options.provider);\n\t this.model.set('factorType', this.options.factorType);\n\t }\n\t\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 527 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t/* eslint complexity: [2, 11] */\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(440), __webpack_require__(413), __webpack_require__(483), __webpack_require__(528), __webpack_require__(529)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, FormController, Enums, RouterUtil, FactorList, RequiredFactorList) {\n\t\n\t var _ = Okta._;\n\t\n\t return FormController.extend({\n\t className: 'enroll-choices',\n\t state: {\n\t pageType: null\n\t },\n\t\n\t Model: {},\n\t\n\t Form: {\n\t noCancelButton: true,\n\t\n\t title: _.partial(Okta.loc, 'enroll.choices.title', 'login'),\n\t\n\t noButtonBar: function noButtonBar() {\n\t return this.state.get('pageType') === Enums.ALL_OPTIONAL_NONE_ENROLLED;\n\t },\n\t\n\t subtitle: function subtitle() {\n\t switch (this.state.get('pageType')) {\n\t case Enums.ALL_OPTIONAL_SOME_ENROLLED:\n\t case Enums.HAS_REQUIRED_ALL_REQUIRED_ENROLLED:\n\t return Okta.loc('enroll.choices.optional', 'login');\n\t default:\n\t return Okta.loc('enroll.choices.description', 'login');\n\t }\n\t },\n\t\n\t save: function save() {\n\t switch (this.state.get('pageType')) {\n\t case Enums.ALL_OPTIONAL_SOME_ENROLLED:\n\t case Enums.HAS_REQUIRED_ALL_REQUIRED_ENROLLED:\n\t return Okta.loc('enroll.choices.submit.finish', 'login');\n\t case Enums.HAS_REQUIRED_NONE_ENROLLED:\n\t return Okta.loc('enroll.choices.submit.configure', 'login');\n\t case Enums.HAS_REQUIRED_SOME_REQUIRED_ENROLLED:\n\t return Okta.loc('enroll.choices.submit.next', 'login');\n\t default:\n\t return '';\n\t }\n\t },\n\t\n\t initialize: function initialize(options) {\n\t this.listenTo(this, 'save', function () {\n\t var current;\n\t switch (this.state.get('pageType')) {\n\t case Enums.HAS_REQUIRED_NONE_ENROLLED:\n\t case Enums.HAS_REQUIRED_SOME_REQUIRED_ENROLLED:\n\t current = options.appState.get('factors').getFirstUnenrolledRequiredFactor();\n\t options.appState.trigger('navigate', RouterUtil.createEnrollFactorUrl(current.get('provider'), current.get('factorType')));\n\t break;\n\t default:\n\t return this.model.doTransaction(function (transaction) {\n\t return transaction.skip();\n\t });\n\t }\n\t });\n\t },\n\t\n\t preRender: function preRender() {\n\t var factors = this.options.appState.get('factors');\n\t switch (this.state.get('pageType')) {\n\t case Enums.HAS_REQUIRED_NONE_ENROLLED:\n\t case Enums.HAS_REQUIRED_SOME_REQUIRED_ENROLLED:\n\t this.add(new RequiredFactorList({\n\t minimize: true,\n\t collection: new Okta.Collection(factors.where({ required: true })),\n\t appState: this.options.appState\n\t }));\n\t break;\n\t case Enums.HAS_REQUIRED_ALL_REQUIRED_ENROLLED:\n\t case Enums.ALL_OPTIONAL_SOME_ENROLLED:\n\t case Enums.ALL_OPTIONAL_NONE_ENROLLED:\n\t var enrolled = factors.where({ enrolled: true }),\n\t notEnrolled = factors.where({ enrolled: false }),\n\t notEnrolledListTitle;\n\t if (enrolled.length > 0) {\n\t notEnrolledListTitle = Okta.loc('enroll.choices.list.optional', 'login');\n\t this.add(new FactorList({\n\t listTitle: Okta.loc('enroll.choices.list.enrolled', 'login'),\n\t minimize: true,\n\t collection: new Okta.Collection(enrolled),\n\t appState: this.options.appState\n\t }));\n\t }\n\t this.add(new FactorList({\n\t listTitle: notEnrolledListTitle,\n\t collection: new Okta.Collection(notEnrolled),\n\t appState: this.options.appState\n\t }));\n\t break;\n\t }\n\t }\n\t\n\t },\n\t\n\t initialize: function initialize(options) {\n\t var numRequiredEnrolled = 0,\n\t numRequiredNotEnrolled = 0,\n\t numOptionalEnrolled = 0,\n\t numOptionalNotEnrolled = 0,\n\t hasRequired,\n\t pageType;\n\t\n\t options.appState.get('factors').each(function (factor) {\n\t var required = factor.get('required'),\n\t enrolled = factor.get('enrolled');\n\t if (required && enrolled) {\n\t numRequiredEnrolled++;\n\t } else if (required && !enrolled) {\n\t numRequiredNotEnrolled++;\n\t } else if (!required && enrolled) {\n\t numOptionalEnrolled++;\n\t } else if (!required && !enrolled) {\n\t numOptionalNotEnrolled++;\n\t }\n\t });\n\t\n\t hasRequired = numRequiredEnrolled > 0 || numRequiredNotEnrolled > 0;\n\t\n\t // There are 5 possible states this screen can be in:\n\t\n\t // 1. Has required, but none have been enrolled. Wizard start page.\n\t if (hasRequired && numRequiredEnrolled === 0) {\n\t pageType = Enums.HAS_REQUIRED_NONE_ENROLLED;\n\t }\n\t\n\t // 2. Has required, and have enrolled at least one. The page layout\n\t // to configure the remaining required factors.\n\t else if (hasRequired && numRequiredNotEnrolled > 0) {\n\t pageType = Enums.HAS_REQUIRED_SOME_REQUIRED_ENROLLED;\n\t }\n\t\n\t // 3. Has required, and finished enrolling all required factors. The\n\t // page layout you see to configure any optional factors or skip.\n\t else if (hasRequired && numOptionalNotEnrolled > 0) {\n\t pageType = Enums.HAS_REQUIRED_ALL_REQUIRED_ENROLLED;\n\t }\n\t\n\t // 4. Factors are all optional, no factors enrolled.\n\t else if (numOptionalEnrolled === 0 && numOptionalNotEnrolled > 0) {\n\t pageType = Enums.ALL_OPTIONAL_NONE_ENROLLED;\n\t }\n\t\n\t // 5. Factors are all optional, some factors have already been\n\t // enrolled (can either enroll more or skip).\n\t else if (numOptionalNotEnrolled > 0) {\n\t pageType = Enums.ALL_OPTIONAL_SOME_ENROLLED;\n\t }\n\t\n\t // 6. Factors are all optional, all factors have already been\n\t // enrolled, among them there is OktaVerify with Push enrolled as totp\n\t // (API return OktaVerify push factor as unenrolled in this case and as we always merge\n\t // push and totp in UI so we redirect to skip link here).\n\t else {\n\t this.model.doTransaction(function (transaction) {\n\t return transaction.skip();\n\t });\n\t }\n\t\n\t this.state.set('pageType', pageType);\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 528 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(483)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, RouterUtil) {\n\t\n\t var _ = Okta._;\n\t\n\t var FactorRow = Okta.View.extend({\n\t className: 'enroll-factor-row clearfix',\n\t\n\t template: '\\\n\t
          \\\n\t
          \\\n\t
          \\\n\t
          \\\n\t
          \\\n\t

          {{factorLabel}}

          \\\n\t {{#if factorDescription}}\\\n\t

          {{factorDescription}}

          \\\n\t {{/if}}\\\n\t
          \\\n\t
          \\\n\t ',\n\t\n\t attributes: function attributes() {\n\t return { 'data-se': this.model.get('factorName') };\n\t },\n\t\n\t children: function children() {\n\t if (this.model.get('enrolled')) {\n\t return [['', '.enroll-factor-label']];\n\t } else if (this.model.get('enrollment') === 'REQUIRED') {\n\t return [['', '.enroll-factor-label']];\n\t }\n\t\n\t return [[Okta.createButton({\n\t className: 'button',\n\t title: Okta.loc('enroll.choices.setup', 'login'),\n\t click: function click() {\n\t this.options.appState.trigger('navigate', RouterUtil.createEnrollFactorUrl(this.model.get('provider'), this.model.get('factorType')));\n\t }\n\t }), '.enroll-factor-button']];\n\t },\n\t\n\t minimize: function minimize() {\n\t this.$el.addClass('enroll-factor-row-min');\n\t },\n\t\n\t maximize: function maximize() {\n\t this.$el.removeClass('enroll-factor-row-min');\n\t }\n\t });\n\t\n\t return Okta.ListView.extend({\n\t\n\t className: 'enroll-factor-list',\n\t\n\t item: FactorRow,\n\t\n\t itemSelector: '.list-content',\n\t\n\t template: '\\\n\t {{#if listSubtitle}}\\\n\t
          {{listSubtitle}}
          \\\n\t {{/if}}\\\n\t {{#if listTitle}}\\\n\t
          {{listTitle}}
          \\\n\t {{/if}}\\\n\t
          \\\n\t ',\n\t\n\t getTemplateData: function getTemplateData() {\n\t var json = Okta.ListView.prototype.getTemplateData.call(this);\n\t _.extend(json, this);\n\t return json;\n\t },\n\t\n\t postRender: function postRender() {\n\t if (this.options.minimize) {\n\t this.invoke('minimize');\n\t }\n\t }\n\t\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 529 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(528)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, FactorList) {\n\t\n\t var _ = Okta._;\n\t\n\t return FactorList.extend({\n\t\n\t listTitle: _.partial(Okta.loc, 'enroll.choices.list.setup', 'login'),\n\t\n\t className: function className() {\n\t return FactorList.prototype.className + ' enroll-required-factor-list';\n\t },\n\t\n\t initialize: function initialize() {\n\t var numRequired = this.collection.length,\n\t numCompleted = this.collection.where({ enrolled: true }).length,\n\t currentStep = numCompleted + 1;\n\t this.listSubtitle = Okta.loc('enroll.choices.step', 'login', [currentStep, numRequired]);\n\t },\n\t\n\t postRender: function postRender() {\n\t var currentModel, currentRow;\n\t FactorList.prototype.postRender.apply(this, arguments);\n\t currentModel = this.options.appState.get('factors').getFirstUnenrolledRequiredFactor();\n\t currentRow = this.find(function (view) {\n\t return view.model === currentModel;\n\t });\n\t currentRow.maximize();\n\t }\n\t\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 530 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t/* eslint camelcase: 0*/\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(503), __webpack_require__(406), __webpack_require__(440), __webpack_require__(447)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, Duo, Q, FormController, Footer) {\n\t\n\t var $ = Okta.$,\n\t _ = Okta._;\n\t\n\t return FormController.extend({\n\t\n\t className: 'enroll-duo duo-form',\n\t\n\t Model: {\n\t props: {\n\t host: 'string',\n\t signature: 'string',\n\t postAction: 'string',\n\t factorId: 'string',\n\t stateToken: 'string'\n\t },\n\t\n\t getInitOptions: function getInitOptions() {\n\t return this.doTransaction(function (transaction) {\n\t var factor = _.findWhere(transaction.factors, {\n\t factorType: 'web',\n\t provider: 'DUO'\n\t });\n\t return factor.enroll();\n\t });\n\t },\n\t\n\t activate: function activate(signedResponse) {\n\t // Note: We should be doing this in OktaAuth! Fix when it's updated.\n\t var url = this.get('postAction'),\n\t factorId = this.get('factorId'),\n\t self = this,\n\t data = {\n\t id: factorId,\n\t stateToken: this.get('stateToken'),\n\t sig_response: signedResponse\n\t };\n\t // We don't actually use authClient.post() here (unlike all the other cases in the\n\t // sign-in widget) since the endpoint is wired to accept serialized form post instead\n\t // of a JSON post ($.post() is different from authClient.post() in that in $.post(),\n\t // jquery decides the Content-Type instead of it being a JSON type). Enroll/Verify DUO\n\t // are the only two places where we actually do this.\n\t // NOTE - If we ever decide to change this, we should test this very carefully.\n\t return Q($.post(url, data)).then(function () {\n\t return self.doTransaction(function (transaction) {\n\t return transaction.poll();\n\t });\n\t }).fail(function (err) {\n\t self.trigger('error', self, err.xhr);\n\t });\n\t }\n\t },\n\t\n\t Form: {\n\t autoSave: true,\n\t noButtonBar: true,\n\t title: _.partial(Okta.loc, 'enroll.duo.title', 'login'),\n\t\n\t postRender: function postRender() {\n\t this.add('');\n\t Duo.init({\n\t 'host': this.model.get('host'),\n\t 'sig_request': this.model.get('signature'),\n\t 'iframe': this.$('iframe').get(0),\n\t 'post_action': _.bind(this.model.activate, this.model)\n\t });\n\t }\n\t },\n\t\n\t Footer: Footer,\n\t\n\t fetchInitialData: function fetchInitialData() {\n\t var self = this;\n\t return this.model.getInitOptions(this.options.appState).then(function (trans) {\n\t var res = trans.data;\n\t if (!res || !res._embedded || !res._embedded.factor || !res._embedded.factor._embedded || !res._embedded.factor._embedded.activation) {\n\t throw new Error('Response does not have duo activation options');\n\t }\n\t\n\t var factor = res._embedded.factor;\n\t var activation = factor._embedded.activation;\n\t self.model.set({\n\t host: activation.host,\n\t signature: activation.signature,\n\t postAction: activation._links.complete.href,\n\t factorId: factor.id,\n\t stateToken: res.stateToken\n\t });\n\t });\n\t },\n\t\n\t trapAuthResponse: function trapAuthResponse() {\n\t if (this.options.appState.get('isMfaEnrollActivate')) {\n\t return true;\n\t }\n\t }\n\t\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 531 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(440), __webpack_require__(445), __webpack_require__(447), __webpack_require__(446)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, FormController, FactorUtil, Footer, TextBox) {\n\t\n\t var _ = Okta._;\n\t\n\t return FormController.extend({\n\t className: 'enroll-question',\n\t Model: {\n\t props: {\n\t question: 'string',\n\t answer: ['string', true]\n\t },\n\t local: {\n\t securityQuestions: 'object'\n\t },\n\t save: function save() {\n\t return this.doTransaction(function (transaction) {\n\t var factor = _.findWhere(transaction.factors, {\n\t factorType: 'question',\n\t provider: 'OKTA'\n\t });\n\t return factor.enroll({\n\t profile: {\n\t question: this.get('question'),\n\t answer: this.get('answer')\n\t }\n\t });\n\t });\n\t }\n\t },\n\t\n\t Form: {\n\t autoSave: true,\n\t title: _.partial(Okta.loc, 'enroll.securityQuestion.setup', 'login'),\n\t inputs: function inputs() {\n\t return [{\n\t label: false,\n\t 'label-top': true,\n\t name: 'question',\n\t type: 'select',\n\t wide: true,\n\t options: function options() {\n\t return this.model.get('securityQuestions');\n\t },\n\t params: {\n\t searchThreshold: 25\n\t }\n\t }, {\n\t label: false,\n\t 'label-top': true,\n\t placeholder: Okta.loc('mfa.challenge.answer.placeholder', 'login'),\n\t className: 'o-form-fieldset o-form-label-top auth-passcode',\n\t name: 'answer',\n\t input: TextBox,\n\t type: 'text',\n\t params: {\n\t innerTooltip: Okta.loc('mfa.challenge.answer.tooltip', 'login')\n\t }\n\t }];\n\t }\n\t },\n\t\n\t Footer: Footer,\n\t\n\t fetchInitialData: function fetchInitialData() {\n\t var self = this;\n\t return this.model.manageTransaction(function (transaction) {\n\t var factor = _.findWhere(transaction.factors, {\n\t factorType: 'question',\n\t provider: 'OKTA'\n\t });\n\t return factor.questions();\n\t }).then(function (questionsRes) {\n\t var questions = {};\n\t _.each(questionsRes, function (question) {\n\t questions[question.question] = FactorUtil.getSecurityQuestionLabel(question);\n\t });\n\t self.model.set('securityQuestions', questions);\n\t });\n\t }\n\t\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 532 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(440), __webpack_require__(441), __webpack_require__(514), __webpack_require__(520), __webpack_require__(447), __webpack_require__(521)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, FormController, FormType, webauthn, Spinner, Footer, HtmlErrorMessageView) {\n\t\n\t var _ = Okta._;\n\t\n\t return FormController.extend({\n\t className: 'enroll-windows-hello',\n\t Model: {\n\t local: {\n\t __isEnrolled__: 'boolean'\n\t },\n\t\n\t save: function save() {\n\t if (!webauthn.isAvailable()) {\n\t return;\n\t }\n\t\n\t this.trigger('request');\n\t\n\t if (this.get('__isEnrolled__')) {\n\t return this.activate();\n\t }\n\t\n\t return this.doTransaction(function (transaction) {\n\t return this._enroll(transaction);\n\t });\n\t },\n\t\n\t _enroll: function _enroll(transaction) {\n\t var factor = _.findWhere(transaction.factors, {\n\t factorType: 'webauthn',\n\t provider: 'FIDO'\n\t });\n\t\n\t return factor.enroll();\n\t },\n\t\n\t activate: function activate() {\n\t this.set('__isEnrolled__', true);\n\t\n\t return this.doTransaction(function (transaction) {\n\t var activation = transaction.factor.activation;\n\t var user = transaction.user;\n\t var model = this;\n\t\n\t var accountInfo = {\n\t rpDisplayName: activation.rpDisplayName,\n\t userDisplayName: user.profile.displayName,\n\t accountName: user.profile.login,\n\t userId: user.id\n\t };\n\t var cryptoParams = [{\n\t algorithm: activation.algorithm\n\t }];\n\t var challenge = activation.nonce;\n\t\n\t return webauthn.makeCredential(accountInfo, cryptoParams, challenge).then(function (creds) {\n\t return transaction.activate({\n\t credentialId: creds.credential.id,\n\t publicKey: creds.publicKey,\n\t attestation: null\n\t });\n\t }).fail(function (error) {\n\t switch (error.message) {\n\t case 'AbortError':\n\t case 'NotFoundError':\n\t case 'NotSupportedError':\n\t model.trigger('abort', error.message);\n\t return transaction;\n\t }\n\t\n\t throw error;\n\t });\n\t });\n\t }\n\t },\n\t\n\t Form: {\n\t autoSave: true,\n\t hasSavingState: false,\n\t title: _.partial(Okta.loc, 'enroll.windowsHello.title', 'login'),\n\t subtitle: function subtitle() {\n\t return webauthn.isAvailable() ? Okta.loc('enroll.windowsHello.subtitle', 'login') : '';\n\t },\n\t save: _.partial(Okta.loc, 'enroll.windowsHello.save', 'login'),\n\t\n\t customSavingState: {\n\t stop: 'abort'\n\t },\n\t\n\t modelEvents: function modelEvents() {\n\t if (!webauthn.isAvailable()) {\n\t return {};\n\t }\n\t\n\t return {\n\t 'request': '_startEnrollment',\n\t 'error': '_stopEnrollment',\n\t 'abort': '_stopEnrollment'\n\t };\n\t },\n\t\n\t noButtonBar: function noButtonBar() {\n\t return !webauthn.isAvailable();\n\t },\n\t\n\t formChildren: function formChildren() {\n\t var result = [];\n\t\n\t if (!webauthn.isAvailable()) {\n\t result.push(FormType.View({ View: new HtmlErrorMessageView({ message: Okta.loc('enroll.windowsHello.error.notWindows', 'login') }) }, { selector: '.o-form-error-container' }));\n\t }\n\t\n\t result.push(FormType.View({ View: new Spinner({ model: this.model, visible: false }) }));\n\t\n\t return result;\n\t },\n\t\n\t _startEnrollment: function _startEnrollment() {\n\t this.subtitle = Okta.loc('enroll.windowsHello.subtitle.loading', 'login');\n\t\n\t this.model.trigger('spinner:show');\n\t this._resetErrorMessage();\n\t\n\t this.render();\n\t this.$('.o-form-button-bar').addClass('hide');\n\t },\n\t\n\t _stopEnrollment: function _stopEnrollment(errorMessage) {\n\t this.subtitle = Okta.loc('enroll.windowsHello.subtitle', 'login');\n\t\n\t this.model.trigger('spinner:hide');\n\t this.$('.o-form-button-bar').removeClass('hide');\n\t\n\t var message;\n\t switch (errorMessage) {\n\t case 'NotSupportedError':\n\t message = Okta.loc('enroll.windowsHello.error.notConfiguredHtml', 'login');\n\t break;\n\t }\n\t\n\t this._resetErrorMessage();\n\t\n\t if (message) {\n\t var messageView = new HtmlErrorMessageView({\n\t message: message\n\t });\n\t\n\t this.$('.o-form-error-container').addClass('o-form-has-errors');\n\t this.add(messageView, { selector: '.o-form-error-container' });\n\t this._errorMessageView = this.last();\n\t }\n\t\n\t this.render();\n\t },\n\t\n\t _resetErrorMessage: function _resetErrorMessage() {\n\t this._errorMessageView && this._errorMessageView.remove();\n\t this._errorMessageView = undefined;\n\t this.clearErrors();\n\t }\n\t },\n\t\n\t Footer: Footer,\n\t\n\t trapAuthResponse: function trapAuthResponse() {\n\t if (this.options.appState.get('isMfaEnrollActivate')) {\n\t this.model.activate();\n\t return true;\n\t }\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 533 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t/* eslint complexity: [2, 8] */\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(440), __webpack_require__(447), __webpack_require__(534), __webpack_require__(446), __webpack_require__(535), __webpack_require__(441)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, FormController, Footer, PhoneTextBox, TextBox, CountryUtil, FormType) {\n\t\n\t var _ = Okta._;\n\t var API_RATE_LIMIT = 30000; //milliseconds\n\t var Keys = Okta.internal.util.Keys;\n\t\n\t\n\t var factorIdIsDefined = {\n\t factorId: function factorId(val) {\n\t return !_.isUndefined(val);\n\t }\n\t };\n\t\n\t function isCallFactor(factorType) {\n\t return factorType === 'call';\n\t }\n\t\n\t function getClassName(factorType) {\n\t return isCallFactor(factorType) ? 'enroll-call' : 'enroll-sms';\n\t }\n\t\n\t function sendCode(e) {\n\t if (Keys.isEnter(e)) {\n\t e.stopPropagation();\n\t e.preventDefault();\n\t if (e.type === 'keyup' && e.data && e.data.model) {\n\t e.data.model.sendCode();\n\t }\n\t }\n\t }\n\t\n\t return FormController.extend({\n\t className: function className() {\n\t return getClassName(this.options.factorType);\n\t },\n\t Model: {\n\t props: {\n\t countryCode: ['string', true, 'US'],\n\t phoneNumber: ['string', true],\n\t phoneExtension: ['string', false],\n\t lastEnrolledPhoneNumber: 'string',\n\t passCode: ['string', true],\n\t factorId: 'string'\n\t },\n\t local: {\n\t hasExistingPhones: 'boolean',\n\t trapEnrollment: 'boolean',\n\t ableToResend: 'boolean',\n\t factorType: 'string',\n\t skipPhoneValidation: 'boolean'\n\t },\n\t derived: {\n\t countryCallingCode: {\n\t deps: ['countryCode'],\n\t fn: function fn(countryCode) {\n\t return '+' + CountryUtil.getCallingCodeForCountry(countryCode);\n\t }\n\t },\n\t fullPhoneNumber: {\n\t deps: ['countryCallingCode', 'phoneNumber'],\n\t fn: function fn(countryCallingCode, phoneNumber) {\n\t return phoneNumber ? countryCallingCode + phoneNumber : '';\n\t }\n\t },\n\t enrolled: {\n\t deps: ['lastEnrolledPhoneNumber', 'fullPhoneNumber'],\n\t fn: function fn(lastEnrolled, current) {\n\t return lastEnrolled === current;\n\t }\n\t }\n\t },\n\t limitResending: function limitResending() {\n\t this.set({ ableToResend: false });\n\t _.delay(_.bind(this.set, this), API_RATE_LIMIT, { ableToResend: true });\n\t },\n\t sendCode: function sendCode() {\n\t var self = this;\n\t var phoneNumber = this.get('fullPhoneNumber');\n\t var phoneExtension = this.get('phoneExtension');\n\t\n\t self.trigger('errors:clear');\n\t\n\t if (!phoneNumber.length) {\n\t self.trigger('invalid', self, { 'phoneNumber': 'model.validation.field.blank' });\n\t return;\n\t }\n\t\n\t return this.doTransaction(function (transaction) {\n\t var isMfaEnroll = transaction.status === 'MFA_ENROLL';\n\t var profileData = {\n\t phoneNumber: phoneNumber,\n\t updatePhone: isMfaEnroll ? self.get('hasExistingPhones') : true\n\t };\n\t if (isCallFactor(self.get('factorType'))) {\n\t profileData['phoneExtension'] = phoneExtension;\n\t }\n\t\n\t if (self.get('skipPhoneValidation')) {\n\t profileData['validatePhone'] = false;\n\t }\n\t\n\t var doEnroll = function doEnroll(trans) {\n\t var factor = _.findWhere(trans.factors, {\n\t factorType: self.get('factorType'),\n\t provider: 'OKTA'\n\t });\n\t return factor.enroll({\n\t profile: profileData\n\t }).fail(function (error) {\n\t if (error.errorCode === 'E0000098') {\n\t // E0000098: \"This phone number is invalid.\"\n\t self.set('skipPhoneValidation', true);\n\t error.xhr.responseJSON.errorSummary = Okta.loc('enroll.sms.try_again', 'login');\n\t }\n\t throw error;\n\t });\n\t };\n\t\n\t if (isMfaEnroll) {\n\t return doEnroll(transaction);\n\t } else {\n\t // We must transition to MfaEnroll before updating the phone number\n\t self.set('trapEnrollment', true);\n\t return transaction.prev().then(doEnroll).then(function (trans) {\n\t self.set('trapEnrollment', false);\n\t return trans;\n\t });\n\t }\n\t // Rethrow errors so we can change state\n\t // AFTER setting the new transaction\n\t }, true).then(function () {\n\t self.set('lastEnrolledPhoneNumber', phoneNumber);\n\t self.limitResending();\n\t }).fail(function () {\n\t self.set('ableToResend', true);\n\t self.set('trapEnrollment', false);\n\t });\n\t },\n\t resendCode: function resendCode() {\n\t this.trigger('errors:clear');\n\t this.limitResending();\n\t return this.doTransaction(function (transaction) {\n\t return transaction.resend(this.get('factorType'));\n\t });\n\t },\n\t save: function save() {\n\t return this.doTransaction(function (transaction) {\n\t return transaction.activate({\n\t passCode: this.get('passCode')\n\t });\n\t });\n\t }\n\t },\n\t\n\t Form: function Form() {\n\t var factorType = this.options.factorType;\n\t var isCall = isCallFactor(factorType);\n\t\n\t var formTitle = Okta.loc(isCall ? 'enroll.call.setup' : 'enroll.sms.setup', 'login');\n\t var formSubmit = Okta.loc(isCall ? 'mfa.call' : 'mfa.sendCode', 'login');\n\t var formRetry = Okta.loc(isCall ? 'mfa.redial' : 'mfa.resendCode', 'login');\n\t var formSubmitted = Okta.loc(isCall ? 'mfa.calling' : 'mfa.sent', 'login');\n\t\n\t var numberFieldClassName = isCall ? 'enroll-call-phone' : 'enroll-sms-phone';\n\t var buttonClassName = isCall ? 'call-request-button' : 'sms-request-button';\n\t\n\t var formChildren = [FormType.Input({\n\t name: 'countryCode',\n\t type: 'select',\n\t wide: true,\n\t options: CountryUtil.getCountries()\n\t }), FormType.Input({\n\t placeholder: Okta.loc('mfa.phoneNumber.placeholder', 'login'),\n\t className: numberFieldClassName,\n\t name: 'phoneNumber',\n\t input: PhoneTextBox,\n\t type: 'text',\n\t render: function render() {\n\t this.$('input[name=\"phoneNumber\"]').off('keydown keyup', sendCode).keydown(sendCode).keyup({ model: this.model }, sendCode);\n\t }\n\t })];\n\t if (isCall) {\n\t formChildren.push(FormType.Input({\n\t placeholder: Okta.loc('mfa.phoneNumber.ext.placeholder', 'login'),\n\t className: 'enroll-call-extension',\n\t name: 'phoneExtension',\n\t input: TextBox,\n\t type: 'text'\n\t }));\n\t }\n\t formChildren.push(FormType.Button({\n\t title: formSubmit,\n\t attributes: { 'data-se': buttonClassName },\n\t className: 'button button-primary js-enroll-phone ' + buttonClassName,\n\t click: function click() {\n\t this.model.sendCode();\n\t }\n\t }), FormType.Button({\n\t title: formRetry,\n\t attributes: { 'data-se': buttonClassName },\n\t className: 'button js-enroll-phone ' + buttonClassName,\n\t click: function click() {\n\t this.model.resendCode();\n\t },\n\t initialize: function initialize() {\n\t this.$el.css({ display: 'none' });\n\t this.listenTo(this.model, 'change:ableToResend', function (model, ableToResend) {\n\t if (ableToResend) {\n\t this.options.title = formRetry;\n\t this.enable();\n\t } else {\n\t this.options.title = formSubmitted;\n\t this.disable();\n\t }\n\t this.render();\n\t });\n\t }\n\t }), FormType.Divider({\n\t showWhen: factorIdIsDefined\n\t }), FormType.Input({\n\t placeholder: Okta.loc('mfa.challenge.enterCode.placeholder', 'login'),\n\t name: 'passCode',\n\t input: TextBox,\n\t type: 'tel',\n\t params: {\n\t innerTooltip: Okta.loc('mfa.challenge.enterCode.tooltip', 'login')\n\t },\n\t showWhen: factorIdIsDefined\n\t }), FormType.Toolbar({\n\t noCancelButton: true,\n\t save: Okta.loc('mfa.challenge.verify', 'login'),\n\t showWhen: factorIdIsDefined\n\t }));\n\t\n\t return {\n\t title: formTitle,\n\t noButtonBar: true,\n\t autoSave: true,\n\t className: getClassName(factorType),\n\t initialize: function initialize() {\n\t this.listenTo(this.model, 'error errors:clear', function () {\n\t this.clearErrors();\n\t });\n\t this.listenTo(this.model, 'change:enrolled', function () {\n\t this.$('.js-enroll-phone').toggle();\n\t });\n\t },\n\t formChildren: formChildren\n\t };\n\t },\n\t\n\t Footer: Footer,\n\t\n\t trapAuthResponse: function trapAuthResponse() {\n\t if (this.options.appState.get('isMfaEnrollActivate')) {\n\t this.model.set('factorId', this.options.appState.get('activatedFactorId'));\n\t return true;\n\t }\n\t if (this.options.appState.get('isMfaEnroll') && this.model.get('trapEnrollment')) {\n\t return true;\n\t }\n\t },\n\t\n\t initialize: function initialize() {\n\t if (isCallFactor(this.options.factorType)) {\n\t this.model.set('hasExistingPhones', this.options.appState.get('hasExistingPhonesForCall'));\n\t } else {\n\t this.model.set('hasExistingPhones', this.options.appState.get('hasExistingPhones'));\n\t }\n\t this.model.set('factorType', this.options.factorType);\n\t }\n\t\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 534 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta) {\n\t\n\t var _ = Okta._;\n\t var TextBox = Okta.internal.views.forms.inputs.TextBox;\n\t\n\t\n\t return TextBox.extend({\n\t\n\t template: Okta.Handlebars.compile('\\\n\t {{countryCallingCode}}\\\n\t \\\n\t \\\n\t \\\n\t '),\n\t\n\t initialize: function initialize() {\n\t this.listenTo(this.model, 'change:countryCallingCode', function () {\n\t this.$('.o-form-label-inline').text(this.model.get('countryCallingCode'));\n\t });\n\t },\n\t\n\t preRender: function preRender() {\n\t this.options.countryCallingCode = this.model.get('countryCallingCode');\n\t },\n\t\n\t postRender: function postRender() {\n\t // This is a hack - once inputGroups are done, get rid of it!!\n\t this.$el.removeClass('input-fix o-form-control');\n\t _.defer(_.bind(function () {\n\t this.$el.parent().addClass('o-form-input-group');\n\t }, this));\n\t }\n\t\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 535 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(405), __webpack_require__(536)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, bundles, countryCallingCodes) {\n\t var _ = Okta._;\n\t var fn = {};\n\t\n\t // () => [{ countryCode: countryName }], sorted by countryName\n\t fn.getCountries = function () {\n\t // HM, BV, and TF do not have phone prefixes, so don't give the\n\t // user the option to choose these countries. FYI it appears that these\n\t // countries do not have calling codes because they are ~~uninhabited~~\n\t var countries = _.omit(bundles.country, 'HM', 'BV', 'TF');\n\t\n\t // Sort it; figure out if there is a better way to do this (best would\n\t // be to sort it in the properties file!!)\n\t var collection = _.map(countries, function (name, code) {\n\t return { name: name, code: code };\n\t });\n\t collection = _.sortBy(collection, 'name');\n\t var sorted = {};\n\t _.each(collection, function (country) {\n\t sorted[country.code] = country.name;\n\t });\n\t\n\t return sorted;\n\t };\n\t\n\t fn.getCallingCodeForCountry = function (countryCode) {\n\t return countryCallingCodes[countryCode];\n\t };\n\t\n\t return fn;\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 536 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t/* eslint max-len:0 */\n\t!(module.exports = { 'US': '1', 'AG': '1', 'AI': '1', 'AS': '1', 'BB': '1', 'BM': '1', 'BS': '1', 'CA': '1', 'DM': '1', 'DO': '1', 'GD': '1', 'GU': '1', 'JM': '1', 'KN': '1', 'KY': '1', 'LC': '1', 'MP': '1', 'MS': '1', 'PR': '1', 'SX': '1', 'TC': '1', 'TT': '1', 'VC': '1', 'VG': '1', 'VI': '1', 'RU': '7', 'KZ': '7', 'EG': '20', 'ZA': '27', 'GR': '30', 'NL': '31', 'BE': '32', 'FR': '33', 'ES': '34', 'HU': '36', 'IT': '39', 'RO': '40', 'CH': '41', 'AT': '43', 'GB': '44', 'GG': '44', 'IM': '44', 'JE': '44', 'DK': '45', 'SE': '46', 'NO': '47', 'SJ': '47', 'PL': '48', 'DE': '49', 'PE': '51', 'MX': '52', 'CU': '53', 'AR': '54', 'BR': '55', 'CL': '56', 'CO': '57', 'VE': '58', 'MY': '60', 'AU': '61', 'CC': '61', 'CX': '61', 'ID': '62', 'PH': '63', 'NZ': '64', 'SG': '65', 'TH': '66', 'JP': '81', 'KR': '82', 'VN': '84', 'CN': '86', 'TR': '90', 'IN': '91', 'PK': '92', 'AF': '93', 'LK': '94', 'MM': '95', 'IR': '98', 'SS': '211', 'MA': '212', 'EH': '212', 'DZ': '213', 'TN': '216', 'LY': '218', 'GM': '220', 'SN': '221', 'MR': '222', 'ML': '223', 'GN': '224', 'CI': '225', 'BF': '226', 'NE': '227', 'TG': '228', 'BJ': '229', 'MU': '230', 'LR': '231', 'SL': '232', 'GH': '233', 'NG': '234', 'TD': '235', 'CF': '236', 'CM': '237', 'CV': '238', 'ST': '239', 'GQ': '240', 'GA': '241', 'CG': '242', 'CD': '243', 'AO': '244', 'GW': '245', 'IO': '246', 'AC': '247', 'SC': '248', 'SD': '249', 'RW': '250', 'ET': '251', 'SO': '252', 'DJ': '253', 'KE': '254', 'TZ': '255', 'UG': '256', 'BI': '257', 'MZ': '258', 'ZM': '260', 'MG': '261', 'RE': '262', 'YT': '262', 'ZW': '263', 'NA': '264', 'MW': '265', 'LS': '266', 'BW': '267', 'SZ': '268', 'KM': '269', 'SH': '290', 'TA': '290', 'ER': '291', 'AW': '297', 'FO': '298', 'GL': '299', 'GI': '350', 'PT': '351', 'LU': '352', 'IE': '353', 'IS': '354', 'AL': '355', 'MT': '356', 'CY': '357', 'FI': '358', 'AX': '358', 'BG': '359', 'LT': '370', 'LV': '371', 'EE': '372', 'MD': '373', 'AM': '374', 'BY': '375', 'AD': '376', 'MC': '377', 'SM': '378', 'VA': '379', 'UA': '380', 'RS': '381', 'ME': '382', 'HR': '385', 'SI': '386', 'BA': '387', 'MK': '389', 'CZ': '420', 'SK': '421', 'LI': '423', 'FK': '500', 'BZ': '501', 'GT': '502', 'SV': '503', 'HN': '504', 'NI': '505', 'CR': '506', 'PA': '507', 'PM': '508', 'HT': '509', 'GP': '590', 'BL': '590', 'MF': '590', 'BO': '591', 'GY': '592', 'EC': '593', 'GF': '594', 'PY': '595', 'MQ': '596', 'SR': '597', 'UY': '598', 'CW': '599', 'BQ': '599', 'TL': '670', 'NF': '672', 'BN': '673', 'NR': '674', 'PG': '675', 'TO': '676', 'SB': '677', 'VU': '678', 'FJ': '679', 'PW': '680', 'WF': '681', 'CK': '682', 'NU': '683', 'WS': '685', 'KI': '686', 'NC': '687', 'TV': '688', 'PF': '689', 'TK': '690', 'FM': '691', 'MH': '692', '001': '979', 'KP': '850', 'HK': '852', 'MO': '853', 'KH': '855', 'LA': '856', 'BD': '880', 'TW': '886', 'MV': '960', 'LB': '961', 'JO': '962', 'SY': '963', 'IQ': '964', 'KW': '965', 'SA': '966', 'YE': '967', 'OM': '968', 'PS': '970', 'AE': '971', 'IL': '972', 'BH': '973', 'QA': '974', 'BT': '975', 'MN': '976', 'NP': '977', 'TJ': '992', 'TM': '993', 'AZ': '994', 'GE': '995', 'KG': '996', 'UZ': '998', 'GS': 500, 'PN': 64, 'AQ': 672, 'UM': 1, 'AN': 599 });\n\n/***/ },\n/* 537 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(441), __webpack_require__(440), __webpack_require__(447), __webpack_require__(446)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, FormType, FormController, Footer, TextBox) {\n\t\n\t var _ = Okta._;\n\t\n\t function isRSA(provider) {\n\t return provider === 'RSA';\n\t }\n\t\n\t function getClassName(provider) {\n\t return isRSA(provider) ? 'enroll-rsa' : 'enroll-onprem';\n\t }\n\t\n\t return FormController.extend({\n\t className: function className() {\n\t return getClassName(this.options.provider);\n\t },\n\t Model: function Model() {\n\t var provider = this.options.provider;\n\t var factors = this.options.appState.get('factors');\n\t var factor = factors.findWhere(_.pick(this.options, 'provider', 'factorType'));\n\t var profile = factor.get('profile');\n\t var credentialId = profile && profile.credentialId ? profile.credentialId : '';\n\t return {\n\t props: {\n\t credentialId: ['string', true, credentialId],\n\t passCode: ['string', true],\n\t factorId: 'string'\n\t },\n\t save: function save() {\n\t return this.doTransaction(function (transaction) {\n\t var factor = _.findWhere(transaction.factors, {\n\t factorType: 'token',\n\t provider: provider\n\t });\n\t return factor.enroll({\n\t passCode: this.get('passCode'),\n\t profile: { credentialId: this.get('credentialId') }\n\t });\n\t });\n\t }\n\t };\n\t },\n\t\n\t Form: function Form() {\n\t var provider = this.options.provider;\n\t var factors = this.options.appState.get('factors');\n\t var factor = factors.findWhere(_.pick(this.options, 'provider', 'factorType'));\n\t var vendorName = factor.get('vendorName');\n\t var title = isRSA(provider) ? Okta.loc('factor.totpHard.rsaSecurId', 'login') : vendorName;\n\t\n\t return {\n\t title: title,\n\t noButtonBar: true,\n\t autoSave: true,\n\t className: getClassName(provider),\n\t initialize: function initialize() {\n\t this.listenTo(this.model, 'error', _.bind(function (source, error) {\n\t if (error && error.status === 409) {\n\t // 409 means we are in change pin, so we should clear out answer input\n\t this.$('.o-form-input-name-passCode input').val('');\n\t this.$('.o-form-input-name-passCode input').trigger('change');\n\t this.$('.o-form-input-name-passCode input').focus();\n\t }\n\t }, this));\n\t },\n\t formChildren: [FormType.Input({\n\t name: 'credentialId',\n\t input: TextBox,\n\t type: 'text',\n\t placeholder: Okta.loc('enroll.onprem.username.placeholder', 'login', [vendorName]),\n\t params: {\n\t innerTooltip: Okta.loc('enroll.onprem.username.tooltip', 'login', [_.escape(vendorName)])\n\t }\n\t }), FormType.Input({\n\t name: 'passCode',\n\t input: TextBox,\n\t type: 'password',\n\t placeholder: Okta.loc('enroll.onprem.passcode.placeholder', 'login', [vendorName]),\n\t params: {\n\t innerTooltip: Okta.loc('enroll.onprem.passcode.tooltip', 'login', [_.escape(vendorName)])\n\t }\n\t }), FormType.Toolbar({\n\t noCancelButton: true,\n\t save: Okta.loc('mfa.challenge.verify', 'login')\n\t })]\n\t };\n\t },\n\t\n\t Footer: Footer\n\t\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 538 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(441), __webpack_require__(440), __webpack_require__(447), __webpack_require__(446)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, FormType, FormController, Footer, TextBox) {\n\t\n\t var _ = Okta._;\n\t\n\t return FormController.extend({\n\t className: 'enroll-symantec',\n\t Model: {\n\t props: {\n\t credentialId: ['string', true],\n\t passCode: ['string', true],\n\t nextPassCode: ['string', true],\n\t factorId: 'string'\n\t },\n\t save: function save() {\n\t return this.doTransaction(function (transaction) {\n\t\n\t var factor = _.findWhere(transaction.factors, {\n\t factorType: 'token',\n\t provider: 'SYMANTEC'\n\t });\n\t return factor.enroll({\n\t passCode: this.get('passCode'),\n\t nextPassCode: this.get('nextPassCode'),\n\t profile: { credentialId: this.get('credentialId') }\n\t });\n\t });\n\t }\n\t },\n\t\n\t Form: {\n\t title: _.partial(Okta.loc, 'factor.totpHard.symantecVip', 'login'),\n\t subtitle: _.partial(Okta.loc, 'enroll.symantecVip.subtitle', 'login'),\n\t noButtonBar: true,\n\t autoSave: true,\n\t className: 'enroll-symantec',\n\t formChildren: function formChildren() {\n\t return [FormType.Input({\n\t name: 'credentialId',\n\t input: TextBox,\n\t type: 'text',\n\t placeholder: Okta.loc('enroll.symantecVip.credentialId.placeholder', 'login'),\n\t params: {\n\t innerTooltip: Okta.loc('enroll.symantecVip.credentialId.tooltip', 'login')\n\t }\n\t }), FormType.Input({\n\t name: 'passCode',\n\t input: TextBox,\n\t type: 'text',\n\t placeholder: Okta.loc('enroll.symantecVip.passcode1.placeholder', 'login'),\n\t params: {\n\t innerTooltip: Okta.loc('enroll.symantecVip.passcode1.tooltip', 'login')\n\t }\n\t }), FormType.Input({\n\t name: 'nextPassCode',\n\t input: TextBox,\n\t type: 'text',\n\t placeholder: Okta.loc('enroll.symantecVip.passcode2.placeholder', 'login'),\n\t params: {\n\t innerTooltip: Okta.loc('enroll.symantecVip.passcode2.tooltip', 'login')\n\t }\n\t }), FormType.Toolbar({\n\t noCancelButton: true,\n\t save: Okta.loc('mfa.challenge.verify', 'login')\n\t })];\n\t }\n\t },\n\t\n\t Footer: Footer\n\t\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 539 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(441), __webpack_require__(440), __webpack_require__(447), __webpack_require__(446)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, FormType, FormController, Footer, TextBox) {\n\t\n\t var _ = Okta._;\n\t\n\t return FormController.extend({\n\t className: 'enroll-yubikey',\n\t Model: {\n\t props: {\n\t passCode: ['string', true],\n\t factorId: 'string'\n\t },\n\t save: function save() {\n\t return this.doTransaction(function (transaction) {\n\t var factor = _.findWhere(transaction.factors, {\n\t factorType: 'token:hardware',\n\t provider: 'YUBICO'\n\t });\n\t return factor.enroll({\n\t passCode: this.get('passCode')\n\t });\n\t });\n\t }\n\t },\n\t\n\t Form: {\n\t title: _.partial(Okta.loc, 'enroll.yubikey.title', 'login'),\n\t subtitle: _.partial(Okta.loc, 'enroll.yubikey.subtitle', 'login'),\n\t noCancelButton: true,\n\t save: _.partial(Okta.loc, 'mfa.challenge.verify', 'login'),\n\t autoSave: true,\n\t className: 'enroll-yubikey',\n\t formChildren: [FormType.View({\n\t View: '
          '\n\t }), FormType.Input({\n\t name: 'passCode',\n\t input: TextBox,\n\t type: 'password'\n\t })]\n\t },\n\t\n\t Footer: Footer\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 540 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(445), __webpack_require__(440), __webpack_require__(441), __webpack_require__(483), __webpack_require__(541), __webpack_require__(542), __webpack_require__(447)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, FactorUtil, FormController, FormType, RouterUtil, StoreLinks, BarcodeView, Footer) {\n\t\n\t var _ = Okta._;\n\t\n\t var showWhenDeviceTypeSelected = {\n\t '__deviceType__': function __deviceType__(val) {\n\t return val !== undefined;\n\t }\n\t };\n\t\n\t var AppDownloadInstructionsView = Okta.View.extend({\n\t attributes: { 'data-se': 'app-download-instructions' },\n\t className: 'app-download-instructions',\n\t template: '\\\n\t

          {{title}}

          \\\n\t \\\n\t

          {{{appStoreLinkText}}}

          \\\n\t ',\n\t initialize: function initialize() {\n\t this.listenTo(this.model, 'change:__deviceType__', this.render);\n\t },\n\t getTemplateData: function getTemplateData() {\n\t var appStoreLink, appIcon, appStoreName;\n\t var factorName = FactorUtil.getFactorLabel(this.model.get('__provider__'), this.model.get('__factorType__'));\n\t appStoreName = StoreLinks.STORE[this.model.get('__deviceType__')];\n\t if (this.model.get('__provider__') === 'GOOGLE') {\n\t appStoreLink = StoreLinks.GOOGLE[this.model.get('__deviceType__')];\n\t appIcon = 'google-auth-38';\n\t } else {\n\t appStoreLink = StoreLinks.OKTA[this.model.get('__deviceType__')];\n\t appIcon = 'okta-verify-38';\n\t }\n\t return {\n\t title: Okta.loc('enroll.totp.installApp', 'login', [factorName]),\n\t appStoreLinkText: Okta.loc('enroll.totp.downloadApp', 'login', [appStoreLink, factorName, appStoreName]),\n\t appIcon: appIcon\n\t };\n\t }\n\t });\n\t\n\t var EnrollTotpController = FormController.extend({\n\t className: 'enroll-totp',\n\t Model: function Model() {\n\t return {\n\t local: {\n\t '__deviceType__': 'string',\n\t '__factorType__': ['string', false, this.options.factorType],\n\t '__provider__': ['string', false, this.options.provider]\n\t },\n\t save: function save() {\n\t return this.doTransaction(function (transaction) {\n\t var factor = _.findWhere(transaction.factors, {\n\t factorType: this.get('__factorType__'),\n\t provider: this.get('__provider__')\n\t });\n\t return factor.enroll();\n\t });\n\t }\n\t };\n\t },\n\t\n\t Form: {\n\t title: function title() {\n\t var factorName = FactorUtil.getFactorLabel(this.model.get('__provider__'), this.model.get('__factorType__'));\n\t return Okta.loc('enroll.totp.title', 'login', [factorName]);\n\t },\n\t subtitle: _.partial(Okta.loc, 'enroll.totp.selectDevice', 'login'),\n\t autoSave: true,\n\t noButtonBar: true,\n\t attributes: { 'data-se': 'step-device-type' },\n\t\n\t formChildren: function formChildren() {\n\t var inputOptions = {\n\t APPLE: '',\n\t ANDROID: ''\n\t };\n\t if (this.settings.get('features.windowsVerify') && this.model.get('__provider__') === 'OKTA') {\n\t inputOptions.WINDOWS = '';\n\t } else if (this.model.get('__provider__') === 'GOOGLE') {\n\t inputOptions.BLACKBERRY = '';\n\t }\n\t\n\t var children = [FormType.Input({\n\t name: '__deviceType__',\n\t type: 'radio',\n\t options: inputOptions,\n\t className: 'device-type-input'\n\t }), FormType.Divider({ showWhen: showWhenDeviceTypeSelected }), FormType.View({\n\t View: AppDownloadInstructionsView,\n\t showWhen: showWhenDeviceTypeSelected\n\t }), FormType.Toolbar({\n\t noCancelButton: true,\n\t save: Okta.loc('oform.next', 'login'),\n\t showWhen: showWhenDeviceTypeSelected\n\t })];\n\t\n\t return children;\n\t }\n\t },\n\t\n\t Footer: Footer\n\t\n\t });\n\t\n\t return EnrollTotpController;\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 541 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(module.exports = {\n\t OKTA: {\n\t APPLE: 'https://itunes.apple.com/us/app/okta-verify/id490179405',\n\t ANDROID: 'https://play.google.com/store/apps/details?id=com.okta.android.auth',\n\t WINDOWS: 'http://www.windowsphone.com/en-us/store/app/okta-verify/9df0e2c4-7301-411f-80e5-62fcf6679666'\n\t },\n\t GOOGLE: {\n\t APPLE: 'https://itunes.apple.com/us/app/google-authenticator/id388497605',\n\t ANDROID: 'https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2',\n\t BLACKBERRY: 'https://support.google.com/accounts/answer/1066447'\n\t },\n\t STORE: {\n\t APPLE: 'App Store',\n\t ANDROID: 'Google Play Store',\n\t WINDOWS: 'Windows Store',\n\t BLACKBERRY: 'Blackberry World Store'\n\t }\n\t});\n\n/***/ },\n/* 542 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(445), __webpack_require__(483)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, FactorUtil, RouterUtil) {\n\t\n\t var _ = Okta._;\n\t\n\t return Okta.View.extend({\n\t className: 'scan-instructions clearfix',\n\t template: '\\\n\t
          \\\n\t
          \\\n\t

          {{instructions}}

          \\\n\t
          \\\n\t
          \\\n\t \\\n\t ',\n\t\n\t events: {\n\t 'click [data-type=\"manual-setup\"]': function clickDataTypeManualSetup(e) {\n\t e.preventDefault();\n\t var url = RouterUtil.createActivateFactorUrl(this.model.get('__provider__'), this.model.get('__factorType__'), 'manual');\n\t this.options.appState.trigger('navigate', url);\n\t },\n\t 'click [data-type=\"refresh-qrcode\"]': function clickDataTypeRefreshQrcode(e) {\n\t e.preventDefault();\n\t this.model.trigger('errors:clear');\n\t\n\t var self = this;\n\t this.model.doTransaction(function (transaction) {\n\t if (this.appState.get('isWaitingForActivation')) {\n\t return transaction.poll();\n\t } else {\n\t return transaction.activate();\n\t }\n\t }).then(function (trans) {\n\t var res = trans.data;\n\t if (res.status === 'MFA_ENROLL_ACTIVATE' && res.factorResult === 'WAITING') {\n\t // defer the render here to have a lastResponse set in AppState\n\t // so that we get new QRcode rendered\n\t _.defer(_.bind(self.render, self));\n\t }\n\t });\n\t }\n\t },\n\t\n\t initialize: function initialize() {\n\t this.listenTo(this.options.appState, 'change:lastAuthResponse', function () {\n\t if (this.options.appState.get('isMfaEnrollActivate')) {\n\t this.$el.toggleClass('qrcode-expired', !this.options.appState.get('isWaitingForActivation'));\n\t } else if (this.options.appState.get('isSuccessResponse')) {\n\t this.$el.addClass('qrcode-success');\n\t }\n\t });\n\t this.listenTo(this.model, 'error', function () {\n\t if (this.options.appState.get('isMfaEnrollActivate')) {\n\t this.$el.toggleClass('qrcode-expired', true);\n\t }\n\t });\n\t },\n\t\n\t getTemplateData: function getTemplateData() {\n\t var factorName = FactorUtil.getFactorLabel(this.model.get('__provider__'), this.model.get('__factorType__'));\n\t var instructions;\n\t if (this.model.get('__provider__') === 'GOOGLE') {\n\t instructions = Okta.loc('enroll.totp.setupGoogleAuthApp', 'login', [factorName]);\n\t } else {\n\t instructions = Okta.loc('enroll.totp.setupApp', 'login', [factorName]);\n\t }\n\t return {\n\t instructions: instructions,\n\t qrcode: this.options.appState.get('qrcode')\n\t };\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 543 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t/* global u2f */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(441), __webpack_require__(440), __webpack_require__(519), __webpack_require__(447), __webpack_require__(406), __webpack_require__(521), __webpack_require__(523)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, FormType, FormController, FidoUtil, Footer, Q, HtmlErrorMessageView) {\n\t\n\t var _ = Okta._;\n\t\n\t return FormController.extend({\n\t className: 'enroll-u2f',\n\t Model: {\n\t local: {\n\t '__enrolled__': 'boolean'\n\t },\n\t\n\t save: function save() {\n\t this.trigger('request');\n\t\n\t if (this.get('__enrolled__')) {\n\t return this.activate();\n\t }\n\t\n\t return this.doTransaction(function (transaction) {\n\t var factor = _.findWhere(transaction.factors, {\n\t factorType: 'u2f',\n\t provider: 'FIDO'\n\t });\n\t return factor.enroll();\n\t });\n\t },\n\t\n\t activate: function activate() {\n\t this.set('__enrolled__', true);\n\t this.trigger('errors:clear');\n\t\n\t return this.doTransaction(function (transaction) {\n\t var activation = transaction.factor.activation;\n\t var appId = activation.appId;\n\t var registerRequests = [{\n\t version: FidoUtil.getU2fVersion(),\n\t challenge: activation.nonce\n\t }];\n\t var self = this;\n\t var deferred = Q.defer();\n\t u2f.register(appId, registerRequests, [], function (data) {\n\t self.trigger('errors:clear');\n\t if (data.errorCode && data.errorCode !== 0) {\n\t deferred.reject({\n\t xhr: {\n\t responseJSON: {\n\t errorSummary: FidoUtil.getU2fEnrollErrorMessageByCode(data.errorCode)\n\t }\n\t }\n\t });\n\t } else {\n\t deferred.resolve(transaction.activate({\n\t registrationData: data.registrationData,\n\t version: data.version,\n\t challenge: data.challenge,\n\t clientData: data.clientData\n\t }));\n\t }\n\t });\n\t return deferred.promise;\n\t });\n\t }\n\t },\n\t\n\t Form: {\n\t title: _.partial(Okta.loc, 'enroll.u2f.title', 'login'),\n\t save: _.partial(Okta.loc, 'enroll.u2f.save', 'login'),\n\t noCancelButton: true,\n\t hasSavingState: false,\n\t autoSave: true,\n\t className: 'enroll-u2f-form',\n\t noButtonBar: function noButtonBar() {\n\t return !FidoUtil.isU2fAvailable();\n\t },\n\t modelEvents: {\n\t 'request': '_startEnrollment',\n\t 'error': '_stopEnrollment'\n\t },\n\t formChildren: function formChildren() {\n\t var result = [];\n\t\n\t if (!FidoUtil.isU2fAvailable()) {\n\t var errorMessageKey = 'u2f.error.factorNotSupported';\n\t if (this.options.appState.get('factors').length === 1) {\n\t errorMessageKey = 'u2f.error.factorNotSupported.oneFactor';\n\t }\n\t result.push(FormType.View({ View: new HtmlErrorMessageView({ message: Okta.loc(errorMessageKey, 'login') }) }, { selector: '.o-form-error-container' }));\n\t } else {\n\t //There is html in enroll.u2f.general2 in our properties file, reason why is unescaped\n\t result.push(FormType.View({\n\t View: '
            \\\n\t
          1. {{{i18n code=\"enroll.u2f.general2\" bundle=\"login\"}}}
          2. \\\n\t
          3. {{i18n code=\"enroll.u2f.general3\" bundle=\"login\"}}
          4. \\\n\t
          '\n\t }));\n\t\n\t result.push(FormType.View({\n\t View: '\\\n\t
          \\\n\t

          {{i18n code=\"enroll.u2f.instructions\" bundle=\"login\"}}

          \\\n\t

          {{i18n code=\"enroll.u2f.instructionsBluetooth\" bundle=\"login\"}}

          \\\n\t
          \\\n\t
          \\\n\t
          \\\n\t
          \\\n\t
          \\\n\t
          '\n\t }));\n\t }\n\t\n\t return result;\n\t },\n\t\n\t _startEnrollment: function _startEnrollment() {\n\t this.$('.u2f-instructions').addClass('hide');\n\t this.$('.u2f-enroll-text').removeClass('hide');\n\t this.$('.o-form-button-bar').hide();\n\t },\n\t\n\t _stopEnrollment: function _stopEnrollment() {\n\t this.$('.u2f-instructions').removeClass('hide');\n\t this.$('.u2f-enroll-text').addClass('hide');\n\t this.$('.o-form-button-bar').show();\n\t }\n\t },\n\t\n\t Footer: Footer,\n\t\n\t trapAuthResponse: function trapAuthResponse() {\n\t if (this.options.appState.get('isMfaEnrollActivate')) {\n\t this.model.activate();\n\t return true;\n\t }\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 544 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t/* global u2f */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(441), __webpack_require__(440), __webpack_require__(525), __webpack_require__(519), __webpack_require__(514), __webpack_require__(447), __webpack_require__(406), __webpack_require__(521)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, FormType, FormController, CryptoUtil, FidoUtil, webauthn, Footer, Q, HtmlErrorMessageView) {\n\t\n\t var _ = Okta._;\n\t\n\t return FormController.extend({\n\t className: 'enroll-webauthn',\n\t Model: {\n\t local: {\n\t '__enrolled__': 'boolean'\n\t },\n\t\n\t save: function save() {\n\t this.trigger('request');\n\t\n\t if (this.get('__enrolled__')) {\n\t return this.activate();\n\t }\n\t\n\t return this.doTransaction(function (transaction) {\n\t var factor = _.findWhere(transaction.factors, {\n\t factorType: 'webauthn',\n\t provider: 'FIDO'\n\t });\n\t return factor.enroll();\n\t });\n\t },\n\t\n\t activate: function activate() {\n\t this.set('__enrolled__', true);\n\t this.trigger('errors:clear');\n\t\n\t return this.doTransaction(function (transaction) {\n\t // enroll via browser webauthn js\n\t var activation = transaction.factor.activation;\n\t if (webauthn.isNewApiAvailable()) {\n\t var options = _.extend({}, activation, {\n\t challenge: CryptoUtil.strToBin(activation.challenge),\n\t user: {\n\t id: CryptoUtil.strToBin(activation.user.id),\n\t name: activation.user.name,\n\t displayName: activation.user.displayName\n\t }\n\t });\n\t return new Q(navigator.credentials.create({ publicKey: options })).then(function (newCredential) {\n\t return transaction.activate({\n\t attestation: CryptoUtil.binToStr(newCredential.response.attestationObject),\n\t clientData: CryptoUtil.binToStr(newCredential.response.clientDataJSON)\n\t });\n\t }).fail(function (error) {\n\t throw {\n\t xhr: { responseJSON: { errorSummary: error.message } }\n\t };\n\t });\n\t } else {\n\t // verify via legacy u2f js for non webauthn supported browser\n\t var registerRequests = [{\n\t version: FidoUtil.getU2fVersion(),\n\t challenge: activation.challenge\n\t }];\n\t var self = this;\n\t var deferred = Q.defer();\n\t u2f.register(activation.u2fParams.appid, registerRequests, [], function (data) {\n\t self.trigger('errors:clear');\n\t if (data.errorCode && data.errorCode !== 0) {\n\t deferred.reject({\n\t xhr: {\n\t responseJSON: {\n\t errorSummary: FidoUtil.getU2fEnrollErrorMessageByCode(data.errorCode)\n\t }\n\t }\n\t });\n\t } else {\n\t deferred.resolve(transaction.activate({\n\t attestation: data.registrationData,\n\t clientData: data.clientData\n\t }));\n\t }\n\t });\n\t return deferred.promise;\n\t }\n\t });\n\t }\n\t },\n\t\n\t Form: {\n\t title: _.partial(Okta.loc, 'enroll.u2f.title', 'login'),\n\t save: _.partial(Okta.loc, 'enroll.u2f.save', 'login'),\n\t noCancelButton: true,\n\t hasSavingState: false,\n\t autoSave: true,\n\t className: 'enroll-webauthn-form',\n\t noButtonBar: function noButtonBar() {\n\t return !webauthn.isWebauthnOrU2fAvailable();\n\t },\n\t modelEvents: {\n\t 'request': '_startEnrollment',\n\t 'error': '_stopEnrollment'\n\t },\n\t formChildren: function formChildren() {\n\t var children = [];\n\t\n\t if (webauthn.isWebauthnOrU2fAvailable()) {\n\t //There is html in enroll.u2f.general2 in our properties file, reason why is unescaped\n\t children.push(FormType.View({\n\t View: '
          \\\n\t
            \\\n\t
          1. {{{i18n code=\"enroll.u2f.general2\" bundle=\"login\"}}}
          2. \\\n\t
          3. {{i18n code=\"enroll.u2f.general3\" bundle=\"login\"}}
          4. \\\n\t
          \\\n\t
          \\\n\t
          \\\n\t

          {{i18n code=\"enroll.u2f.instructions\" bundle=\"login\"}}

          \\\n\t

          {{i18n code=\"enroll.u2f.instructionsBluetooth\" bundle=\"login\"}}

          \\\n\t
          \\\n\t
          \\\n\t
          \\\n\t
          \\\n\t
          \\\n\t
          '\n\t }));\n\t } else {\n\t var errorMessageKey = 'u2f.error.factorNotSupported';\n\t if (this.options.appState.get('factors').length === 1) {\n\t errorMessageKey = 'u2f.error.factorNotSupported.oneFactor';\n\t }\n\t children.push(FormType.View({ View: new HtmlErrorMessageView({ message: Okta.loc(errorMessageKey, 'login') }) }, { selector: '.o-form-error-container' }));\n\t }\n\t\n\t return children;\n\t },\n\t\n\t _startEnrollment: function _startEnrollment() {\n\t this.$('.u2f-instructions').hide();\n\t this.$('.u2f-enroll-text').show();\n\t this.$('.o-form-button-bar').hide();\n\t },\n\t\n\t _stopEnrollment: function _stopEnrollment() {\n\t this.$('.u2f-instructions').show();\n\t this.$('.u2f-enroll-text').hide();\n\t this.$('.o-form-button-bar').show();\n\t }\n\t },\n\t\n\t Footer: Footer,\n\t\n\t trapAuthResponse: function trapAuthResponse() {\n\t if (this.options.appState.get('isMfaEnrollActivate')) {\n\t this.model.activate();\n\t return true;\n\t }\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 545 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2018-2019, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(440), __webpack_require__(447)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, FormController, Footer) {\n\t\n\t var _ = Okta._;\n\t var Util = Okta.internal.util.Util;\n\t\n\t\n\t return FormController.extend({\n\t className: 'enroll-custom-factor',\n\t Model: {\n\t local: {\n\t provider: 'string',\n\t factorType: 'string'\n\t },\n\t save: function save() {\n\t var _this = this;\n\t\n\t return this.manageTransaction(function (transaction, setTransaction) {\n\t var factor = _.findWhere(transaction.factors, {\n\t provider: _this.get('provider'),\n\t factorType: _this.get('factorType')\n\t });\n\t return factor.enroll().then(function (trans) {\n\t setTransaction(trans);\n\t var url = _this.appState.get('enrollCustomFactorRedirectUrl');\n\t if (url !== null) {\n\t Util.redirect(url);\n\t }\n\t }).fail(function (err) {\n\t throw err;\n\t });\n\t });\n\t }\n\t },\n\t\n\t Form: function Form() {\n\t var factors = this.options.appState.get('factors');\n\t var factor = factors.findWhere({\n\t provider: this.options.provider,\n\t factorType: this.options.factorType\n\t });\n\t var vendorName = factor.get('vendorName');\n\t var subtitle = Okta.loc('enroll.customFactor.subtitle', 'login', [vendorName]);\n\t var saveText = Okta.loc('enroll.customFactor.save', 'login');\n\t return {\n\t autoSave: true,\n\t title: vendorName,\n\t subtitle: subtitle,\n\t save: saveText\n\t };\n\t },\n\t\n\t trapAuthResponse: function trapAuthResponse() {\n\t if (this.options.appState.get('isMfaEnrollActivate')) {\n\t return true;\n\t }\n\t },\n\t\n\t initialize: function initialize() {\n\t this.model.set('provider', this.options.provider);\n\t this.model.set('factorType', this.options.factorType);\n\t },\n\t\n\t Footer: Footer\n\t\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 546 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(445), __webpack_require__(440), __webpack_require__(441), __webpack_require__(483), __webpack_require__(542), __webpack_require__(447)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, FactorUtil, FormController, FormType, RouterUtil, BarcodeView, Footer) {\n\t\n\t var _ = Okta._;\n\t\n\t return FormController.extend({\n\t className: 'barcode-totp',\n\t Model: function Model() {\n\t return {\n\t local: {\n\t '__factorType__': ['string', false, this.options.factorType],\n\t '__provider__': ['string', false, this.options.provider]\n\t }\n\t };\n\t },\n\t\n\t Form: {\n\t title: function title() {\n\t var factorName = FactorUtil.getFactorLabel(this.model.get('__provider__'), this.model.get('__factorType__'));\n\t return Okta.loc('enroll.totp.title', 'login', [factorName]);\n\t },\n\t subtitle: _.partial(Okta.loc, 'mfa.scanBarcode', 'login'),\n\t save: _.partial(Okta.loc, 'oform.next', 'login'),\n\t noCancelButton: true,\n\t attributes: { 'data-se': 'step-scan' },\n\t className: 'barcode-scan',\n\t\n\t formChildren: [FormType.View({ View: BarcodeView })]\n\t },\n\t\n\t Footer: Footer,\n\t\n\t initialize: function initialize() {\n\t this.listenTo(this.form, 'save', function () {\n\t var url = RouterUtil.createActivateFactorUrl(this.model.get('__provider__'), this.model.get('__factorType__'), 'activate');\n\t this.options.appState.trigger('navigate', url);\n\t });\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 547 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(445), __webpack_require__(440), __webpack_require__(441), __webpack_require__(483), __webpack_require__(542), __webpack_require__(447)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, FactorUtil, FormController, FormType, RouterUtil, BarcodeView, Footer) {\n\t\n\t var _ = Okta._;\n\t\n\t // Note: Keep-alive is set to 5 seconds - using 5 seconds here will result\n\t // in network connection lost errors in Safari and IE.\n\t var PUSH_INTERVAL = 6000;\n\t\n\t return FormController.extend({\n\t className: 'barcode-push',\n\t Model: function Model() {\n\t return {\n\t local: {\n\t '__factorType__': ['string', false, this.options.factorType],\n\t '__provider__': ['string', false, this.options.provider]\n\t }\n\t };\n\t },\n\t\n\t Form: {\n\t title: function title() {\n\t var factorName = FactorUtil.getFactorLabel(this.model.get('__provider__'), this.model.get('__factorType__'));\n\t return Okta.loc('enroll.totp.title', 'login', [factorName]);\n\t },\n\t subtitle: _.partial(Okta.loc, 'mfa.scanBarcode', 'login'),\n\t noButtonBar: true,\n\t attributes: { 'data-se': 'step-scan' },\n\t className: 'barcode-scan',\n\t initialize: function initialize() {\n\t this.listenTo(this.model, 'error errors:clear', function () {\n\t this.clearErrors();\n\t });\n\t },\n\t\n\t formChildren: [FormType.View({ View: BarcodeView })]\n\t },\n\t\n\t Footer: Footer,\n\t\n\t initialize: function initialize() {\n\t this.pollForEnrollment();\n\t },\n\t\n\t pollForEnrollment: function pollForEnrollment() {\n\t return this.model.doTransaction(function (transaction) {\n\t return transaction.poll(PUSH_INTERVAL);\n\t });\n\t },\n\t\n\t trapAuthResponse: function trapAuthResponse() {\n\t if (this.options.appState.get('isMfaEnrollActivate')) {\n\t return true;\n\t }\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 548 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2017, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(485), __webpack_require__(499), __webpack_require__(549), __webpack_require__(550), __webpack_require__(501), __webpack_require__(442)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, PrimaryAuthController, PrimaryAuthModel, IDPDiscoveryForm, IDPDiscoveryModel, Footer, BaseLoginController) {\n\t\n\t return PrimaryAuthController.extend({\n\t className: 'idp-discovery',\n\t\n\t View: IDPDiscoveryForm,\n\t\n\t constructor: function constructor(options) {\n\t options.appState.unset('username');\n\t\n\t this.model = new IDPDiscoveryModel({\n\t requestContext: options.settings.get('idpDiscovery.requestContext'),\n\t settings: options.settings,\n\t appState: options.appState\n\t }, { parse: true });\n\t\n\t BaseLoginController.apply(this, arguments);\n\t\n\t this.addListeners();\n\t\n\t this.addFooter(options);\n\t\n\t this.setUsername();\n\t },\n\t\n\t initialize: function initialize() {\n\t PrimaryAuthController.prototype.initialize.apply(this);\n\t\n\t this.listenTo(this.model, 'goToPrimaryAuth', function () {\n\t this.settings.set('username', this.model.get('username'));\n\t if (this.settings.get('features.passwordlessAuth')) {\n\t var primaryAuthModel = new PrimaryAuthModel({\n\t username: this.model.get('username'),\n\t multiOptionalFactorEnroll: this.options.settings.get('features.multiOptionalFactorEnroll'),\n\t settings: this.options.settings,\n\t appState: this.options.appState\n\t }, { parse: true });\n\t // Events to set the transaction attributes on the app state.\n\t this.addModelListeners(primaryAuthModel);\n\t // Make the primary auth request\n\t primaryAuthModel.save();\n\t } else {\n\t this.options.appState.set('disableUsername', true);\n\t this.options.appState.trigger('navigate', 'signin');\n\t }\n\t });\n\t }\n\t\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 549 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2017, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(486)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, PrimaryAuthForm) {\n\t\n\t var _ = Okta._;\n\t\n\t return PrimaryAuthForm.extend({\n\t className: 'idp-discovery-form',\n\t save: function save() {\n\t return Okta.loc('oform.next', 'login');\n\t },\n\t saveId: 'idp-discovery-submit',\n\t\n\t initialize: function initialize() {\n\t this.listenTo(this, 'save', _.bind(this.model.save, this.model));\n\t this.stateEnableChange();\n\t },\n\t\n\t inputs: function inputs() {\n\t var inputs = [];\n\t var usernameProps = {\n\t inputId: 'idp-discovery-username',\n\t placeholder: Okta.loc('primaryauth.username.placeholder', 'login'),\n\t disabled: false,\n\t params: {\n\t icon: 'person-16-gray'\n\t }\n\t };\n\t inputs.push(_.extend(this.getUsernameField(), usernameProps));\n\t if (this.settings.get('features.rememberMe')) {\n\t inputs.push(this.getRemeberMeCheckbox());\n\t }\n\t return inputs;\n\t },\n\t\n\t focus: function focus() {\n\t if (!this.model.get('username')) {\n\t this.getInputs().first().focus();\n\t } else if (this.getInputs().toArray()[1]) {\n\t this.getInputs().toArray()[1].focus();\n\t }\n\t }\n\t\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 550 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2017, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(499), __webpack_require__(500), __webpack_require__(413)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, PrimaryAuthModel, CookieUtil, Enums) {\n\t var Util = Okta.internal.util.Util;\n\t\n\t var _ = Okta._;\n\t\n\t return PrimaryAuthModel.extend({\n\t\n\t props: function props() {\n\t var cookieUsername = CookieUtil.getCookieUsername(),\n\t properties = this.getUsernameAndRemember(cookieUsername);\n\t\n\t return {\n\t username: ['string', true, properties.username],\n\t lastUsername: ['string', false, cookieUsername],\n\t context: ['object', false],\n\t remember: ['boolean', true, properties.remember]\n\t };\n\t },\n\t\n\t local: {},\n\t\n\t save: function save() {\n\t var username = this.settings.transformUsername(this.get('username'), Enums.IDP_DISCOVERY),\n\t remember = this.get('remember'),\n\t lastUsername = this.get('lastUsername'),\n\t resource = 'okta:acct:' + username,\n\t requestContext = this.get('requestContext');\n\t\n\t this.setUsernameCookie(username, remember, lastUsername);\n\t\n\t //the 'save' event here is triggered and used in the BaseLoginController\n\t //to disable the primary button\n\t this.trigger('save');\n\t\n\t this.appState.trigger('loading', true);\n\t\n\t var webfingerArgs = {\n\t resource: resource,\n\t requestContext: requestContext\n\t };\n\t\n\t var authClient = this.appState.settings.authClient;\n\t\n\t authClient.webfinger(webfingerArgs).then(_.bind(function (res) {\n\t if (res) {\n\t if (res.links && res.links[0] && res.links[0].properties['okta:idp:type'] === 'OKTA') {\n\t this.trigger('goToPrimaryAuth');\n\t } else {\n\t var successData = {\n\t idpDiscovery: {\n\t redirectToIdp: function redirectToIdp(redirectUrl) {\n\t if (res.links && res.links[0] && res.links[0].href) {\n\t var queryParams = { fromURI: redirectUrl };\n\t if (res.links[0].properties && res.links[0].properties['okta:idp:type'] === 'SAML2') {\n\t queryParams['login_hint'] = username;\n\t }\n\t var url = res.links[0].href + Util.getUrlQueryString(queryParams);\n\t Util.redirect(url);\n\t }\n\t }\n\t }\n\t };\n\t this.settings.callGlobalSuccess(Enums.IDP_DISCOVERY, successData);\n\t }\n\t }\n\t }, this)).fail(_.bind(function () {\n\t this.trigger('error');\n\t // Specific event handled by the Header for the case where the security image is not\n\t // enabled and we want to show a spinner. (Triggered only here and handled only by Header).\n\t this.appState.trigger('removeLoading');\n\t CookieUtil.removeUsernameCookie();\n\t }, this)).fin(_.bind(function () {\n\t this.appState.trigger('loading', false);\n\t }, this));\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 551 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(445), __webpack_require__(440), __webpack_require__(441), __webpack_require__(483), __webpack_require__(552), __webpack_require__(446)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, FactorUtil, FormController, FormType, RouterUtil, ManualSetupFooter, TextBox) {\n\t\n\t var _ = Okta._;\n\t\n\t return FormController.extend({\n\t className: 'enroll-manual-totp',\n\t Model: function Model() {\n\t return {\n\t local: {\n\t 'sharedSecret': ['string', false, this.options.appState.get('sharedSecret')],\n\t '__factorType__': ['string', false, this.options.factorType],\n\t '__provider__': ['string', false, this.options.provider]\n\t }\n\t };\n\t },\n\t\n\t Form: {\n\t title: function title() {\n\t var factorName = FactorUtil.getFactorLabel(this.model.get('__provider__'), this.model.get('__factorType__'));\n\t return Okta.loc('enroll.totp.title', 'login', [factorName]);\n\t },\n\t subtitle: _.partial(Okta.loc, 'enroll.totp.cannotScanBarcode', 'login'),\n\t noButtonBar: true,\n\t attributes: { 'data-se': 'step-manual-setup' },\n\t\n\t formChildren: function formChildren() {\n\t return [FormType.View({ View: '\\\n\t

          \\\n\t {{i18n code=\"enroll.totp.manualSetupInstructions\" bundle=\"login\"}}\\\n\t

          \\\n\t ' }), FormType.Input({\n\t name: 'sharedSecret',\n\t input: TextBox,\n\t type: 'text',\n\t disabled: true\n\t }), FormType.Toolbar({\n\t noCancelButton: true,\n\t save: Okta.loc('oform.next', 'login')\n\t })];\n\t }\n\t },\n\t\n\t Footer: ManualSetupFooter,\n\t\n\t initialize: function initialize() {\n\t this.listenTo(this.form, 'save', function () {\n\t var url = RouterUtil.createActivateFactorUrl(this.model.get('__provider__'), this.model.get('__factorType__'), 'activate');\n\t this.options.appState.trigger('navigate', url);\n\t });\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 552 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(483), __webpack_require__(413)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, RouterUtil, Enums) {\n\t\n\t return Okta.View.extend({\n\t template: '\\\n\t \\\n\t {{i18n code=\"mfa.backToFactors\" bundle=\"login\"}}\\\n\t \\\n\t \\\n\t {{i18n code=\"mfa.scanBarcode\" bundle=\"login\"}}\\\n\t \\\n\t ',\n\t className: 'auth-footer',\n\t events: {\n\t 'click .js-back': function clickJsBack(e) {\n\t e.preventDefault();\n\t this.back();\n\t },\n\t 'click .js-goto': function clickJsGoto(e) {\n\t e.preventDefault();\n\t // go to a different screen with current auth status:\n\t // refresh the latest response\n\t this.model.startTransaction(function (authClient) {\n\t return authClient.tx.resume();\n\t });\n\t }\n\t },\n\t back: function back() {\n\t this.state.set('navigateDir', Enums.DIRECTION_BACK);\n\t if (this.options.appState.get('prevLink')) {\n\t // Once we are in the MFA_ENROLL_ACTIVATE, we need to reset to the\n\t // correct state. Fortunately, this means that the router will\n\t // handle navigation once the request is finished.\n\t this.model.doTransaction(function (transaction) {\n\t return transaction.prev();\n\t });\n\t } else {\n\t this.options.appState.trigger('navigate', 'signin/enroll');\n\t }\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 553 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(535), __webpack_require__(445), __webpack_require__(440), __webpack_require__(441), __webpack_require__(483), __webpack_require__(554), __webpack_require__(534), __webpack_require__(446)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, CountryUtil, FactorUtil, FormController, FormType, RouterUtil, Footer, PhoneTextBox, TextBox) {\n\t\n\t var _ = Okta._;\n\t\n\t function goToFactorActivation(view, step) {\n\t var url = RouterUtil.createActivateFactorUrl(view.options.appState.get('activatedFactorProvider'), view.options.appState.get('activatedFactorType'), step);\n\t view.options.appState.trigger('navigate', url);\n\t }\n\t\n\t function setStateValues(view) {\n\t var userPhoneNumber, userCountryCode;\n\t if (view.model.get('activationType') === 'SMS') {\n\t userCountryCode = view.model.get('countryCode');\n\t userPhoneNumber = view.model.get('phoneNumber');\n\t }\n\t view.options.appState.set({\n\t factorActivationType: view.model.get('activationType'),\n\t userCountryCode: userCountryCode,\n\t userPhoneNumber: userPhoneNumber\n\t });\n\t }\n\t\n\t function enrollFactor(view, factorType) {\n\t return view.model.doTransaction(function (transaction) {\n\t return transaction.prev().then(function (trans) {\n\t var factor = _.findWhere(trans.factors, {\n\t factorType: factorType,\n\t provider: 'OKTA'\n\t });\n\t return factor.enroll();\n\t }).then(function (trans) {\n\t var textActivationLinkUrl,\n\t emailActivationLinkUrl,\n\t sharedSecret,\n\t res = trans.data;\n\t\n\t if (res && res._embedded && res._embedded.factor && res._embedded.factor._embedded && res._embedded.factor._embedded.activation) {\n\t\n\t var factor = res._embedded.factor;\n\t\n\t // Shared secret\n\t sharedSecret = factor._embedded.activation.sharedSecret;\n\t\n\t if (factor._embedded.activation._links && factor._embedded.activation._links.send) {\n\t\n\t var activationSendLinks = factor._embedded.activation._links.send;\n\t\n\t // SMS activation url\n\t var smsItem = _.findWhere(activationSendLinks, { name: 'sms' });\n\t textActivationLinkUrl = smsItem ? smsItem.href : null;\n\t\n\t // Email activation url\n\t var emailItem = _.findWhere(activationSendLinks, { name: 'email' });\n\t emailActivationLinkUrl = emailItem ? emailItem.href : null;\n\t }\n\t }\n\t\n\t view.model.set({\n\t 'SMS': textActivationLinkUrl,\n\t 'EMAIL': emailActivationLinkUrl,\n\t 'sharedSecret': sharedSecret\n\t });\n\t\n\t return trans;\n\t });\n\t });\n\t }\n\t\n\t return FormController.extend({\n\t className: 'enroll-manual-push',\n\t Model: function Model() {\n\t return {\n\t local: {\n\t activationType: ['string', true, this.options.appState.get('factorActivationType') || 'SMS'],\n\t countryCode: ['string', false, 'US'],\n\t phoneNumber: 'string',\n\t 'SMS': ['string', false, this.options.appState.get('textActivationLinkUrl')],\n\t 'EMAIL': ['string', false, this.options.appState.get('emailActivationLinkUrl')],\n\t 'sharedSecret': ['string', false, this.options.appState.get('sharedSecret')],\n\t '__factorType__': ['string', false, this.options.factorType],\n\t '__provider__': ['string', false, this.options.provider]\n\t },\n\t derived: {\n\t countryCallingCode: {\n\t deps: ['countryCode'],\n\t fn: function fn(countryCode) {\n\t return '+' + CountryUtil.getCallingCodeForCountry(countryCode);\n\t }\n\t },\n\t fullPhoneNumber: {\n\t deps: ['countryCallingCode', 'phoneNumber'],\n\t fn: function fn(countryCallingCode, phoneNumber) {\n\t return countryCallingCode + phoneNumber;\n\t }\n\t }\n\t }\n\t };\n\t },\n\t\n\t Form: {\n\t title: function title() {\n\t var factorName = FactorUtil.getFactorLabel(this.model.get('__provider__'), this.model.get('__factorType__'));\n\t return Okta.loc('enroll.totp.title', 'login', [factorName]);\n\t },\n\t subtitle: _.partial(Okta.loc, 'enroll.totp.cannotScanBarcode', 'login'),\n\t noButtonBar: true,\n\t attributes: { 'data-se': 'step-manual-setup' },\n\t\n\t formChildren: function formChildren() {\n\t var children = [FormType.Input({\n\t name: 'activationType',\n\t type: 'select',\n\t wide: true,\n\t options: {\n\t SMS: Okta.loc('enroll.totp.sendSms', 'login'),\n\t EMAIL: Okta.loc('enroll.totp.sendEmail', 'login'),\n\t MANUAL: Okta.loc('enroll.totp.setupManually', 'login')\n\t }\n\t }), FormType.Input({\n\t name: 'countryCode',\n\t type: 'select',\n\t wide: true,\n\t options: CountryUtil.getCountries(),\n\t showWhen: { activationType: 'SMS' }\n\t }), FormType.Input({\n\t placeholder: Okta.loc('mfa.phoneNumber.placeholder', 'login'),\n\t className: 'enroll-sms-phone',\n\t name: 'phoneNumber',\n\t input: PhoneTextBox,\n\t type: 'text',\n\t showWhen: { activationType: 'SMS' }\n\t }), FormType.View({\n\t View: '\\\n\t

          \\\n\t {{i18n code=\"enroll.totp.sharedSecretInstructions\" bundle=\"login\"}}\\\n\t

          \\\n\t ',\n\t showWhen: { activationType: 'MANUAL' }\n\t }), FormType.Input({\n\t name: 'sharedSecret',\n\t input: TextBox,\n\t type: 'text',\n\t disabled: true,\n\t showWhen: { activationType: 'MANUAL' },\n\t initialize: function initialize() {\n\t this.listenTo(this.model, 'change:sharedSecret', this.render);\n\t }\n\t }), FormType.View({\n\t View: '
          ',\n\t showWhen: { activationType: 'MANUAL' }\n\t }), FormType.Button({\n\t title: Okta.loc('oform.next', 'login'),\n\t className: 'button button-primary button-wide button-next',\n\t attributes: { 'data-se': 'next-button' },\n\t click: _.bind(function () {\n\t setStateValues(this);\n\t goToFactorActivation(this, 'passcode');\n\t }, this)\n\t }, '[data-type=\"next-button-wrap\"]'), FormType.Toolbar({\n\t noCancelButton: true,\n\t save: Okta.loc('oform.send', 'login'),\n\t showWhen: {\n\t activationType: function activationType(val) {\n\t return val === 'SMS' || val === 'EMAIL';\n\t }\n\t }\n\t })];\n\t return children;\n\t }\n\t },\n\t\n\t Footer: Footer,\n\t\n\t initialize: function initialize() {\n\t this.setInitialModel();\n\t // Move this logic to a model when AuthClient supports sending email and sms\n\t this.listenTo(this.form, 'save', function () {\n\t var self = this;\n\t this.model.doTransaction(function (transaction) {\n\t var activationType = this.get('activationType').toLowerCase(),\n\t opts = {};\n\t\n\t if (activationType === 'sms') {\n\t opts.profile = { phoneNumber: this.get('fullPhoneNumber') };\n\t }\n\t\n\t return transaction.factor.activation.send(activationType, opts).then(function (trans) {\n\t setStateValues(self);\n\t // Note: Need to defer because OktaAuth calls our router success\n\t // handler on the next tick - if we immediately called, appState would\n\t // still be populated with the last response\n\t _.defer(function () {\n\t goToFactorActivation(self, 'sent');\n\t });\n\t return trans;\n\t });\n\t });\n\t });\n\t\n\t this.listenTo(this.model, 'change:activationType', function (model, value) {\n\t this.form.clearErrors();\n\t if (value === 'MANUAL' && this.options.appState.get('activatedFactorType') !== 'token:software:totp') {\n\t enrollFactor(this, 'token:software:totp');\n\t } else if (this.options.appState.get('activatedFactorType') !== 'push') {\n\t enrollFactor(this, 'push');\n\t }\n\t });\n\t },\n\t\n\t setInitialModel: function setInitialModel() {\n\t if (this.options.appState.get('factorActivationType') === 'SMS') {\n\t this.model.set({\n\t countryCode: this.options.appState.get('userCountryCode') || 'US',\n\t phoneNumber: this.options.appState.get('userPhoneNumber')\n\t });\n\t }\n\t },\n\t\n\t trapAuthResponse: function trapAuthResponse() {\n\t if (this.options.appState.get('isMfaEnrollActivate') || this.options.appState.get('isMfaEnroll')) {\n\t return true;\n\t }\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 554 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(483)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, RouterUtil) {\n\t\n\t var _ = Okta._;\n\t\n\t function goToFactorActivation(appState) {\n\t var url = RouterUtil.createActivateFactorUrl(appState.get('activatedFactorProvider'), appState.get('activatedFactorType'));\n\t appState.trigger('navigate', url);\n\t }\n\t\n\t return Okta.View.extend({\n\t template: '\\\n\t \\\n\t {{i18n code=\"mfa.backToFactors\" bundle=\"login\"}}\\\n\t \\\n\t \\\n\t {{i18n code=\"mfa.scanBarcode\" bundle=\"login\"}}\\\n\t \\\n\t ',\n\t className: 'auth-footer',\n\t events: {\n\t 'click .js-back': function clickJsBack(e) {\n\t e.preventDefault();\n\t this.back();\n\t },\n\t 'click .js-goto': function clickJsGoto(e) {\n\t e.preventDefault();\n\t var goToFactor = _.partial(goToFactorActivation, this.options.appState);\n\t this.options.appState.unset('factorActivationType');\n\t if (this.options.appState.get('activatedFactorType') !== 'push') {\n\t this.model.doTransaction(function (transaction) {\n\t return transaction.prev().then(function (trans) {\n\t var factor = _.findWhere(trans.factors, {\n\t factorType: 'push',\n\t provider: 'OKTA'\n\t });\n\t return factor.enroll();\n\t });\n\t }).then(goToFactor);\n\t } else {\n\t this.model.startTransaction(function (authClient) {\n\t return authClient.tx.resume();\n\t }).then(function () {\n\t // Sets to trigger on a tick after the appState has been set.\n\t // This is due to calling the globalSuccessFn in a callback\n\t setTimeout(goToFactor);\n\t });\n\t }\n\t }\n\t },\n\t back: function back() {\n\t var self = this;\n\t self.options.appState.unset('factorActivationType');\n\t if (self.options.appState.get('prevLink')) {\n\t this.model.doTransaction(function (transaction) {\n\t return transaction.prev();\n\t }).then(function () {\n\t // we trap 'MFA_ENROLL' response that's why we need to trigger navigation from here\n\t self.options.appState.trigger('navigate', 'signin/enroll');\n\t });\n\t } else {\n\t self.options.appState.trigger('navigate', 'signin/enroll');\n\t }\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 555 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(535), __webpack_require__(440), __webpack_require__(441), __webpack_require__(483)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, CountryUtil, FormController, FormType, RouterUtil) {\n\t\n\t var _ = Okta._;\n\t\n\t // Note: Keep-alive is set to 5 seconds - using 5 seconds here will result\n\t // in network connection lost errors in Safari and IE.\n\t var PUSH_INTERVAL = 6000;\n\t\n\t var Footer = Okta.View.extend({\n\t template: '\\\n\t \\\n\t {{i18n code=\"oform.back\" bundle=\"login\"}}\\\n\t \\\n\t ',\n\t className: 'auth-footer',\n\t events: {\n\t 'click .js-back': function clickJsBack(e) {\n\t e.preventDefault();\n\t this.back();\n\t }\n\t },\n\t back: function back() {\n\t var url = RouterUtil.createActivateFactorUrl(this.options.appState.get('activatedFactorProvider'), this.options.appState.get('activatedFactorType'), 'manual');\n\t this.options.appState.trigger('navigate', url);\n\t }\n\t });\n\t\n\t var emailSentForm = {\n\t title: _.partial(Okta.loc, 'enroll.totp.enrollViaEmail.title', 'login'),\n\t noButtonBar: true,\n\t attributes: { 'data-se': 'sent-email-activation-link' },\n\t formChildren: [FormType.View({\n\t View: Okta.View.extend({\n\t template: '\\\n\t

          {{i18n code=\"enroll.totp.enrollViaEmail.msg\" bundle=\"login\"}}

          \\\n\t

          {{email}}

          \\\n\t ',\n\t getTemplateData: function getTemplateData() {\n\t return { email: this.options.appState.get('userEmail') };\n\t }\n\t })\n\t })]\n\t };\n\t\n\t var smsSentForm = {\n\t title: _.partial(Okta.loc, 'enroll.totp.enrollViaSms.title', 'login'),\n\t noButtonBar: true,\n\t attributes: { 'data-se': 'sent-sms-activation-link' },\n\t formChildren: [FormType.View({\n\t View: Okta.View.extend({\n\t template: '\\\n\t

          {{i18n code=\"enroll.totp.enrollViaSms.msg\" bundle=\"login\"}}

          \\\n\t

          {{phoneNumber}}

          \\\n\t ',\n\t getTemplateData: function getTemplateData() {\n\t return { phoneNumber: this.model.get('fullPhoneNumber') };\n\t }\n\t })\n\t })]\n\t };\n\t\n\t return FormController.extend({\n\t className: 'enroll-activation-link-sent',\n\t Model: function Model() {\n\t return {\n\t local: {\n\t countryCode: ['string', false, this.options.appState.get('userCountryCode')],\n\t phoneNumber: ['string', false, this.options.appState.get('userPhoneNumber')],\n\t '__factorType__': ['string', false, this.options.factorType],\n\t '__provider__': ['string', false, this.options.provider]\n\t },\n\t derived: {\n\t countryCallingCode: {\n\t deps: ['countryCode'],\n\t fn: function fn(countryCode) {\n\t return '+' + CountryUtil.getCallingCodeForCountry(countryCode);\n\t }\n\t },\n\t fullPhoneNumber: {\n\t deps: ['countryCallingCode', 'phoneNumber'],\n\t fn: function fn(countryCallingCode, phoneNumber) {\n\t return countryCallingCode + phoneNumber;\n\t }\n\t }\n\t }\n\t };\n\t },\n\t\n\t Form: function Form() {\n\t var activationType = this.options.appState.get('factorActivationType');\n\t switch (activationType) {\n\t case 'SMS':\n\t return smsSentForm;\n\t case 'EMAIL':\n\t return emailSentForm;\n\t default:\n\t throw new Error('Unknown activation option: ' + activationType);\n\t }\n\t },\n\t\n\t Footer: Footer,\n\t\n\t initialize: function initialize() {\n\t this.pollForEnrollment();\n\t },\n\t\n\t remove: function remove() {\n\t return FormController.prototype.remove.apply(this, arguments);\n\t },\n\t\n\t pollForEnrollment: function pollForEnrollment() {\n\t return this.model.doTransaction(function (transaction) {\n\t return transaction.poll(PUSH_INTERVAL);\n\t });\n\t },\n\t\n\t trapAuthResponse: function trapAuthResponse() {\n\t if (this.options.appState.get('isWaitingForActivation')) {\n\t this.pollForEnrollment();\n\t return true;\n\t }\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 556 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(440), __webpack_require__(483), __webpack_require__(444)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, FormController, RouterUtil, EnterPasscodeForm) {\n\t\n\t var Footer = Okta.View.extend({\n\t template: '\\\n\t \\\n\t {{i18n code=\"oform.back\" bundle=\"login\"}}\\\n\t \\\n\t ',\n\t className: 'auth-footer',\n\t events: {\n\t 'click .js-back': function clickJsBack(e) {\n\t e.preventDefault();\n\t this.back();\n\t }\n\t },\n\t back: function back() {\n\t var url = RouterUtil.createActivateFactorUrl(this.options.appState.get('activatedFactorProvider'), 'push', 'manual');\n\t this.options.appState.trigger('navigate', url);\n\t }\n\t });\n\t\n\t return FormController.extend({\n\t className: 'activate-push',\n\t Model: function Model() {\n\t return {\n\t props: {\n\t factorId: ['string', true, this.options.appState.get('activatedFactorId')],\n\t passCode: ['string', true]\n\t },\n\t local: {\n\t '__factorType__': ['string', false, this.options.factorType],\n\t '__provider__': ['string', false, this.options.provider]\n\t },\n\t save: function save() {\n\t return this.doTransaction(function (transaction) {\n\t return transaction.activate({\n\t passCode: this.get('passCode')\n\t });\n\t });\n\t }\n\t };\n\t },\n\t\n\t Form: EnterPasscodeForm,\n\t\n\t Footer: Footer\n\t\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 557 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(440), __webpack_require__(413), __webpack_require__(441), __webpack_require__(558), __webpack_require__(445), __webpack_require__(559), __webpack_require__(446)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, FormController, Enums, FormType, ValidationUtil, FactorUtil, Footer, TextBox) {\n\t\n\t var _ = Okta._;\n\t\n\t return FormController.extend({\n\t className: 'password-expired',\n\t Model: {\n\t props: {\n\t oldPassword: ['string', true],\n\t newPassword: ['string', true],\n\t confirmPassword: ['string', true]\n\t },\n\t validate: function validate() {\n\t return ValidationUtil.validatePasswordMatch(this);\n\t },\n\t save: function save() {\n\t return this.doTransaction(function (transaction) {\n\t return transaction.changePassword({\n\t oldPassword: this.get('oldPassword'),\n\t newPassword: this.get('newPassword')\n\t });\n\t });\n\t }\n\t },\n\t Form: {\n\t save: _.partial(Okta.loc, 'password.expired.submit', 'login'),\n\t title: function title() {\n\t var expiringSoon = this.options.appState.get('isPwdExpiringSoon'),\n\t numDays = this.options.appState.get('passwordExpireDays');\n\t if (expiringSoon && numDays > 0) {\n\t return Okta.loc('password.expiring.title', 'login', [numDays]);\n\t } else if (expiringSoon && numDays === 0) {\n\t return Okta.loc('password.expiring.today', 'login');\n\t } else if (expiringSoon) {\n\t return Okta.loc('password.expiring.soon', 'login');\n\t } else {\n\t return Okta.loc('password.expired.title', 'login');\n\t }\n\t },\n\t subtitle: function subtitle() {\n\t if (this.options.appState.get('isPwdExpiringSoon')) {\n\t return Okta.loc('password.expiring.subtitle', 'login');\n\t }\n\t\n\t var policy = this.options.appState.get('policy');\n\t if (!policy) {\n\t return;\n\t }\n\t\n\t return FactorUtil.getPasswordComplexityDescription(policy);\n\t },\n\t formChildren: function formChildren() {\n\t return [FormType.Input({\n\t 'label-top': true,\n\t label: false,\n\t placeholder: Okta.loc('password.oldPassword.placeholder', 'login'),\n\t name: 'oldPassword',\n\t input: TextBox,\n\t type: 'password',\n\t params: {\n\t innerTooltip: Okta.loc('password.oldPassword.tooltip', 'login'),\n\t icon: 'credentials-16'\n\t }\n\t }), FormType.Divider(), FormType.Input({\n\t 'label-top': true,\n\t label: false,\n\t placeholder: Okta.loc('password.newPassword.placeholder', 'login'),\n\t name: 'newPassword',\n\t input: TextBox,\n\t type: 'password',\n\t params: {\n\t innerTooltip: Okta.loc('password.newPassword.tooltip', 'login'),\n\t icon: 'credentials-16'\n\t }\n\t }), FormType.Input({\n\t 'label-top': true,\n\t label: false,\n\t placeholder: Okta.loc('password.confirmPassword.placeholder', 'login'),\n\t name: 'confirmPassword',\n\t input: TextBox,\n\t type: 'password',\n\t params: {\n\t innerTooltip: Okta.loc('password.confirmPassword.tooltip', 'login'),\n\t icon: 'credentials-16'\n\t }\n\t })];\n\t }\n\t },\n\t Footer: Footer,\n\t\n\t initialize: function initialize() {\n\t this.listenTo(this.form, 'save', function () {\n\t var creds = {\n\t username: this.options.appState.get('userEmail'),\n\t password: this.model.get('newPassword')\n\t };\n\t this.settings.processCreds(creds).then(_.bind(this.model.save, this.model));\n\t });\n\t }\n\t\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 558 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta) {\n\t\n\t var fn = {};\n\t\n\t // Validate the 'username' field on the model.\n\t fn.validateUsername = function (model) {\n\t var username = model.get('username');\n\t if (username && username.length > 256) {\n\t return {\n\t username: Okta.loc('model.validation.field.username', 'login')\n\t };\n\t }\n\t };\n\t\n\t // Validate that the 'newPassword' and 'confirmPassword' fields on the model are a match.\n\t fn.validatePasswordMatch = function (model) {\n\t if (model.get('newPassword') !== model.get('confirmPassword')) {\n\t return {\n\t confirmPassword: Okta.loc('password.error.match', 'login')\n\t };\n\t }\n\t };\n\t\n\t return fn;\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 559 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(413)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, Enums) {\n\t var Util = Okta.internal.util.Util;\n\t\n\t\n\t return Okta.View.extend({\n\t template: '\\\n\t {{#if passwordWarn}}\\\n\t \\\n\t {{i18n code=\"password.expiring.later\" bundle=\"login\"}}\\\n\t \\\n\t {{/if}}\\\n\t {{i18n code=\"signout\" bundle=\"login\"}}\\\n\t ',\n\t className: 'auth-footer clearfix',\n\t events: {\n\t 'click .js-signout': function clickJsSignout(e) {\n\t e.preventDefault();\n\t var self = this;\n\t this.model.doTransaction(function (transaction) {\n\t return transaction.cancel();\n\t }).then(function () {\n\t if (self.settings.get('signOutLink')) {\n\t Util.redirect(self.settings.get('signOutLink'));\n\t } else {\n\t self.state.set('navigateDir', Enums.DIRECTION_BACK);\n\t self.options.appState.trigger('navigate', '');\n\t }\n\t });\n\t },\n\t 'click .js-skip': function clickJsSkip(e) {\n\t e.preventDefault();\n\t this.model.doTransaction(function (transaction) {\n\t return transaction.skip();\n\t });\n\t }\n\t },\n\t getTemplateData: function getTemplateData() {\n\t return { passwordWarn: this.options.appState.get('isPwdExpiringSoon') };\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 560 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(440), __webpack_require__(441), __webpack_require__(559)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, FormController, FormType, Footer) {\n\t\n\t var _ = Okta._;\n\t var Util = Okta.internal.util.Util;\n\t\n\t\n\t return FormController.extend({\n\t className: 'custom-password-expired',\n\t Model: {},\n\t Form: {\n\t noButtonBar: true,\n\t title: function title() {\n\t var expiringSoon = this.options.appState.get('isPwdExpiringSoon'),\n\t numDays = this.options.appState.get('passwordExpireDays');\n\t if (expiringSoon && numDays > 0) {\n\t return Okta.loc('password.expiring.title', 'login', [numDays]);\n\t } else if (expiringSoon && numDays === 0) {\n\t return Okta.loc('password.expiring.today', 'login');\n\t } else if (expiringSoon) {\n\t return Okta.loc('password.expiring.soon', 'login');\n\t } else {\n\t return Okta.loc('password.expired.title', 'login');\n\t }\n\t },\n\t subtitle: function subtitle() {\n\t if (this.options.appState.get('isPwdExpiringSoon')) {\n\t return Okta.loc('password.expiring.subtitle', 'login') + ' ' + Okta.loc('password.expired.custom.subtitle', 'login');\n\t }\n\t\n\t return Okta.loc('password.expired.custom.subtitle', 'login');\n\t },\n\t formChildren: function formChildren() {\n\t return [FormType.Button({\n\t title: _.partial(Okta.loc, 'password.expired.custom.submit', 'login', [this.options.appState.get('passwordExpiredWebsiteName')]),\n\t className: 'button button-primary button-wide',\n\t attributes: { 'data-se': 'custom-button' },\n\t click: function click() {\n\t Util.redirect(this.options.appState.get('passwordExpiredLinkUrl'));\n\t }\n\t })];\n\t }\n\t },\n\t Footer: Footer\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 561 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(440), __webpack_require__(413), __webpack_require__(441), __webpack_require__(558), __webpack_require__(437), __webpack_require__(562), __webpack_require__(446)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, FormController, Enums, FormType, ValidationUtil, Util, ContactSupport, TextBox) {\n\t\n\t var _ = Okta._;\n\t var noFactorsError = '
          \\\n\t \\\n\t

          {{i18n code=\"password.forgot.noFactorsEnabled\" bundle=\"login\"}}

          \\\n\t
          ';\n\t\n\t var Footer = Okta.View.extend({\n\t template: '\\\n\t \\\n\t {{i18n code=\"goback\" bundle=\"login\"}}\\\n\t \\\n\t {{#if helpSupportNumber}}\\\n\t \\\n\t {{i18n code=\"mfa.noAccessToEmail\" bundle=\"login\"}}\\\n\t \\\n\t {{/if}}\\\n\t ',\n\t className: 'auth-footer',\n\t events: {\n\t 'click .js-back': function clickJsBack(e) {\n\t e.preventDefault();\n\t this.back();\n\t },\n\t 'click .js-contact-support': function clickJsContactSupport(e) {\n\t e.preventDefault();\n\t this.state.trigger('contactSupport');\n\t this.$('.js-contact-support').hide();\n\t }\n\t },\n\t getTemplateData: function getTemplateData() {\n\t return this.settings.pick('helpSupportNumber');\n\t },\n\t back: function back() {\n\t this.state.set('navigateDir', Enums.DIRECTION_BACK);\n\t this.options.appState.trigger('navigate', '');\n\t }\n\t });\n\t\n\t return FormController.extend({\n\t className: 'forgot-password',\n\t Model: {\n\t props: {\n\t username: ['string', true],\n\t factorType: ['string', true]\n\t },\n\t validate: function validate() {\n\t return ValidationUtil.validateUsername(this);\n\t },\n\t save: function save() {\n\t var self = this;\n\t var relayState = this.settings.get('relayState');\n\t this.startTransaction(function (authClient) {\n\t return authClient.forgotPassword({\n\t username: self.settings.transformUsername(self.get('username'), Enums.FORGOT_PASSWORD),\n\t factorType: self.get('factorType'),\n\t relayState: relayState\n\t });\n\t }).fail(function () {\n\t //need empty fail handler on model to display errors on form\n\t });\n\t }\n\t },\n\t Form: {\n\t noButtonBar: true,\n\t title: _.partial(Okta.loc, 'password.reset', 'login'),\n\t formChildren: function formChildren() {\n\t /*eslint complexity: [2, 9] max-statements: [2, 23] */\n\t var smsEnabled = this.settings.get('features.smsRecovery');\n\t var callEnabled = this.settings.get('features.callRecovery');\n\t var emailEnabled = this.settings.get('features.emailRecovery');\n\t var noFactorsEnabled = !(smsEnabled || callEnabled || emailEnabled);\n\t var formChildren = [];\n\t\n\t if (noFactorsEnabled) {\n\t this.add(noFactorsError, '.o-form-error-container');\n\t } else {\n\t formChildren.push(FormType.Input({\n\t placeholder: Okta.loc('password.forgot.email.or.username.placeholder', 'login'),\n\t name: 'username',\n\t input: TextBox,\n\t type: 'text',\n\t inlineValidation: false,\n\t params: {\n\t innerTooltip: Okta.loc('password.forgot.email.or.username.tooltip', 'login'),\n\t icon: 'person-16-gray'\n\t }\n\t }));\n\t if (smsEnabled || callEnabled) {\n\t formChildren.push(FormType.View({\n\t View: Okta.View.extend({\n\t template: '\\\n\t

          \\\n\t {{i18n code=\"recovery.mobile.hint\" bundle=\"login\" arguments=\"mobileFactors\"}}\\\n\t

          ',\n\t getTemplateData: function getTemplateData() {\n\t var mobileFactors;\n\t if (smsEnabled && callEnabled) {\n\t mobileFactors = Okta.loc('recovery.smsOrCall');\n\t } else if (callEnabled) {\n\t mobileFactors = Okta.loc('recovery.call');\n\t } else {\n\t mobileFactors = Okta.loc('recovery.sms');\n\t }\n\t return { mobileFactors: mobileFactors };\n\t }\n\t })\n\t }));\n\t }\n\t if (smsEnabled) {\n\t this.$el.addClass('forgot-password-sms-enabled');\n\t formChildren.push(this.createRecoveryFactorButton('sms-button', 'password.forgot.sendText', Enums.RECOVERY_FACTOR_TYPE_SMS, this));\n\t this.setDefaultFactorType(Enums.RECOVERY_FACTOR_TYPE_SMS);\n\t }\n\t if (callEnabled) {\n\t this.$el.addClass('forgot-password-call-enabled');\n\t formChildren.push(this.createRecoveryFactorButton('call-button', 'password.forgot.call', Enums.RECOVERY_FACTOR_TYPE_CALL, this));\n\t this.setDefaultFactorType(Enums.RECOVERY_FACTOR_TYPE_CALL);\n\t }\n\t if (emailEnabled) {\n\t this.$el.addClass('forgot-password-email-enabled');\n\t formChildren.push(this.createRecoveryFactorButton('email-button', 'password.forgot.sendEmail', Enums.RECOVERY_FACTOR_TYPE_EMAIL, this));\n\t this.setDefaultFactorType(Enums.RECOVERY_FACTOR_TYPE_EMAIL);\n\t }\n\t }\n\t\n\t return formChildren;\n\t },\n\t initialize: function initialize() {\n\t\n\t this.listenTo(this.state, 'contactSupport', function () {\n\t this.add(ContactSupport, '.o-form-error-container');\n\t });\n\t\n\t this.listenTo(this, 'save', function () {\n\t this.options.appState.set('username', this.model.get('username'));\n\t this.model.save();\n\t });\n\t },\n\t setDefaultFactorType: function setDefaultFactorType(factorType) {\n\t if (_.isEmpty(this.model.get('factorType'))) {\n\t this.model.set('factorType', factorType);\n\t }\n\t },\n\t createRecoveryFactorButton: function createRecoveryFactorButton(className, labelCode, factorType, form) {\n\t return FormType.Button({\n\t attributes: { 'data-se': className },\n\t className: 'button button-primary button-wide ' + className,\n\t title: Okta.loc(labelCode, 'login'),\n\t click: function click() {\n\t form.clearErrors();\n\t if (this.model.isValid()) {\n\t this.model.set('factorType', factorType);\n\t form.trigger('save', this.model);\n\t }\n\t }\n\t });\n\t }\n\t },\n\t Footer: Footer,\n\t\n\t initialize: function initialize() {\n\t this.options.appState.unset('username');\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 562 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta) {\n\t\n\t return Okta.View.extend({\n\t template: '\\\n\t
          \\\n\t \\\n\t

          {{i18n code=\"contact.support\" bundle=\"login\" arguments=\"helpSupportNumber\"}}

          \\\n\t
          ',\n\t className: 'contact-support',\n\t\n\t getTemplateData: function getTemplateData() {\n\t return this.settings.pick('helpSupportNumber');\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 563 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(440), __webpack_require__(441), __webpack_require__(413), __webpack_require__(504), __webpack_require__(446)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, FormController, FormType, Enums, FooterSignout, TextBox) {\n\t\n\t var _ = Okta._;\n\t var API_RATE_LIMIT = 30000; //milliseconds\n\t\n\t return FormController.extend({\n\t className: 'recovery-challenge',\n\t Model: {\n\t props: {\n\t passCode: ['string', true]\n\t },\n\t local: {\n\t ableToResend: 'boolean'\n\t },\n\t resendCode: function resendCode() {\n\t // Note: This does not require a trapAuthResponse because Backbone's\n\t // router will not navigate if the url path is the same\n\t this.limitResending();\n\t return this.doTransaction(function (transaction) {\n\t return transaction.resend();\n\t });\n\t },\n\t limitResending: function limitResending() {\n\t this.set({ ableToResend: false });\n\t _.delay(_.bind(this.set, this), API_RATE_LIMIT, { ableToResend: true });\n\t },\n\t save: function save() {\n\t return this.doTransaction(function (transaction) {\n\t return transaction.verify({\n\t passCode: this.get('passCode')\n\t });\n\t });\n\t }\n\t },\n\t Form: {\n\t autoSave: true,\n\t save: _.partial(Okta.loc, 'mfa.challenge.verify', 'login'),\n\t title: function title() {\n\t if (this.options.appState.get('factorType') === Enums.RECOVERY_FACTOR_TYPE_CALL) {\n\t return Okta.loc('recoveryChallenge.call.title', 'login');\n\t } else {\n\t return Okta.loc('recoveryChallenge.sms.title', 'login');\n\t }\n\t },\n\t className: 'recovery-challenge',\n\t initialize: function initialize() {\n\t this.listenTo(this.model, 'error', function () {\n\t this.clearErrors();\n\t });\n\t },\n\t formChildren: function formChildren() {\n\t return [FormType.Button({\n\t title: Okta.loc('mfa.resendCode', 'login'),\n\t attributes: { 'data-se': 'resend-button' },\n\t className: 'button sms-request-button',\n\t click: function click() {\n\t this.model.resendCode();\n\t },\n\t initialize: function initialize() {\n\t this.listenTo(this.model, 'change:ableToResend', function (model, ableToResend) {\n\t if (ableToResend) {\n\t this.options.title = Okta.loc('mfa.resendCode', 'login');\n\t this.enable();\n\t this.render();\n\t } else {\n\t this.options.title = Okta.loc('mfa.sent', 'login');\n\t this.disable();\n\t this.render();\n\t }\n\t });\n\t }\n\t }), FormType.Input({\n\t placeholder: Okta.loc('mfa.challenge.enterCode.placeholder', 'login'),\n\t className: 'enroll-sms-phone',\n\t name: 'passCode',\n\t input: TextBox,\n\t type: 'text'\n\t })];\n\t }\n\t },\n\t\n\t events: {\n\t 'click .send-email-link': function clickSendEmailLink(e) {\n\t e.preventDefault();\n\t var settings = this.model.settings,\n\t username = this.options.appState.get('username'),\n\t recoveryType = this.options.appState.get('recoveryType');\n\t\n\t this.model.startTransaction(function (authClient) {\n\t // The user could have landed here via the Forgot Password/Unlock Account flow\n\t switch (recoveryType) {\n\t case Enums.RECOVERY_TYPE_PASSWORD:\n\t return authClient.forgotPassword({\n\t username: settings.transformUsername(username, Enums.FORGOT_PASSWORD),\n\t factorType: Enums.RECOVERY_FACTOR_TYPE_EMAIL\n\t });\n\t case Enums.RECOVERY_TYPE_UNLOCK:\n\t return authClient.unlockAccount({\n\t username: settings.transformUsername(username, Enums.UNLOCK_ACCOUNT),\n\t factorType: Enums.RECOVERY_FACTOR_TYPE_EMAIL\n\t });\n\t default:\n\t return;\n\t }\n\t });\n\t }\n\t },\n\t\n\t initialize: function initialize() {\n\t var recoveryType = this.options.appState.get('recoveryType'),\n\t sendEmailLink;\n\t\n\t switch (recoveryType) {\n\t case Enums.RECOVERY_TYPE_PASSWORD:\n\t sendEmailLink = '\\\n\t \\\n\t {{i18n code=\"password.forgot.code.notReceived\" bundle=\"login\"}}\\\n\t ';\n\t break;\n\t case Enums.RECOVERY_TYPE_UNLOCK:\n\t sendEmailLink = '\\\n\t \\\n\t {{i18n code=\"account.unlock.code.notReceived\" bundle=\"login\"}}\\\n\t ';\n\t break;\n\t default:\n\t break;\n\t }\n\t\n\t if (sendEmailLink && this.settings.get('features.emailRecovery')) {\n\t this.add(sendEmailLink);\n\t }\n\t\n\t this.add(new FooterSignout(_.extend(this.toJSON(), { linkText: Okta.loc('goback', 'login'), linkClassName: '' })));\n\t },\n\t\n\t postRender: function postRender() {\n\t this.model.limitResending();\n\t }\n\t\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 564 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(413), __webpack_require__(440), __webpack_require__(441)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, Enums, FormController, FormType) {\n\t\n\t var _ = Okta._;\n\t\n\t return FormController.extend({\n\t className: 'password-reset-email-sent',\n\t Model: function Model() {\n\t return {\n\t local: {\n\t userFullName: ['string', false, this.options.appState.get('userFullName')]\n\t }\n\t };\n\t },\n\t\n\t Form: {\n\t title: _.partial(Okta.loc, 'password.forgot.emailSent.title', 'login'),\n\t subtitle: function subtitle() {\n\t var username = this.options.appState.get('username');\n\t return Okta.loc('password.forgot.emailSent.desc', 'login', [username]);\n\t },\n\t noButtonBar: true,\n\t attributes: { 'data-se': 'pwd-reset-email-sent' },\n\t formChildren: function formChildren() {\n\t return [FormType.View({\n\t View: Okta.View.extend({\n\t template: '\\\n\t {{alert}}\\\n\t ',\n\t getTemplateData: function getTemplateData() {\n\t return { 'alert': Okta.loc('password.forgot.emailSent.title', 'login') };\n\t }\n\t })\n\t }), FormType.Button({\n\t title: Okta.loc('goback', 'login'),\n\t className: 'button button-primary button-wide',\n\t attributes: { 'data-se': 'back-button' },\n\t click: function click() {\n\t var self = this;\n\t return this.model.doTransaction(function (transaction) {\n\t return transaction.cancel();\n\t }).then(function () {\n\t self.state.set('navigateDir', Enums.DIRECTION_BACK);\n\t self.options.appState.trigger('navigate', '');\n\t });\n\t }\n\t })];\n\t }\n\t },\n\t\n\t initialize: function initialize(options) {\n\t this.settings.callGlobalSuccess(Enums.FORGOT_PASSWORD_EMAIL_SENT, {\n\t username: options.appState.get('username')\n\t });\n\t }\n\t\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 565 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(440), __webpack_require__(441), __webpack_require__(504), __webpack_require__(446)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, FormController, FormType, FooterSignout, TextBox) {\n\t\n\t return FormController.extend({\n\t className: 'recovery-question',\n\t Model: {\n\t props: {\n\t answer: ['string', true],\n\t showAnswer: 'boolean'\n\t },\n\t save: function save() {\n\t return this.doTransaction(function (transaction) {\n\t return transaction.answer({ answer: this.get('answer') });\n\t });\n\t }\n\t },\n\t Form: {\n\t autoSave: true,\n\t save: function save() {\n\t switch (this.options.appState.get('recoveryType')) {\n\t case 'PASSWORD':\n\t return Okta.loc('password.forgot.question.submit', 'login');\n\t case 'UNLOCK':\n\t return Okta.loc('account.unlock.question.submit', 'login');\n\t default:\n\t return Okta.loc('mfa.challenge.verify', 'login');\n\t }\n\t },\n\t title: function title() {\n\t switch (this.options.appState.get('recoveryType')) {\n\t case 'PASSWORD':\n\t return Okta.loc('password.forgot.question.title', 'login');\n\t case 'UNLOCK':\n\t return Okta.loc('account.unlock.question.title', 'login');\n\t default:\n\t return '';\n\t }\n\t },\n\t formChildren: function formChildren() {\n\t return [FormType.Input({\n\t label: this.options.appState.get('recoveryQuestion'),\n\t placeholder: Okta.loc('mfa.challenge.answer.placeholder', 'login'),\n\t name: 'answer',\n\t input: TextBox,\n\t type: 'password',\n\t initialize: function initialize() {\n\t this.listenTo(this.model, 'change:showAnswer', function () {\n\t var type = this.model.get('showAnswer') ? 'text' : 'password';\n\t this.getInputs()[0].changeType(type);\n\t });\n\t }\n\t }), FormType.Input({\n\t label: false,\n\t 'label-top': true,\n\t placeholder: Okta.loc('mfa.challenge.answer.showAnswer', 'login'),\n\t className: 'recovery-question-show margin-btm-0',\n\t name: 'showAnswer',\n\t type: 'checkbox'\n\t })];\n\t }\n\t },\n\t Footer: FooterSignout\n\t\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 566 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(440), __webpack_require__(441), __webpack_require__(558), __webpack_require__(445), __webpack_require__(504), __webpack_require__(446)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, FormController, FormType, ValidationUtil, FactorUtil, FooterSignout, TextBox) {\n\t\n\t var _ = Okta._;\n\t\n\t return FormController.extend({\n\t className: 'password-reset',\n\t Model: {\n\t props: {\n\t newPassword: ['string', true],\n\t confirmPassword: ['string', true]\n\t },\n\t validate: function validate() {\n\t return ValidationUtil.validatePasswordMatch(this);\n\t },\n\t save: function save() {\n\t this.trigger('save');\n\t var self = this;\n\t return this.doTransaction(function (transaction) {\n\t return transaction.resetPassword({\n\t newPassword: self.get('newPassword')\n\t });\n\t });\n\t }\n\t },\n\t Form: {\n\t save: _.partial(Okta.loc, 'password.reset', 'login'),\n\t title: _.partial(Okta.loc, 'password.reset.title', 'login'),\n\t subtitle: function subtitle() {\n\t var policy = this.options.appState.get('policy');\n\t if (!policy) {\n\t return;\n\t }\n\t\n\t return FactorUtil.getPasswordComplexityDescription(policy);\n\t },\n\t formChildren: function formChildren() {\n\t return [FormType.Input({\n\t placeholder: Okta.loc('password.newPassword.placeholder', 'login'),\n\t name: 'newPassword',\n\t input: TextBox,\n\t type: 'password',\n\t params: {\n\t innerTooltip: Okta.loc('password.newPassword.tooltip', 'login'),\n\t icon: 'credentials-16'\n\t }\n\t }), FormType.Input({\n\t placeholder: Okta.loc('password.confirmPassword.placeholder', 'login'),\n\t name: 'confirmPassword',\n\t input: TextBox,\n\t type: 'password',\n\t params: {\n\t innerTooltip: Okta.loc('password.confirmPassword.tooltip', 'login'),\n\t icon: 'credentials-16'\n\t }\n\t })];\n\t }\n\t },\n\t Footer: FooterSignout,\n\t\n\t initialize: function initialize() {\n\t this.listenTo(this.form, 'save', function () {\n\t var creds = {\n\t username: this.options.appState.get('userEmail'),\n\t password: this.model.get('newPassword')\n\t };\n\t this.settings.processCreds(creds).then(_.bind(this.model.save, this.model));\n\t });\n\t }\n\t\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 567 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(440)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, FormController) {\n\t\n\t return FormController.extend({\n\t className: 'recovery-loading',\n\t\n\t Model: {},\n\t Form: {\n\t noButtonBar: true\n\t },\n\t\n\t initialize: function initialize(options) {\n\t var self = this;\n\t return this.model.startTransaction(function (authClient) {\n\t return authClient.verifyRecoveryToken({\n\t recoveryToken: options.token\n\t });\n\t }).fail(function () {\n\t self.options.appState.trigger('loading', false);\n\t self.options.appState.trigger('removeLoading');\n\t });\n\t },\n\t\n\t preRender: function preRender() {\n\t this.options.appState.trigger('loading', true);\n\t },\n\t\n\t trapAuthResponse: function trapAuthResponse() {\n\t this.options.appState.trigger('loading', false);\n\t return false;\n\t }\n\t\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 568 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(440), __webpack_require__(413), __webpack_require__(441), __webpack_require__(558), __webpack_require__(562), __webpack_require__(446)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, FormController, Enums, FormType, ValidationUtil, ContactSupport, TextBox) {\n\t\n\t var _ = Okta._;\n\t var noFactorsError = '
          \\\n\t \\\n\t

          {{i18n code=\"account.unlock.noFactorsEnabled\" bundle=\"login\"}}

          \\\n\t
          ';\n\t\n\t var Footer = Okta.View.extend({\n\t template: '\\\n\t \\\n\t {{i18n code=\"goback\" bundle=\"login\"}}\\\n\t \\\n\t {{#if helpSupportNumber}}\\\n\t \\\n\t {{i18n code=\"mfa.noAccessToEmail\" bundle=\"login\"}}\\\n\t \\\n\t {{/if}}\\\n\t ',\n\t className: 'auth-footer',\n\t events: {\n\t 'click .js-back': function clickJsBack(e) {\n\t e.preventDefault();\n\t this.back();\n\t },\n\t 'click .js-contact-support': function clickJsContactSupport(e) {\n\t e.preventDefault();\n\t this.state.trigger('contactSupport');\n\t this.$('.js-contact-support').hide();\n\t }\n\t },\n\t getTemplateData: function getTemplateData() {\n\t return this.settings.pick('helpSupportNumber');\n\t },\n\t back: function back() {\n\t this.state.set('navigateDir', Enums.DIRECTION_BACK);\n\t this.options.appState.trigger('navigate', '');\n\t }\n\t });\n\t\n\t return FormController.extend({\n\t className: 'account-unlock',\n\t Model: {\n\t props: {\n\t username: ['string', true],\n\t factorType: ['string', true]\n\t },\n\t validate: function validate() {\n\t return ValidationUtil.validateUsername(this);\n\t },\n\t save: function save() {\n\t var self = this;\n\t return this.startTransaction(function (authClient) {\n\t return authClient.unlockAccount({\n\t username: self.settings.transformUsername(self.get('username'), Enums.UNLOCK_ACCOUNT),\n\t factorType: self.get('factorType')\n\t });\n\t }).fail(function () {\n\t //need empty fail handler on model to display errors on form\n\t });\n\t }\n\t },\n\t Form: {\n\t noButtonBar: true,\n\t title: _.partial(Okta.loc, 'account.unlock.title', 'login'),\n\t formChildren: function formChildren() {\n\t /*eslint complexity: [2, 9] max-statements: [2, 24] */\n\t var smsEnabled = this.settings.get('features.smsRecovery');\n\t var callEnabled = this.settings.get('features.callRecovery');\n\t var emailEnabled = this.settings.get('features.emailRecovery');\n\t var noFactorsEnabled = !(smsEnabled || callEnabled || emailEnabled);\n\t var formChildren = [];\n\t var form = this;\n\t\n\t if (noFactorsEnabled) {\n\t this.add(noFactorsError, '.o-form-error-container');\n\t } else {\n\t formChildren.push(FormType.Input({\n\t placeholder: Okta.loc('account.unlock.email.or.username.placeholder', 'login'),\n\t name: 'username',\n\t input: TextBox,\n\t type: 'text',\n\t inlineValidation: false,\n\t params: {\n\t innerTooltip: Okta.loc('account.unlock.email.or.username.tooltip', 'login'),\n\t icon: 'person-16-gray'\n\t }\n\t }));\n\t\n\t if (smsEnabled || callEnabled) {\n\t formChildren.push(FormType.View({\n\t View: Okta.View.extend({\n\t template: '\\\n\t

          \\\n\t {{i18n code=\"recovery.mobile.hint\" bundle=\"login\" arguments=\"mobileFactors\"}}\\\n\t

          ',\n\t getTemplateData: function getTemplateData() {\n\t var mobileFactors;\n\t if (smsEnabled && callEnabled) {\n\t mobileFactors = Okta.loc('recovery.smsOrCall');\n\t } else if (callEnabled) {\n\t mobileFactors = Okta.loc('recovery.call');\n\t } else {\n\t mobileFactors = Okta.loc('recovery.sms');\n\t }\n\t return { mobileFactors: mobileFactors };\n\t }\n\t })\n\t }));\n\t }\n\t\n\t if (smsEnabled) {\n\t this.$el.addClass('forgot-password-sms-enabled');\n\t formChildren.push(this.createRecoveryFactorButton('sms-button', 'account.unlock.sendText', Enums.RECOVERY_FACTOR_TYPE_SMS, form));\n\t this.setDefaultFactorType(Enums.RECOVERY_FACTOR_TYPE_SMS);\n\t }\n\t if (callEnabled) {\n\t this.$el.addClass('forgot-password-call-enabled');\n\t formChildren.push(this.createRecoveryFactorButton('call-button', 'account.unlock.voiceCall', Enums.RECOVERY_FACTOR_TYPE_CALL, form));\n\t this.setDefaultFactorType(Enums.RECOVERY_FACTOR_TYPE_CALL);\n\t }\n\t if (emailEnabled) {\n\t this.$el.addClass('forgot-password-email-enabled');\n\t formChildren.push(this.createRecoveryFactorButton('email-button', 'account.unlock.sendEmail', Enums.RECOVERY_FACTOR_TYPE_EMAIL, form));\n\t this.setDefaultFactorType(Enums.RECOVERY_FACTOR_TYPE_EMAIL);\n\t }\n\t }\n\t\n\t return formChildren;\n\t },\n\t initialize: function initialize() {\n\t\n\t this.listenTo(this, 'save', function () {\n\t this.options.appState.set('username', this.model.get('username'));\n\t this.model.save();\n\t });\n\t\n\t this.listenTo(this.state, 'contactSupport', function () {\n\t this.add(ContactSupport, '.o-form-error-container');\n\t });\n\t },\n\t setDefaultFactorType: function setDefaultFactorType(factorType) {\n\t if (_.isEmpty(this.model.get('factorType'))) {\n\t this.model.set('factorType', factorType);\n\t }\n\t },\n\t createRecoveryFactorButton: function createRecoveryFactorButton(className, labelCode, factorType, form) {\n\t return FormType.Button({\n\t attributes: { 'data-se': className },\n\t className: 'button button-primary button-wide ' + className,\n\t title: Okta.loc(labelCode, 'login'),\n\t click: function click() {\n\t form.clearErrors();\n\t if (this.model.isValid()) {\n\t this.model.set('factorType', factorType);\n\t form.trigger('save', this.model);\n\t }\n\t }\n\t });\n\t }\n\t },\n\t Footer: Footer\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 569 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(413), __webpack_require__(440), __webpack_require__(441)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, Enums, FormController, FormType) {\n\t\n\t var _ = Okta._;\n\t\n\t return FormController.extend({\n\t className: 'account-unlocked',\n\t Model: function Model() {\n\t return {\n\t local: {\n\t userFullName: ['string', false, this.options.appState.get('userFullName')]\n\t }\n\t };\n\t },\n\t\n\t Form: {\n\t title: _.partial(Okta.loc, 'account.unlock.unlocked.title', 'login'),\n\t subtitle: _.partial(Okta.loc, 'account.unlock.unlocked.desc', 'login'),\n\t noButtonBar: true,\n\t attributes: { 'data-se': 'account-unlocked' },\n\t formChildren: function formChildren() {\n\t return [FormType.Button({\n\t title: Okta.loc('goback', 'login'),\n\t className: 'button button-primary button-wide',\n\t attributes: { 'data-se': 'back-button' },\n\t click: function click() {\n\t this.state.set('navigateDir', Enums.DIRECTION_BACK);\n\t this.options.appState.trigger('navigate', '');\n\t }\n\t })];\n\t }\n\t }\n\t\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 570 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(413), __webpack_require__(440), __webpack_require__(441)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, Enums, FormController, FormType) {\n\t\n\t var _ = Okta._;\n\t\n\t return FormController.extend({\n\t className: 'account-unlock-email-sent',\n\t Model: function Model() {\n\t return {\n\t local: {\n\t userFullName: ['string', false, this.options.appState.get('userFullName')]\n\t }\n\t };\n\t },\n\t\n\t Form: {\n\t title: _.partial(Okta.loc, 'account.unlock.emailSent.title', 'login'),\n\t subtitle: function subtitle() {\n\t var username = this.options.appState.get('username');\n\t return Okta.loc('account.unlock.emailSent.desc', 'login', [username]);\n\t },\n\t noButtonBar: true,\n\t attributes: { 'data-se': 'unlock-email-sent' },\n\t formChildren: function formChildren() {\n\t return [FormType.Button({\n\t title: Okta.loc('goback', 'login'),\n\t className: 'button button-primary button-wide',\n\t attributes: { 'data-se': 'back-button' },\n\t click: function click() {\n\t this.state.set('navigateDir', Enums.DIRECTION_BACK);\n\t this.options.appState.trigger('navigate', '');\n\t }\n\t })];\n\t }\n\t },\n\t\n\t initialize: function initialize(options) {\n\t this.settings.callGlobalSuccess(Enums.UNLOCK_ACCOUNT_EMAIL_SENT, {\n\t username: options.appState.get('username')\n\t });\n\t }\n\t\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 571 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(440)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, FormController) {\n\t\n\t return FormController.extend({\n\t className: 'refresh-auth-state',\n\t\n\t Model: {},\n\t\n\t Form: {\n\t noButtonBar: true\n\t },\n\t\n\t preRender: function preRender() {\n\t var token = this.options.token;\n\t var appState = this.options.appState;\n\t this.model.startTransaction(function (authClient) {\n\t if (token) {\n\t appState.trigger('loading', true);\n\t return authClient.tx.resume({\n\t stateToken: token\n\t });\n\t }\n\t\n\t if (authClient.tx.exists()) {\n\t appState.trigger('loading', true);\n\t return authClient.tx.resume();\n\t }\n\t\n\t appState.trigger('navigate', '');\n\t });\n\t },\n\t\n\t remove: function remove() {\n\t this.options.appState.trigger('loading', false);\n\t return FormController.prototype.remove.apply(this, arguments);\n\t }\n\t\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 572 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(573), __webpack_require__(574), __webpack_require__(442), __webpack_require__(413), __webpack_require__(575), __webpack_require__(576), __webpack_require__(414)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, RegistrationSchema, LoginModel, BaseLoginController, Enums, RegistrationFormFactory, SubSchema, Errors) {\n\t var _ = Okta._,\n\t Backbone = Okta.Backbone;\n\t\n\t\n\t var Footer = Okta.View.extend({\n\t template: '\\\n\t \\\n\t {{i18n code=\"goback\" bundle=\"login\"}}\\\n\t \\\n\t ',\n\t className: 'auth-footer',\n\t events: {\n\t 'click .help': function clickHelp(e) {\n\t e.preventDefault();\n\t this.back();\n\t }\n\t },\n\t back: function back() {\n\t this.state.set('navigateDir', Enums.DIRECTION_BACK);\n\t this.options.appState.trigger('navigate', '');\n\t }\n\t });\n\t\n\t return BaseLoginController.extend({\n\t className: 'registration',\n\t initialize: function initialize() {\n\t // setup schema\n\t var Schema = RegistrationSchema.extend({\n\t settings: this.options.settings,\n\t url: this.options.settings.get('baseUrl') + '/api/v1/registration/form'\n\t });\n\t var schema = new Schema();\n\t this.state.set('schema', schema);\n\t },\n\t getRegistrationApiUrl: function getRegistrationApiUrl() {\n\t // default policyId\n\t var defaultPolicyId = this.settings.get('defaultPolicyId');\n\t // org policyId\n\t var orgPolicyId = this.options.settings.get('policyId');\n\t var apiUrl = defaultPolicyId ? this.getRegistrationPolicyApi(defaultPolicyId) : this.getRegistrationPolicyApi(orgPolicyId);\n\t return apiUrl;\n\t },\n\t getRegistrationPolicyApi: function getRegistrationPolicyApi(policyId) {\n\t return this.options.settings.get('baseUrl') + '/api/v1/registration/' + policyId;\n\t },\n\t doPostSubmit: function doPostSubmit() {\n\t if (this.model.get('activationToken')) {\n\t // register via activation token\n\t var self = this;\n\t self.settings.callGlobalSuccess(Enums.REGISTRATION_COMPLETE, {\n\t activationToken: this.model.get('activationToken')\n\t });\n\t\n\t var loginModel = new LoginModel({\n\t settings: self.model.appState.settings\n\t });\n\t loginModel.loginWithActivationToken(this.model.get('activationToken')).then(function (transaction) {\n\t self.model.trigger('setTransaction', transaction);\n\t });\n\t } else {\n\t // register via activation email\n\t this.model.appState.set('username', this.model.get('email'));\n\t this.model.appState.trigger('navigate', 'signin/register-complete');\n\t }\n\t },\n\t registerUser: function registerUser(postData) {\n\t var self = this;\n\t this.model.attributes = postData;\n\t Backbone.Model.prototype.save.call(this.model).then(function () {\n\t var activationToken = self.model.get('activationToken');\n\t var postSubmitData = activationToken ? activationToken : self.model.get('email');\n\t self.settings.postSubmit(postSubmitData, function () {\n\t self.doPostSubmit();\n\t }, function (errors) {\n\t self.showErrors(errors);\n\t });\n\t }).fail(function (err) {\n\t var responseJSON = err.responseJSON;\n\t if (responseJSON && responseJSON.errorCauses.length) {\n\t var errMsg = responseJSON.errorCauses[0].errorSummary;\n\t self.settings.callGlobalError(new Errors.RegistrationError(errMsg));\n\t }\n\t });\n\t },\n\t createRegistrationModel: function createRegistrationModel(modelProperties) {\n\t var self = this;\n\t var Model = Okta.Model.extend({\n\t url: self.getRegistrationApiUrl() + '/register',\n\t settings: this.settings,\n\t appState: this.options.appState,\n\t props: modelProperties,\n\t local: {\n\t activationToken: 'string'\n\t },\n\t toJSON: function toJSON() {\n\t var data = Okta.Model.prototype.toJSON.apply(this, arguments);\n\t return {\n\t userProfile: data,\n\t relayState: this.settings.get('relayState')\n\t };\n\t },\n\t parse: function parse(resp) {\n\t this.set('activationToken', resp.activationToken);\n\t delete resp.activationToken;\n\t return resp;\n\t },\n\t save: function save() {\n\t this.settings.preSubmit(this.attributes, function (postData) {\n\t self.registerUser(postData);\n\t }, function (errors) {\n\t self.showErrors(errors);\n\t });\n\t }\n\t });\n\t return new Model();\n\t },\n\t showErrors: function showErrors(error, hideRegisterButton) {\n\t //for parseSchema error hide form and show error at form level\n\t if (error.callback == 'parseSchema' && error.errorCauses) {\n\t error.errorSummary = _.clone(error.errorCauses[0].errorSummary);\n\t delete error.errorCauses;\n\t }\n\t //show error on form\n\t this.model.trigger('error', this.model, {\n\t responseJSON: error\n\t });\n\t\n\t //throw global error\n\t var errMsg = error.callback ? error.callback + ':' + error.errorSummary : error.errorSummary;\n\t this.settings.callGlobalError(new Errors.RegistrationError(errMsg));\n\t\n\t if (hideRegisterButton) {\n\t this.$el.find('.button-primary').hide();\n\t }\n\t },\n\t fetchInitialData: function fetchInitialData() {\n\t var self = this;\n\t // register parse complete event listener\n\t self.state.get('schema').on('parseComplete', function (updatedSchema) {\n\t var modelProperties = updatedSchema.properties.createModelProperties();\n\t self.settings.set('defaultPolicyId', updatedSchema.properties.defaultPolicyId);\n\t\n\t // create model\n\t self.model = self.createRegistrationModel(modelProperties);\n\t // create form\n\t var Form = Okta.Form.extend({\n\t layout: 'o-form-theme',\n\t autoSave: true,\n\t noCancelButton: true,\n\t title: Okta.loc('registration.form.title', 'login'),\n\t save: Okta.loc('registration.form.submit', 'login')\n\t });\n\t var form = new Form(self.toJSON());\n\t // add form\n\t self.add(form);\n\t // add footer\n\t self.footer = new self.Footer(self.toJSON());\n\t self.add(self.footer);\n\t self.addListeners();\n\t if (updatedSchema.error) {\n\t self.showErrors(updatedSchema.error, true);\n\t } else {\n\t // add fields\n\t updatedSchema.properties.each(function (schemaProperty) {\n\t var inputOptions = RegistrationFormFactory.createInputOptions(schemaProperty);\n\t var subSchemas = schemaProperty.get('subSchemas');\n\t var name = schemaProperty.get('name');\n\t form.addInput(inputOptions);\n\t if (name === 'password' && subSchemas) {\n\t form.add(SubSchema.extend({ id: 'subschemas-' + name, subSchemas: subSchemas }));\n\t }\n\t });\n\t var requiredFieldsLabel = Okta.tpl('{{label}}')({\n\t label: Okta.loc('registration.required.fields.label', 'login')\n\t });\n\t form.add(requiredFieldsLabel);\n\t }\n\t });\n\t // fetch schema from API\n\t return this.state.get('schema').fetch();\n\t },\n\t Footer: Footer\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 573 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta) {\n\t\n\t var _ = Okta._;\n\t var _Okta$internal$models = Okta.internal.models,\n\t BaseSchema = _Okta$internal$models.BaseSchema,\n\t SchemaProperty = _Okta$internal$models.SchemaProperty;\n\t\n\t\n\t var RegistrationSchemaPropertyCollection = SchemaProperty.Collection.extend({\n\t createModelProperties: function createModelProperties() {\n\t var modelProperties = SchemaProperty.Collection.prototype.createModelProperties.apply(this);\n\t _.each(modelProperties, function (modelProperty, name) {\n\t modelProperty.required = !!this.get(name).get('required');\n\t }, this);\n\t return modelProperties;\n\t }\n\t });\n\t\n\t return BaseSchema.Model.extend({\n\t expand: ['schema'],\n\t\n\t constructor: function constructor() {\n\t this.properties = new RegistrationSchemaPropertyCollection();\n\t Okta.BaseModel.apply(this, arguments);\n\t },\n\t\n\t parse: function parse(resp) {\n\t\n\t var parseResponseData = _.bind(function (resp) {\n\t var requireFields = resp.schema.required;\n\t if (_.isArray(requireFields)) {\n\t _.each(requireFields, function (requireField) {\n\t var field = this.properties.get(requireField);\n\t if (field) {\n\t field.set('required', true);\n\t }\n\t }, this);\n\t }\n\t\n\t var fieldOrderIds = resp.schema.fieldOrder;\n\t if (_.isArray(fieldOrderIds)) {\n\t _.each(fieldOrderIds, function (fieldOrderId, sortOrder) {\n\t var field = this.properties.get(fieldOrderId);\n\t if (field) {\n\t field.set('sortOrder', sortOrder);\n\t }\n\t }, this);\n\t this.properties.comparator = 'sortOrder';\n\t this.properties.sort();\n\t }\n\t this.properties.defaultPolicyId = resp.policyId;\n\t return resp;\n\t }, this);\n\t\n\t var self = this;\n\t this.settings.parseSchema(resp, function (resp) {\n\t if (resp.profileSchema) {\n\t resp.schema = resp.profileSchema;\n\t BaseSchema.Model.prototype.parse.apply(self, [resp]);\n\t resp = parseResponseData(resp);\n\t }\n\t self.trigger('parseComplete', { properties: self.properties });\n\t }, function (error) {\n\t self.trigger('parseComplete', { properties: self.properties, error: error });\n\t });\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 574 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(443)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, BaseLoginModel) {\n\t\n\t return BaseLoginModel.extend({\n\t constructor: function constructor(options) {\n\t this.settings = options && options.settings;\n\t Okta.Model.apply(this, arguments);\n\t },\n\t loginWithActivationToken: function loginWithActivationToken(activationToken) {\n\t return this.startTransaction(function (authClient) {\n\t return authClient.signIn({ token: activationToken });\n\t });\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 575 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/* eslint max-statements: [2, 20], max-depth: [2, 3], complexity: [2, 9] */\n\t/*!\n\t * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(446)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, TextBox) {\n\t\n\t var _ = Okta._;\n\t var SchemaFormFactory = Okta.internal.views.forms.helpers.SchemaFormFactory;\n\t\n\t\n\t var getParts = function getParts(username) {\n\t var usernameArr = username.split('');\n\t var minPartsLength = 3;\n\t var userNameParts = [];\n\t var delimiters = [',', '.', '-', '_', '#', '@'];\n\t var userNamePart = '';\n\t\n\t _.each(usernameArr, function (part) {\n\t if (delimiters.indexOf(part) == -1) {\n\t userNamePart += part;\n\t } else {\n\t if (userNamePart.length >= minPartsLength) {\n\t userNameParts.push(_.clone(userNamePart));\n\t }\n\t userNamePart = '';\n\t }\n\t });\n\t if (userNamePart.length >= minPartsLength) {\n\t userNameParts.push(_.clone(userNamePart));\n\t }\n\t return userNameParts.filter(Boolean);\n\t };\n\t\n\t var passwordContainsUserName = function passwordContainsUserName(username, password) {\n\t if (!username) {\n\t return false;\n\t }\n\t username = username.toLowerCase();\n\t password = password.toLowerCase();\n\t var usernameArr = getParts(username);\n\t //check if each username part contains password\n\t for (var i = 0; i < usernameArr.length; i++) {\n\t var usernamePart = usernameArr[i];\n\t if (password.indexOf(usernamePart) !== -1) {\n\t return true;\n\t }\n\t }\n\t return false;\n\t };\n\t\n\t var checkSubSchema = function checkSubSchema(subSchema, value, model) {\n\t var minLength = subSchema.get('minLength');\n\t var maxLength = subSchema.get('maxLength');\n\t var regex = subSchema.get('format');\n\t\n\t if (_.isNumber(minLength)) {\n\t if (value.length < minLength) {\n\t return false;\n\t }\n\t }\n\t\n\t if (_.isNumber(maxLength)) {\n\t if (value.length > maxLength) {\n\t return false;\n\t }\n\t }\n\t\n\t if (_.isString(regex)) {\n\t if (regex === '^[#/userName]') {\n\t // with email as login enabled, we only have email populated\n\t // Therefore we fallback and run validation with email attribute.\n\t var username = model.has('userName') ? model.get('userName') : model.get('email');\n\t var password = value;\n\t return !passwordContainsUserName(username, password);\n\t } else {\n\t if (!new RegExp(regex).test(value)) {\n\t return false;\n\t }\n\t }\n\t }\n\t\n\t return true;\n\t };\n\t\n\t var checkSubSchemas = function checkSubSchemas(fieldName, model, subSchemas, showError) {\n\t var value = model.get(fieldName);\n\t if (!_.isString(value)) {\n\t return;\n\t }\n\t\n\t subSchemas.each(function (subSchema, index) {\n\t var ele = Okta.$('#subschemas-' + fieldName + ' .subschema-' + index);\n\t //hide password complexity if no password\n\t if (value) {\n\t ele.children('p').removeClass('default-schema');\n\t } else {\n\t ele.children('p').addClass('default-schema');\n\t }\n\t ele.removeClass('subschema-satisfied subschema-unsatisfied subschema-error');\n\t if (checkSubSchema(subSchema, value, model)) {\n\t ele.addClass('subschema-satisfied');\n\t ele.find('p span').removeClass('error error-16-small');\n\t ele.find('p span').addClass('confirm-16');\n\t } else {\n\t if (showError) {\n\t ele.find('p span').removeClass('confirm-16');\n\t ele.find('p span').addClass('error error-16-small');\n\t ele.addClass('subschema-error subschema-unsatisfied');\n\t }\n\t }\n\t });\n\t };\n\t\n\t var fnCreateInputOptions = function fnCreateInputOptions(schemaProperty) {\n\t var inputOptions = SchemaFormFactory.createInputOptions(schemaProperty);\n\t if (inputOptions.type === 'select') {\n\t inputOptions = _.extend(inputOptions, {\n\t label: schemaProperty.get('title')\n\t });\n\t } else {\n\t var placeholder = schemaProperty.get('title');\n\t if (schemaProperty.get('required')) {\n\t placeholder += ' *';\n\t }\n\t inputOptions = _.extend(inputOptions, {\n\t label: false,\n\t 'label-top': true,\n\t placeholder: placeholder\n\t });\n\t }\n\t\n\t var fieldName = schemaProperty.get('name');\n\t switch (fieldName) {\n\t case 'userName':\n\t inputOptions.input = TextBox;\n\t inputOptions.params = {\n\t 'icon': 'person-16-gray'\n\t };\n\t break;\n\t case 'password':\n\t inputOptions.type = 'password';\n\t inputOptions.input = TextBox;\n\t inputOptions.params = {\n\t 'icon': 'remote-lock-16'\n\t };\n\t }\n\t\n\t var subSchemas = schemaProperty.get('subSchemas');\n\t if (subSchemas) {\n\t inputOptions.events = {\n\t 'input': function input() {\n\t checkSubSchemas(fieldName, this.model, subSchemas, true);\n\t },\n\t 'focusout': function focusout() {\n\t checkSubSchemas(fieldName, this.model, subSchemas, true);\n\t },\n\t 'change:userName': function changeUserName() {\n\t checkSubSchemas(fieldName, this.model, subSchemas, true);\n\t }\n\t };\n\t }\n\t\n\t return inputOptions;\n\t };\n\t\n\t return {\n\t createInputOptions: fnCreateInputOptions,\n\t getUsernameParts: getParts,\n\t passwordContainsUserName: passwordContainsUserName\n\t };\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 576 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta) {\n\t var SubSchema = Okta.View.extend({\n\t index: '',\n\t message: '',\n\t class: function _class() {\n\t return;\n\t },\n\t className: function className() {\n\t return 'subschema-unsatisfied subschema-' + this.index;\n\t },\n\t template: '\\\n\t

          \\\n\t \\\n\t {{message}}\\\n\t

          \\\n\t ',\n\t getTemplateData: function getTemplateData() {\n\t return {\n\t message: this.message\n\t };\n\t }\n\t });\n\t\n\t return Okta.View.extend({\n\t className: 'subschema',\n\t\n\t children: function children() {\n\t return this.subSchemas.map(function (subSchema, index) {\n\t var description = subSchema.get('description');\n\t // TODO API should send translated strings instead of i18n code inside description\n\t // or send param with i18n code\n\t var message = description;\n\t return SubSchema.extend({\n\t index: index,\n\t message: message\n\t });\n\t });\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 577 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(413), __webpack_require__(440), __webpack_require__(441)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, Enums, FormController, FormType) {\n\t\n\t return FormController.extend({\n\t events: {\n\t 'click .back-btn': function clickBackBtn(e) {\n\t e.preventDefault();\n\t this.back();\n\t }\n\t },\n\t back: function back() {\n\t this.state.set('navigateDir', Enums.DIRECTION_BACK);\n\t this.options.appState.trigger('navigate', '');\n\t },\n\t className: 'registration-complete',\n\t Model: function Model() {},\n\t initialize: function initialize() {\n\t this.settings.callGlobalSuccess(Enums.ACTIVATION_EMAIL_SENT, {\n\t username: this.options.appState.get('username')\n\t });\n\t },\n\t Form: {\n\t noButtonBar: true,\n\t formChildren: function formChildren() {\n\t return [FormType.View({\n\t View: Okta.View.extend({\n\t template: '\\\n\t \\\n\t

          {{title}}

          \\\n\t {{desc}}\\\n\t \\\n\t {{i18n code=\"goback\" bundle=\"login\"}}\\\n\t \\\n\t ',\n\t getTemplateData: function getTemplateData() {\n\t var email = this.options.appState.get('username');\n\t return {\n\t 'desc': Okta.loc('registration.complete.desc', 'login', [email]),\n\t 'title': Okta.loc('registration.complete.title', 'login')\n\t };\n\t }\n\t })\n\t })];\n\t }\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 578 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t/* eslint max-len: [2, 160] */\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(440), __webpack_require__(441), __webpack_require__(579)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, FormController, FormType, ScopeList) {\n\t\n\t var _ = Okta._;\n\t\n\t return FormController.extend({\n\t className: 'consent-required',\n\t initialize: function initialize() {\n\t this.model.set('expiresAt', this.options.appState.get('expiresAt'));\n\t this.model.set('scopes', this.options.appState.get('scopes'));\n\t this.listenTo(this.form, 'cancel', _.bind(this.model.cancel, this.model));\n\t },\n\t Model: {\n\t props: {\n\t expiresAt: ['string', true],\n\t scopes: ['array', true]\n\t },\n\t save: function save() {\n\t return this.doTransaction(function (transaction) {\n\t return transaction.consent({\n\t consent: {\n\t expiresAt: this.get('expiresAt'),\n\t scopes: _.pluck(this.get('scopes'), 'name')\n\t }\n\t });\n\t });\n\t },\n\t cancel: function cancel() {\n\t var self = this;\n\t return this.doTransaction(function (transaction) {\n\t return transaction.cancel();\n\t }).then(function () {\n\t var consentCancelFn = self.settings.get('consent.cancel');\n\t if (_.isFunction(consentCancelFn)) {\n\t consentCancelFn();\n\t }\n\t });\n\t }\n\t },\n\t Form: {\n\t noCancelButton: false,\n\t autoSave: true,\n\t save: Okta.loc('consent.required.consentButton', 'login'),\n\t cancel: Okta.loc('consent.required.cancelButton', 'login'),\n\t formChildren: function formChildren() {\n\t var appState = this.options.appState;\n\t return [FormType.View({\n\t View: Okta.View.extend({\n\t className: 'consent-title',\n\t template: '\\\n\t

          {{{i18n code=\"consent.required.text\" bundle=\"login\" arguments=\"appName;userConsentName\"}}}

          \\\n\t ',\n\t getTemplateData: function getTemplateData() {\n\t return {\n\t appName: appState.escape('targetLabel'),\n\t userConsentName: appState.escape('userConsentName')\n\t };\n\t }\n\t })\n\t }), FormType.View({\n\t View: new ScopeList({ model: this.model })\n\t }), FormType.View({\n\t View: Okta.View.extend({\n\t className: 'consent-description',\n\t template: '\\\n\t

          {{i18n code=\"consent.required.description\" bundle=\"login\"}}

          \\\n\t {{#if termsOfService}}\\\n\t {{i18n code=\"consent.required.termsOfService\" bundle=\"login\"}}\\\n\t {{#if privacyPolicy}}\\\n\t •\\\n\t {{/if}}\\\n\t {{/if}}\\\n\t {{#if privacyPolicy}}\\\n\t {{i18n code=\"consent.required.privacyPolicy\" bundle=\"login\"}}\\\n\t {{/if}}\\\n\t ',\n\t getTemplateData: function getTemplateData() {\n\t return {\n\t termsOfService: appState.get('targetTermsOfService') && appState.get('targetTermsOfService').href,\n\t privacyPolicy: appState.get('targetPrivacyPolicy') && appState.get('targetPrivacyPolicy').href\n\t };\n\t }\n\t })\n\t })];\n\t }\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 579 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(580)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, ScopeItem) {\n\t\n\t return Okta.View.extend({\n\t className: 'scope-list',\n\t template: '\\\n\t
          \\\n\t ',\n\t\n\t postRender: function postRender() {\n\t var _this = this;\n\t\n\t this.model.get('scopes').forEach(function (scope) {\n\t var item = new ScopeItem({\n\t name: scope.displayName || scope.name,\n\t description: scope.description\n\t });\n\t _this.$('.scope-list-wrapper').append(item.$el);\n\t });\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 580 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(412)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta) {\n\t\n\t return Okta.View.extend({\n\t className: 'scope-item',\n\t template: '\\\n\t
          \\\n\t

          {{name}}

          \\\n\t
          \\\n\t {{#if description}}\\\n\t \\\n\t {{/if}}\\\n\t ',\n\t\n\t initialize: function initialize() {\n\t this.render();\n\t },\n\t\n\t postRender: function postRender() {\n\t this.$('.scope-item-tooltip').qtip({\n\t content: {\n\t text: this.options.description\n\t },\n\t style: { classes: 'okta-sign-in-tooltip qtip-custom qtip-shadow' },\n\t position: {\n\t my: 'bottom right',\n\t target: 'mouse'\n\t }\n\t });\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 581 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t/* eslint complexity: [2, 8] */\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(406), __webpack_require__(445), __webpack_require__(582), __webpack_require__(450)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, Q, FactorUtil, FactorsDropDown, Factor) {\n\t\n\t var _ = Okta._;\n\t\n\t return Okta.View.extend({\n\t\n\t template: '\\\n\t
          \\\n\t
          \\\n\t
          \\\n\t
          \\\n\t \\\n\t
          \\\n\t
          \\\n\t ',\n\t\n\t events: {\n\t 'click .auth-beacon-factor': function clickAuthBeaconFactor(e) {\n\t e.preventDefault();\n\t e.stopPropagation();\n\t this.$('.dropdown .options').toggle();\n\t }\n\t },\n\t\n\t initialize: function initialize() {\n\t this.options.appState.set('beaconType', 'factor');\n\t },\n\t\n\t getTemplateData: function getTemplateData() {\n\t var factors = this.options.appState.get('factors'),\n\t factor,\n\t className;\n\t if (factors) {\n\t factor = factors.findWhere(_.pick(this.options, 'provider', 'factorType'));\n\t } else {\n\t factor = new Factor.Model(this.options.appState.get('factor'), this.toJSON());\n\t }\n\t className = factor.get('iconClassName');\n\t return { className: className || '' };\n\t },\n\t\n\t postRender: function postRender() {\n\t if (this.options.animate) {\n\t this.$('.auth-beacon-factor').fadeIn(200);\n\t }\n\t var appState = this.options.appState;\n\t if (appState.get('hasMultipleFactorsAvailable')) {\n\t this.add(FactorsDropDown, '[data-type=\"factor-types-dropdown\"]');\n\t }\n\t },\n\t\n\t fadeOut: function fadeOut() {\n\t var deferred = Q.defer();\n\t this.$('.auth-beacon-factor').fadeOut(200, function () {\n\t deferred.resolve();\n\t });\n\t return deferred.promise;\n\t },\n\t\n\t equals: function equals(Beacon, options) {\n\t 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\t }\n\t\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 582 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(583)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, FactorsDropDownOptions) {\n\t var _ = Okta._,\n\t $ = Okta.$;\n\t var BaseDropDown = Okta.internal.views.components.BaseDropDown;\n\t\n\t\n\t $(document).click(function (e) {\n\t var $target = $(e.target);\n\t var isDropdown = $target.closest('.option-selected').length > 0 && $target.closest('.dropdown').length > 0;\n\t if (!isDropdown) {\n\t $('.dropdown .options').hide();\n\t }\n\t });\n\t\n\t return BaseDropDown.extend({\n\t className: 'bg-helper icon-button',\n\t events: {\n\t 'click a.option-selected': function clickAOptionSelected(e) {\n\t e.preventDefault();\n\t if (_.result(this, 'disabled')) {\n\t e.stopPropagation();\n\t } else {\n\t this.$('.options').toggle();\n\t }\n\t },\n\t 'click .dropdown-disabled': function clickDropdownDisabled(e) {\n\t e.preventDefault();\n\t e.stopPropagation();\n\t }\n\t },\n\t initialize: function initialize() {\n\t this.addOption(FactorsDropDownOptions.getDropdownOption('TITLE'));\n\t this.options.appState.get('factors').each(function (factor) {\n\t this.addOption(FactorsDropDownOptions.getDropdownOption(factor.get('factorName')), { model: factor });\n\t this.listenTo(this.last(), 'options:toggle', function () {\n\t this.$('.options').hide();\n\t });\n\t }, this);\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 583 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t/* eslint max-statements: [2, 16], complexity: [2, 10] */\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331), __webpack_require__(483)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta, RouterUtil) {\n\t\n\t var _ = Okta._;\n\t\n\t var _action = function _action(model) {\n\t var url = RouterUtil.createVerifyUrl(model.get('provider'), model.get('factorType')),\n\t self = this;\n\t this.options.appState.trigger('factorSwitched');\n\t this.model.manageTransaction(function (transaction, setTransaction) {\n\t if (transaction.status === 'MFA_CHALLENGE' && transaction.prev) {\n\t this.options.appState.set('trapMfaRequiredResponse', true);\n\t return transaction.prev().then(function (trans) {\n\t self.trigger('options:toggle');\n\t setTransaction(trans);\n\t self.options.appState.trigger('navigate', url);\n\t });\n\t } else {\n\t self.trigger('options:toggle');\n\t self.options.appState.trigger('navigate', url);\n\t }\n\t });\n\t };\n\t\n\t var dropdownOptions = {\n\t 'TITLE': {\n\t title: _.partial(Okta.loc, 'mfa.factors.dropdown.title', 'login'),\n\t className: 'dropdown-list-title'\n\t },\n\t\n\t 'OKTA_VERIFY': {\n\t icon: 'factor-icon mfa-okta-verify-30',\n\t title: function title() {\n\t return this.model.get('factorLabel');\n\t },\n\t action: function action() {\n\t _action.call(this, this.model);\n\t }\n\t },\n\t\n\t 'OKTA_VERIFY_PUSH': {\n\t icon: 'factor-icon mfa-okta-verify-30',\n\t title: function title() {\n\t return this.model.get('factorLabel');\n\t },\n\t action: function action() {\n\t _action.call(this, this.model);\n\t }\n\t },\n\t\n\t 'GOOGLE_AUTH': {\n\t icon: 'factor-icon mfa-google-auth-30',\n\t title: function title() {\n\t return this.model.get('factorLabel');\n\t },\n\t action: function action() {\n\t _action.call(this, this.model);\n\t }\n\t },\n\t\n\t 'SYMANTEC_VIP': {\n\t icon: 'factor-icon mfa-symantec-30',\n\t title: function title() {\n\t return this.model.get('factorLabel');\n\t },\n\t action: function action() {\n\t _action.call(this, this.model);\n\t }\n\t },\n\t\n\t 'RSA_SECURID': {\n\t icon: 'factor-icon mfa-rsa-30',\n\t title: _.partial(Okta.loc, 'factor.totpHard.rsaSecurId', 'login'),\n\t action: function action() {\n\t _action.call(this, this.model);\n\t }\n\t },\n\t\n\t 'ON_PREM': {\n\t icon: 'factor-icon mfa-onprem-30',\n\t title: function title() {\n\t return this.model.get('factorLabel');\n\t },\n\t action: function action() {\n\t _action.call(this, this.model);\n\t }\n\t },\n\t\n\t 'DUO': {\n\t icon: 'factor-icon mfa-duo-30',\n\t title: function title() {\n\t return this.model.get('factorLabel');\n\t },\n\t action: function action() {\n\t _action.call(this, this.model);\n\t }\n\t },\n\t\n\t 'DUO_PUSH': {\n\t icon: 'duo-push-16',\n\t className: 'suboption',\n\t // TODO: add phone number here\n\t title: _.partial(Okta.loc, 'mfa.duoSecurity.push', 'login', ['XXX-XXX-7890'])\n\t },\n\t\n\t 'DUO_SMS': {\n\t icon: 'duo-sms-16',\n\t className: 'suboption',\n\t // TODO: add phone number here\n\t title: _.partial(Okta.loc, 'mfa.duoSecurity.sms', 'login', ['XXX-XXX-7890'])\n\t },\n\t\n\t 'DUO_CALL': {\n\t icon: 'duo-call-16',\n\t className: 'suboption',\n\t // TODO: add phone number here\n\t title: _.partial(Okta.loc, 'mfa.duoSecurity.call', 'login', ['XXX-XXX-7890'])\n\t },\n\t\n\t 'YUBIKEY': {\n\t icon: 'factor-icon mfa-yubikey-30',\n\t title: function title() {\n\t return this.model.get('factorLabel');\n\t },\n\t action: function action() {\n\t _action.call(this, this.model);\n\t }\n\t },\n\t\n\t 'SMS': {\n\t icon: 'factor-icon mfa-sms-30',\n\t title: function title() {\n\t return this.model.get('factorLabel');\n\t },\n\t action: function action() {\n\t _action.call(this, this.model);\n\t }\n\t },\n\t\n\t 'CALL': {\n\t icon: 'factor-icon mfa-call-30',\n\t title: function title() {\n\t return this.model.get('factorLabel');\n\t },\n\t action: function action() {\n\t _action.call(this, this.model);\n\t }\n\t },\n\t\n\t 'QUESTION': {\n\t icon: 'factor-icon mfa-question-30',\n\t title: function title() {\n\t return this.model.get('factorLabel');\n\t },\n\t action: function action() {\n\t _action.call(this, this.model);\n\t }\n\t },\n\t\n\t 'PASSWORD': {\n\t icon: 'factor-icon mfa-password-30',\n\t title: function title() {\n\t return this.model.get('factorLabel');\n\t },\n\t action: function action() {\n\t _action.call(this, this.model);\n\t }\n\t },\n\t\n\t 'WINDOWS_HELLO': {\n\t icon: 'factor-icon mfa-windows-hello-30',\n\t title: function title() {\n\t return this.model.get('factorLabel');\n\t },\n\t action: function action() {\n\t _action.call(this, this.model);\n\t }\n\t },\n\t\n\t 'U2F': {\n\t icon: 'factor-icon mfa-u2f-30',\n\t title: function title() {\n\t return this.model.get('factorLabel');\n\t },\n\t action: function action() {\n\t _action.call(this, this.model);\n\t }\n\t },\n\t\n\t 'EMAIL': {\n\t icon: 'factor-icon mfa-email-30',\n\t title: function title() {\n\t return this.model.get('factorLabel');\n\t },\n\t action: function action() {\n\t _action.call(this, this.model);\n\t }\n\t },\n\t\n\t 'GENERIC_SAML': {\n\t icon: 'factor-icon mfa-custom-factor-30',\n\t title: function title() {\n\t return this.model.get('factorLabel');\n\t },\n\t action: function action() {\n\t _action.call(this, this.model);\n\t }\n\t },\n\t\n\t 'GENERIC_OIDC': {\n\t icon: 'factor-icon mfa-custom-factor-30',\n\t title: function title() {\n\t return this.model.get('factorLabel');\n\t },\n\t action: function action() {\n\t _action.call(this, this.model);\n\t }\n\t }\n\t };\n\t\n\t return {\n\t getDropdownOption: function getDropdownOption(factorName) {\n\t return dropdownOptions[factorName];\n\t }\n\t };\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 584 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/*!\n\t * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(331)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Okta) {\n\t\n\t return Okta.View.extend({\n\t\n\t className: 'consent-beacon',\n\t template: '\\\n\t
          \\\n\t
          \\\n\t
          \\\n\t
          \\\n\t
          \\\n\t
          \\\n\t \\\n\t
          \\\n\t
          \\\n\t \\\n\t
          \\\n\t
          \\\n\t
          \\\n\t {{#if clientURI}}\\\n\t \\\n\t {{/if}}\\\n\t
          \\\n\t {{#if clientURI}}\\\n\t \\\n\t {{/if}}\\\n\t {{#if customLogo}}\\\n\t \\\n\t {{else}}\\\n\t \\\n\t {{/if}}\\\n\t
          \\\n\t ',\n\t\n\t getTemplateData: function getTemplateData() {\n\t return {\n\t customLogo: this.options.appState.get('targetLogo') && this.options.appState.get('targetLogo').href,\n\t defaultLogo: this.options.appState.get('defaultAppLogo'),\n\t clientURI: this.options.appState.get('targetClientURI') && this.options.appState.get('targetClientURI').href\n\t };\n\t },\n\t\n\t equals: function equals(Beacon) {\n\t return Beacon && this instanceof Beacon;\n\t }\n\t\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }\n/******/ ])\n});\n;\n\n\n/** WEBPACK FOOTER **\n ** okta-sign-in.min.js\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/** WEBPACK FOOTER **\n ** webpack/bootstrap 3d9558e8dc3144af2c12\n **/","\"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 ** ./~/babel-polyfill/lib/index.js\n ** module id = 1\n ** module chunks = 0\n **/","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.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 ** ./~/core-js/shim.js\n ** module id = 2\n ** module chunks = 0\n **/","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar 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 $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';\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 require('./_object-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// 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 ** ./~/core-js/modules/es6.symbol.js\n ** module id = 3\n ** module chunks = 0\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/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_global.js\n ** module id = 4\n ** module chunks = 0\n **/","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_has.js\n ** module id = 5\n ** module chunks = 0\n **/","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_descriptors.js\n ** module id = 6\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/_fails.js\n ** module id = 7\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/_export.js\n ** module id = 8\n ** module chunks = 0\n **/","var core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_core.js\n ** module id = 9\n ** module chunks = 0\n **/","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_hide.js\n ** module id = 10\n ** module chunks = 0\n **/","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_object-dp.js\n ** module id = 11\n ** module chunks = 0\n **/","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_an-object.js\n ** module id = 12\n ** module chunks = 0\n **/","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_is-object.js\n ** module id = 13\n ** module chunks = 0\n **/","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_ie8-dom-define.js\n ** module id = 14\n ** module chunks = 0\n **/","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_dom-create.js\n ** module id = 15\n ** module chunks = 0\n **/","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_to-primitive.js\n ** module id = 16\n ** module chunks = 0\n **/","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_property-desc.js\n ** module id = 17\n ** module chunks = 0\n **/","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar TO_STRING = 'toString';\nvar $toString = Function[TO_STRING];\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 ** ./~/core-js/modules/_redefine.js\n ** module id = 18\n ** module chunks = 0\n **/","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_uid.js\n ** module id = 19\n ** module chunks = 0\n **/","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_ctx.js\n ** module id = 20\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/_a-function.js\n ** module id = 21\n ** module chunks = 0\n **/","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_meta.js\n ** module id = 22\n ** module chunks = 0\n **/","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2018 Denis Pushkarev (zloirock.ru)'\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_shared.js\n ** module id = 23\n ** module chunks = 0\n **/","module.exports = false;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_library.js\n ** module id = 24\n ** module chunks = 0\n **/","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_set-to-string-tag.js\n ** module id = 25\n ** module chunks = 0\n **/","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_wks.js\n ** module id = 26\n ** module chunks = 0\n **/","exports.f = require('./_wks');\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_wks-ext.js\n ** module id = 27\n ** module chunks = 0\n **/","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_wks-define.js\n ** module id = 28\n ** module chunks = 0\n **/","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_enum-keys.js\n ** module id = 29\n ** module chunks = 0\n **/","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_object-keys.js\n ** module id = 30\n ** module chunks = 0\n **/","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_object-keys-internal.js\n ** module id = 31\n ** module chunks = 0\n **/","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_to-iobject.js\n ** module id = 32\n ** module chunks = 0\n **/","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_iobject.js\n ** module id = 33\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/_cof.js\n ** module id = 34\n ** module chunks = 0\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/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_defined.js\n ** module id = 35\n ** module chunks = 0\n **/","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_array-includes.js\n ** module id = 36\n ** module chunks = 0\n **/","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_to-length.js\n ** module id = 37\n ** module chunks = 0\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/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_to-integer.js\n ** module id = 38\n ** module chunks = 0\n **/","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_to-absolute-index.js\n ** module id = 39\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/_shared-key.js\n ** module id = 40\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/_enum-bug-keys.js\n ** module id = 41\n ** module chunks = 0\n **/","exports.f = Object.getOwnPropertySymbols;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_object-gops.js\n ** module id = 42\n ** module chunks = 0\n **/","exports.f = {}.propertyIsEnumerable;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_object-pie.js\n ** module id = 43\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/_is-array.js\n ** module id = 44\n ** module chunks = 0\n **/","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_object-create.js\n ** module id = 45\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/_object-dps.js\n ** module id = 46\n ** module chunks = 0\n **/","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_html.js\n ** module id = 47\n ** module chunks = 0\n **/","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_object-gopn-ext.js\n ** module id = 48\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/_object-gopn.js\n ** module id = 49\n ** module chunks = 0\n **/","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_object-gopd.js\n ** module id = 50\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/es6.object.create.js\n ** module id = 51\n ** module chunks = 0\n **/","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.object.define-property.js\n ** module id = 52\n ** module chunks = 0\n **/","var $export = require('./_export');\n// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperties: require('./_object-dps') });\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.object.define-properties.js\n ** module id = 53\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.object.get-own-property-descriptor.js\n ** module id = 54\n ** module chunks = 0\n **/","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_object-sap.js\n ** module id = 55\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.object.get-prototype-of.js\n ** module id = 56\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/_to-object.js\n ** module id = 57\n ** module chunks = 0\n **/","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_object-gpo.js\n ** module id = 58\n ** module chunks = 0\n **/","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.object.keys.js\n ** module id = 59\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.object.get-own-property-names.js\n ** module id = 60\n ** module chunks = 0\n **/","// 19.1.2.5 Object.freeze(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('freeze', function ($freeze) {\n return function freeze(it) {\n return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n };\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.object.freeze.js\n ** module id = 61\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.object.seal.js\n ** module id = 62\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.object.prevent-extensions.js\n ** module id = 63\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.object.is-frozen.js\n ** module id = 64\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.object.is-sealed.js\n ** module id = 65\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.object.is-extensible.js\n ** module id = 66\n ** module chunks = 0\n **/","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.object.assign.js\n ** module id = 67\n ** module chunks = 0\n **/","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\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) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_object-assign.js\n ** module id = 68\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.object.is.js\n ** module id = 69\n ** module chunks = 0\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/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_same-value.js\n ** module id = 70\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.object.set-prototype-of.js\n ** module id = 71\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/_set-proto.js\n ** module id = 72\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es6.object.to-string.js\n ** module id = 73\n ** module chunks = 0\n **/","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_classof.js\n ** module id = 74\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.function.bind.js\n ** module id = 75\n ** module chunks = 0\n **/","'use strict';\nvar aFunction = require('./_a-function');\nvar isObject = require('./_is-object');\nvar invoke = require('./_invoke');\nvar arraySlice = [].slice;\nvar factories = {};\n\nvar construct = function (F, len, args) {\n if (!(len in factories)) {\n for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = arraySlice.call(arguments, 1);\n var bound = function (/* args... */) {\n var args = partArgs.concat(arraySlice.call(arguments));\n return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n };\n if (isObject(fn.prototype)) bound.prototype = fn.prototype;\n return bound;\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_bind.js\n ** module id = 76\n ** module chunks = 0\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/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_invoke.js\n ** module id = 77\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/es6.function.name.js\n ** module id = 78\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es6.function.has-instance.js\n ** module id = 79\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/es6.parse-int.js\n ** module id = 80\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/_parse-int.js\n ** module id = 81\n ** module chunks = 0\n **/","var $export = require('./_export');\nvar defined = require('./_defined');\nvar fails = require('./_fails');\nvar spaces = require('./_string-ws');\nvar space = '[' + spaces + ']';\nvar non = '\\u200b\\u0085';\nvar ltrim = RegExp('^' + space + space + '*');\nvar rtrim = RegExp(space + space + '*$');\n\nvar exporter = function (KEY, exec, ALIAS) {\n var exp = {};\n var FORCE = fails(function () {\n return !!spaces[KEY]() || non[KEY]() != non;\n });\n var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n if (ALIAS) exp[ALIAS] = fn;\n $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function (string, TYPE) {\n string = String(defined(string));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n};\n\nmodule.exports = exporter;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_string-trim.js\n ** module id = 82\n ** module chunks = 0\n **/","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_string-ws.js\n ** module id = 83\n ** module chunks = 0\n **/","var $export = require('./_export');\nvar $parseFloat = require('./_parse-float');\n// 18.2.4 parseFloat(string)\n$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat });\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.parse-float.js\n ** module id = 84\n ** module chunks = 0\n **/","var $parseFloat = require('./_global').parseFloat;\nvar $trim = require('./_string-trim').trim;\n\nmodule.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str) {\n var string = $trim(String(str), 3);\n var result = $parseFloat(string);\n return result === 0 && string.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_parse-float.js\n ** module id = 85\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es6.number.constructor.js\n ** module id = 86\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/_inherit-if-required.js\n ** module id = 87\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es6.number.to-fixed.js\n ** module id = 88\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/_a-number-value.js\n ** module id = 89\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/_string-repeat.js\n ** module id = 90\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es6.number.to-precision.js\n ** module id = 91\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.number.epsilon.js\n ** module id = 92\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.number.is-finite.js\n ** module id = 93\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.number.is-integer.js\n ** module id = 94\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/_is-integer.js\n ** module id = 95\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.number.is-nan.js\n ** module id = 96\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.number.is-safe-integer.js\n ** module id = 97\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.number.max-safe-integer.js\n ** module id = 98\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.number.min-safe-integer.js\n ** module id = 99\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/es6.number.parse-float.js\n ** module id = 100\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/es6.number.parse-int.js\n ** module id = 101\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.math.acosh.js\n ** module id = 102\n ** module chunks = 0\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/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_math-log1p.js\n ** module id = 103\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.math.asinh.js\n ** module id = 104\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.math.atanh.js\n ** module id = 105\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.math.cbrt.js\n ** module id = 106\n ** module chunks = 0\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/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_math-sign.js\n ** module id = 107\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.math.clz32.js\n ** module id = 108\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.math.cosh.js\n ** module id = 109\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.math.expm1.js\n ** module id = 110\n ** module chunks = 0\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/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_math-expm1.js\n ** module id = 111\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.math.fround.js\n ** module id = 112\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/_math-fround.js\n ** module id = 113\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.math.hypot.js\n ** module id = 114\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.math.imul.js\n ** module id = 115\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.math.log10.js\n ** module id = 116\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.math.log1p.js\n ** module id = 117\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.math.log2.js\n ** module id = 118\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.math.sign.js\n ** module id = 119\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.math.sinh.js\n ** module id = 120\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.math.tanh.js\n ** module id = 121\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.math.trunc.js\n ** module id = 122\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/es6.string.from-code-point.js\n ** module id = 123\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/es6.string.raw.js\n ** module id = 124\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es6.string.trim.js\n ** module id = 125\n ** module chunks = 0\n **/","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.string.iterator.js\n ** module id = 126\n ** module chunks = 0\n **/","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_string-at.js\n ** module id = 127\n ** module chunks = 0\n **/","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_iter-define.js\n ** module id = 128\n ** module chunks = 0\n **/","module.exports = {};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_iterators.js\n ** module id = 129\n ** module chunks = 0\n **/","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_iter-create.js\n ** module id = 130\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es6.string.code-point-at.js\n ** module id = 131\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.string.ends-with.js\n ** module id = 132\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/_string-context.js\n ** module id = 133\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/_is-regexp.js\n ** module id = 134\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/_fails-is-regexp.js\n ** module id = 135\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.string.includes.js\n ** module id = 136\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/es6.string.repeat.js\n ** module id = 137\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.string.starts-with.js\n ** module id = 138\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es6.string.anchor.js\n ** module id = 139\n ** module chunks = 0\n **/","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 + '';\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 ** ./~/core-js/modules/_string-html.js\n ** module id = 140\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es6.string.big.js\n ** module id = 141\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es6.string.blink.js\n ** module id = 142\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es6.string.bold.js\n ** module id = 143\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es6.string.fixed.js\n ** module id = 144\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es6.string.fontcolor.js\n ** module id = 145\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es6.string.fontsize.js\n ** module id = 146\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es6.string.italics.js\n ** module id = 147\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es6.string.link.js\n ** module id = 148\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es6.string.small.js\n ** module id = 149\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es6.string.strike.js\n ** module id = 150\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es6.string.sub.js\n ** module id = 151\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es6.string.sup.js\n ** module id = 152\n ** module chunks = 0\n **/","// 20.3.3.1 / 15.9.4.4 Date.now()\nvar $export = require('./_export');\n\n$export($export.S, 'Date', { now: function () { return new Date().getTime(); } });\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.date.now.js\n ** module id = 153\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es6.date.to-json.js\n ** module id = 154\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.date.to-iso-string.js\n ** module id = 155\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/_date-to-iso-string.js\n ** module id = 156\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/es6.date.to-string.js\n ** module id = 157\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/es6.date.to-primitive.js\n ** module id = 158\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/_date-to-primitive.js\n ** module id = 159\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.array.is-array.js\n ** module id = 160\n ** module chunks = 0\n **/","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.array.from.js\n ** module id = 161\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/_iter-call.js\n ** module id = 162\n ** module chunks = 0\n **/","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_is-array-iter.js\n ** module id = 163\n ** module chunks = 0\n **/","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_create-property.js\n ** module id = 164\n ** module chunks = 0\n **/","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/core.get-iterator-method.js\n ** module id = 165\n ** module chunks = 0\n **/","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_iter-detect.js\n ** module id = 166\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es6.array.of.js\n ** module id = 167\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es6.array.join.js\n ** module id = 168\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/_strict-method.js\n ** module id = 169\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es6.array.slice.js\n ** module id = 170\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es6.array.sort.js\n ** module id = 171\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es6.array.for-each.js\n ** module id = 172\n ** module chunks = 0\n **/","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_array-methods.js\n ** module id = 173\n ** module chunks = 0\n **/","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_array-species-create.js\n ** module id = 174\n ** module chunks = 0\n **/","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_array-species-constructor.js\n ** module id = 175\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es6.array.map.js\n ** module id = 176\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es6.array.filter.js\n ** module id = 177\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es6.array.some.js\n ** module id = 178\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es6.array.every.js\n ** module id = 179\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es6.array.reduce.js\n ** module id = 180\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/_array-reduce.js\n ** module id = 181\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es6.array.reduce-right.js\n ** module id = 182\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es6.array.index-of.js\n ** module id = 183\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es6.array.last-index-of.js\n ** module id = 184\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.array.copy-within.js\n ** module id = 185\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/_array-copy-within.js\n ** module id = 186\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/_add-to-unscopables.js\n ** module id = 187\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.array.fill.js\n ** module id = 188\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/_array-fill.js\n ** module id = 189\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es6.array.find.js\n ** module id = 190\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es6.array.find-index.js\n ** module id = 191\n ** module chunks = 0\n **/","require('./_set-species')('Array');\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.array.species.js\n ** module id = 192\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/_set-species.js\n ** module id = 193\n ** module chunks = 0\n **/","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.array.iterator.js\n ** module id = 194\n ** module chunks = 0\n **/","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_iter-step.js\n ** module id = 195\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/es6.regexp.constructor.js\n ** module id = 196\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/_flags.js\n ** module id = 197\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es6.regexp.to-string.js\n ** module id = 198\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.regexp.flags.js\n ** module id = 199\n ** module chunks = 0\n **/","// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match) {\n // 21.1.3.11 String.prototype.match(regexp)\n return [function match(regexp) {\n 'use strict';\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 }, $match];\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.regexp.match.js\n ** module id = 200\n ** module chunks = 0\n **/","'use strict';\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar wks = require('./_wks');\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n var fns = exec(defined, SYMBOL, ''[KEY]);\n var strfn = fns[0];\n var rxfn = fns[1];\n if (fails(function () {\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\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 ** ./~/core-js/modules/_fix-re-wks.js\n ** module id = 201\n ** module chunks = 0\n **/","// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function (defined, REPLACE, $replace) {\n // 21.1.3.14 String.prototype.replace(searchValue, replaceValue)\n return [function replace(searchValue, replaceValue) {\n 'use strict';\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 }, $replace];\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.regexp.replace.js\n ** module id = 202\n ** module chunks = 0\n **/","// @@search logic\nrequire('./_fix-re-wks')('search', 1, function (defined, SEARCH, $search) {\n // 21.1.3.15 String.prototype.search(regexp)\n return [function search(regexp) {\n 'use strict';\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 }, $search];\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.regexp.search.js\n ** module id = 203\n ** module chunks = 0\n **/","// @@split logic\nrequire('./_fix-re-wks')('split', 2, function (defined, SPLIT, $split) {\n 'use strict';\n var isRegExp = require('./_is-regexp');\n var _split = $split;\n var $push = [].push;\n var $SPLIT = 'split';\n var LENGTH = 'length';\n var LAST_INDEX = 'lastIndex';\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 var NPCG = /()??/.exec('')[1] === undefined; // nonparticipating capturing group\n // based on es5-shim implementation, need to rework it\n $split = 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 ? 4294967295 : 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 separator2, match, lastIndex, lastLength, i;\n // Doesn't need flags gy, but they don't hurt\n if (!NPCG) separator2 = new RegExp('^' + separatorCopy.source + '$(?!\\\\s)', flags);\n while (match = separatorCopy.exec(string)) {\n // `separatorCopy.lastIndex` is not reliable cross-browser\n lastIndex = match.index + match[0][LENGTH];\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n // Fix browsers whose `exec` methods don't consistently return `undefined` for NPCG\n // eslint-disable-next-line no-loop-func\n if (!NPCG && match[LENGTH] > 1) match[0].replace(separator2, function () {\n for (i = 1; i < arguments[LENGTH] - 2; i++) if (arguments[i] === undefined) match[i] = undefined;\n });\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 $split = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : _split.call(this, separator, limit);\n };\n }\n // 21.1.3.17 String.prototype.split(separator, limit)\n return [function split(separator, limit) {\n var O = defined(this);\n var fn = separator == undefined ? undefined : separator[SPLIT];\n return fn !== undefined ? fn.call(separator, O, limit) : $split.call(String(O), separator, limit);\n }, $split];\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.regexp.split.js\n ** module id = 204\n ** module chunks = 0\n **/","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar userAgent = require('./_user-agent');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function')\n && promise.then(empty) instanceof FakePromise\n // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // we can't detect it synchronously, so just check versions\n && v8.indexOf('6.6') !== 0\n && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.promise.js\n ** module id = 205\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/_an-instance.js\n ** module id = 206\n ** module chunks = 0\n **/","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_for-of.js\n ** module id = 207\n ** module chunks = 0\n **/","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_species-constructor.js\n ** module id = 208\n ** module chunks = 0\n **/","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_task.js\n ** module id = 209\n ** module chunks = 0\n **/","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n var promise = Promise.resolve(undefined);\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_microtask.js\n ** module id = 210\n ** module chunks = 0\n **/","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_new-promise-capability.js\n ** module id = 211\n ** module chunks = 0\n **/","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_perform.js\n ** module id = 212\n ** module chunks = 0\n **/","var global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_user-agent.js\n ** module id = 213\n ** module chunks = 0\n **/","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_promise-resolve.js\n ** module id = 214\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/_redefine-all.js\n ** module id = 215\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es6.map.js\n ** module id = 216\n ** module chunks = 0\n **/","'use strict';\nvar dP = require('./_object-dp').f;\nvar create = require('./_object-create');\nvar redefineAll = require('./_redefine-all');\nvar ctx = require('./_ctx');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar $iterDefine = require('./_iter-define');\nvar step = require('./_iter-step');\nvar setSpecies = require('./_set-species');\nvar DESCRIPTORS = require('./_descriptors');\nvar fastKey = require('./_meta').fastKey;\nvar validate = require('./_validate-collection');\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return that._i[index];\n // frozen object case\n for (entry = that._f; entry; entry = entry.n) {\n if (entry.k == key) return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n entry.r = true;\n if (entry.p) entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if (prev) prev.n = next;\n if (next) next.p = prev;\n if (that._f == entry) that._f = next;\n if (that._l == entry) that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.n : this._f) {\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var prev, index;\n // change existing entry\n if (entry) {\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if (!that._f) that._f = entry;\n if (prev) prev.n = entry;\n that[SIZE]++;\n // add to index\n if (index !== 'F') that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function (C, NAME, IS_MAP) {\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function (iterated, kind) {\n this._t = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var entry = that._l;\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n // get next entry\n if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if (kind == 'keys') return step(0, entry.k);\n if (kind == 'values') return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_collection-strong.js\n ** module id = 217\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/_validate-collection.js\n ** module id = 218\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/_collection.js\n ** module id = 219\n ** module chunks = 0\n **/","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar SET = 'Set';\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')(SET, function (get) {\n return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);\n }\n}, strong);\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.set.js\n ** module id = 220\n ** module chunks = 0\n **/","'use strict';\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 fails = require('./_fails');\nvar validate = require('./_validate-collection');\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar tmp = {};\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 (fails(function () { return new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7; })) {\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 ** ./~/core-js/modules/es6.weak-map.js\n ** module id = 221\n ** module chunks = 0\n **/","'use strict';\nvar redefineAll = require('./_redefine-all');\nvar getWeak = require('./_meta').getWeak;\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar createArrayMethod = require('./_array-methods');\nvar $has = require('./_has');\nvar validate = require('./_validate-collection');\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (that) {\n return that._l || (that._l = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.a = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return arrayFind(store.a, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function (key) {\n var index = arrayFindIndex(this.a, function (it) {\n return it[0] === key;\n });\n if (~index) this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function (key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var data = getWeak(anObject(key), true);\n if (data === true) uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_collection-weak.js\n ** module id = 222\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es6.weak-set.js\n ** module id = 223\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es6.typed.array-buffer.js\n ** module id = 224\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/_typed.js\n ** module id = 225\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/_typed-buffer.js\n ** module id = 226\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/_to-index.js\n ** module id = 227\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/es6.typed.data-view.js\n ** module id = 228\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/es6.typed.int8-array.js\n ** module id = 229\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/_typed-array.js\n ** module id = 230\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/es6.typed.uint8-array.js\n ** module id = 231\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/es6.typed.uint8-clamped-array.js\n ** module id = 232\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/es6.typed.int16-array.js\n ** module id = 233\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/es6.typed.uint16-array.js\n ** module id = 234\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/es6.typed.int32-array.js\n ** module id = 235\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/es6.typed.uint32-array.js\n ** module id = 236\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/es6.typed.float32-array.js\n ** module id = 237\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/es6.typed.float64-array.js\n ** module id = 238\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.reflect.apply.js\n ** module id = 239\n ** module chunks = 0\n **/","// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export = require('./_export');\nvar create = require('./_object-create');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar bind = require('./_bind');\nvar rConstruct = (require('./_global').Reflect || {}).construct;\n\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(rConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n rConstruct(function () { /* empty */ });\n});\n\n$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\n construct: function construct(Target, args /* , newTarget */) {\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.reflect.construct.js\n ** module id = 240\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.reflect.define-property.js\n ** module id = 241\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.reflect.delete-property.js\n ** module id = 242\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es6.reflect.enumerate.js\n ** module id = 243\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.reflect.get.js\n ** module id = 244\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.reflect.get-own-property-descriptor.js\n ** module id = 245\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.reflect.get-prototype-of.js\n ** module id = 246\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.reflect.has.js\n ** module id = 247\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.reflect.is-extensible.js\n ** module id = 248\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.reflect.own-keys.js\n ** module id = 249\n ** module chunks = 0\n **/","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn');\nvar gOPS = require('./_object-gops');\nvar anObject = require('./_an-object');\nvar Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {\n var keys = gOPN.f(anObject(it));\n var getSymbols = gOPS.f;\n return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_own-keys.js\n ** module id = 250\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.reflect.prevent-extensions.js\n ** module id = 251\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.reflect.set.js\n ** module id = 252\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es6.reflect.set-prototype-of.js\n ** module id = 253\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es7.array.includes.js\n ** module id = 254\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es7.array.flat-map.js\n ** module id = 255\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/_flatten-into-array.js\n ** module id = 256\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es7.array.flatten.js\n ** module id = 257\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es7.string.at.js\n ** module id = 258\n ** module chunks = 0\n **/","'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\n$export($export.P + $export.F * /Version\\/10\\.\\d+(\\.\\d+)? Safari\\//.test(userAgent), '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 ** ./~/core-js/modules/es7.string.pad-start.js\n ** module id = 259\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/_string-pad.js\n ** module id = 260\n ** module chunks = 0\n **/","'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\n$export($export.P + $export.F * /Version\\/10\\.\\d+(\\.\\d+)? Safari\\//.test(userAgent), '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 ** ./~/core-js/modules/es7.string.pad-end.js\n ** module id = 261\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es7.string.trim-left.js\n ** module id = 262\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es7.string.trim-right.js\n ** module id = 263\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es7.string.match-all.js\n ** module id = 264\n ** module chunks = 0\n **/","require('./_wks-define')('asyncIterator');\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.symbol.async-iterator.js\n ** module id = 265\n ** module chunks = 0\n **/","require('./_wks-define')('observable');\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.symbol.observable.js\n ** module id = 266\n ** module chunks = 0\n **/","// https://github.com/tc39/proposal-object-getownpropertydescriptors\nvar $export = require('./_export');\nvar ownKeys = require('./_own-keys');\nvar toIObject = require('./_to-iobject');\nvar gOPD = require('./_object-gopd');\nvar createProperty = require('./_create-property');\n\n$export($export.S, 'Object', {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIObject(object);\n var getDesc = gOPD.f;\n var keys = ownKeys(O);\n var result = {};\n var i = 0;\n var key, desc;\n while (keys.length > i) {\n desc = getDesc(O, key = keys[i++]);\n if (desc !== undefined) createProperty(result, key, desc);\n }\n return result;\n }\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.object.get-own-property-descriptors.js\n ** module id = 267\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es7.object.values.js\n ** module id = 268\n ** module chunks = 0\n **/","var 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) if (isEnum.call(O, key = keys[i++])) {\n result.push(isEntries ? [key, O[key]] : O[key]);\n } return result;\n };\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_object-to-array.js\n ** module id = 269\n ** module chunks = 0\n **/","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $entries = require('./_object-to-array')(true);\n\n$export($export.S, 'Object', {\n entries: function entries(it) {\n return $entries(it);\n }\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.object.entries.js\n ** module id = 270\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es7.object.define-getter.js\n ** module id = 271\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/_object-forced-pam.js\n ** module id = 272\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es7.object.define-setter.js\n ** module id = 273\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es7.object.lookup-getter.js\n ** module id = 274\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es7.object.lookup-setter.js\n ** module id = 275\n ** module chunks = 0\n **/","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = require('./_export');\n\n$export($export.P + $export.R, 'Map', { toJSON: require('./_collection-to-json')('Map') });\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.map.to-json.js\n ** module id = 276\n ** module chunks = 0\n **/","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar classof = require('./_classof');\nvar from = require('./_array-from-iterable');\nmodule.exports = function (NAME) {\n return function toJSON() {\n if (classof(this) != NAME) throw TypeError(NAME + \"#toJSON isn't generic\");\n return from(this);\n };\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_collection-to-json.js\n ** module id = 277\n ** module chunks = 0\n **/","var forOf = require('./_for-of');\n\nmodule.exports = function (iter, ITERATOR) {\n var result = [];\n forOf(iter, false, result.push, result, ITERATOR);\n return result;\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_array-from-iterable.js\n ** module id = 278\n ** module chunks = 0\n **/","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = require('./_export');\n\n$export($export.P + $export.R, 'Set', { toJSON: require('./_collection-to-json')('Set') });\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.set.to-json.js\n ** module id = 279\n ** module chunks = 0\n **/","// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of\nrequire('./_set-collection-of')('Map');\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.map.of.js\n ** module id = 280\n ** module chunks = 0\n **/","'use strict';\n// https://tc39.github.io/proposal-setmap-offrom/\nvar $export = require('./_export');\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, { of: function of() {\n var length = arguments.length;\n var A = new Array(length);\n while (length--) A[length] = arguments[length];\n return new this(A);\n } });\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_set-collection-of.js\n ** module id = 281\n ** module chunks = 0\n **/","// https://tc39.github.io/proposal-setmap-offrom/#sec-set.of\nrequire('./_set-collection-of')('Set');\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.set.of.js\n ** module id = 282\n ** module chunks = 0\n **/","// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.of\nrequire('./_set-collection-of')('WeakMap');\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.weak-map.of.js\n ** module id = 283\n ** module chunks = 0\n **/","// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.of\nrequire('./_set-collection-of')('WeakSet');\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.weak-set.of.js\n ** module id = 284\n ** module chunks = 0\n **/","// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from\nrequire('./_set-collection-from')('Map');\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.map.from.js\n ** module id = 285\n ** module chunks = 0\n **/","'use strict';\n// https://tc39.github.io/proposal-setmap-offrom/\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar ctx = require('./_ctx');\nvar forOf = require('./_for-of');\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) {\n var mapFn = arguments[1];\n var mapping, A, n, cb;\n aFunction(this);\n mapping = mapFn !== undefined;\n if (mapping) aFunction(mapFn);\n if (source == undefined) return new this();\n A = [];\n if (mapping) {\n n = 0;\n cb = ctx(mapFn, arguments[2], 2);\n forOf(source, false, function (nextItem) {\n A.push(cb(nextItem, n++));\n });\n } else {\n forOf(source, false, A.push, A);\n }\n return new this(A);\n } });\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_set-collection-from.js\n ** module id = 286\n ** module chunks = 0\n **/","// https://tc39.github.io/proposal-setmap-offrom/#sec-set.from\nrequire('./_set-collection-from')('Set');\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.set.from.js\n ** module id = 287\n ** module chunks = 0\n **/","// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.from\nrequire('./_set-collection-from')('WeakMap');\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.weak-map.from.js\n ** module id = 288\n ** module chunks = 0\n **/","// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.from\nrequire('./_set-collection-from')('WeakSet');\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.weak-set.from.js\n ** module id = 289\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es7.global.js\n ** module id = 290\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es7.system.global.js\n ** module id = 291\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es7.error.is-error.js\n ** module id = 292\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es7.math.clamp.js\n ** module id = 293\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es7.math.deg-per-rad.js\n ** module id = 294\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es7.math.degrees.js\n ** module id = 295\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es7.math.fscale.js\n ** module id = 296\n ** module chunks = 0\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/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_math-scale.js\n ** module id = 297\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es7.math.iaddh.js\n ** module id = 298\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es7.math.isubh.js\n ** module id = 299\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es7.math.imulh.js\n ** module id = 300\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es7.math.rad-per-deg.js\n ** module id = 301\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es7.math.radians.js\n ** module id = 302\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es7.math.scale.js\n ** module id = 303\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es7.math.umulh.js\n ** module id = 304\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es7.math.signbit.js\n ** module id = 305\n ** module chunks = 0\n **/","// https://github.com/tc39/proposal-promise-finally\n'use strict';\nvar $export = require('./_export');\nvar core = require('./_core');\nvar global = require('./_global');\nvar speciesConstructor = require('./_species-constructor');\nvar promiseResolve = require('./_promise-resolve');\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n} });\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.promise.finally.js\n ** module id = 306\n ** module chunks = 0\n **/","'use strict';\n// https://github.com/tc39/proposal-promise-try\nvar $export = require('./_export');\nvar newPromiseCapability = require('./_new-promise-capability');\nvar perform = require('./_perform');\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n var promiseCapability = newPromiseCapability.f(this);\n var result = perform(callbackfn);\n (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n return promiseCapability.promise;\n} });\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.promise.try.js\n ** module id = 307\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/es7.reflect.define-metadata.js\n ** module id = 308\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/_metadata.js\n ** module id = 309\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/es7.reflect.delete-metadata.js\n ** module id = 310\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/es7.reflect.get-metadata.js\n ** module id = 311\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/es7.reflect.get-metadata-keys.js\n ** module id = 312\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/es7.reflect.get-own-metadata.js\n ** module id = 313\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/es7.reflect.get-own-metadata-keys.js\n ** module id = 314\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/es7.reflect.has-metadata.js\n ** module id = 315\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/es7.reflect.has-own-metadata.js\n ** module id = 316\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/es7.reflect.metadata.js\n ** module id = 317\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/es7.asap.js\n ** module id = 318\n ** module chunks = 0\n **/","'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 ** ./~/core-js/modules/es7.observable.js\n ** module id = 319\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/web.timers.js\n ** module id = 320\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/web.immediate.js\n ** module id = 321\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/web.dom.iterable.js\n ** module id = 322\n ** module chunks = 0\n **/","/**\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 ** ./~/regenerator-runtime/runtime.js\n ** module id = 323\n ** module chunks = 0\n **/","require('../../modules/core.regexp.escape');\nmodule.exports = require('../../modules/_core').RegExp.escape;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/fn/regexp/escape.js\n ** module id = 324\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/modules/core.regexp.escape.js\n ** module id = 325\n ** module chunks = 0\n **/","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 ** ./~/core-js/modules/_replacer.js\n ** module id = 326\n ** module chunks = 0\n **/","/*globals module */\n\nvar OktaSignIn = (function () {\n\n var _ = require('underscore'),\n config = require('json!config/config'),\n OAuth2Util = require('util/OAuth2Util');\n\n function getProperties (authClient, LoginRouter, Util, config) {\n\n /**\n * Check if a session exists\n * @param callback - callback function invoked with 'true'/'false' as the argument.\n */\n function checkSession (callback) {\n authClient.session.exists().then(callback);\n }\n\n /**\n * Close the current session (sign-out). Callback is invoked with an error message\n * if the operation was not successful.\n * @param callback - function to invoke after closing the session.\n */\n function closeSession (callback) {\n authClient.session.close().then(callback)\n .fail(function () {\n callback('There was a problem closing the session');\n });\n }\n\n /**\n * Keep-alive for the session. The callback is invoked with the object containing\n * the session if successful and {status: 'INACTIVE'} if it is not successful.\n * @param callback - function to invoke after refreshing the session.\n */\n function refreshSession (callback) {\n authClient.session.refresh().then(callback)\n .fail(function () {\n callback({status: 'INACTIVE'});\n });\n }\n\n /**\n * Refresh the idToken\n * @param idToken - idToken generated from the OAUTH call\n * @param callback - function to invoke after refreshing the idToken.\n * The callback will be passed a new idToken if successful and\n * an error message if not.\n * @param opts - OAUTH options to refresh the idToken\n */\n function refreshIdToken (idToken, callback, opts) {\n authClient.idToken.refresh(opts).then(callback)\n .fail(function () {\n callback('There was a problem refreshing the id_token');\n });\n }\n\n /**\n * Check if there is an active session. If there is one, the callback is invoked with\n * the session and user information (similar to calling the global success callback)\n * and if not, the callback is invoked with {status: 'INACTIVE'}, at which point,\n * the widget can be rendered using renderEl().\n * @param callback - function to invoke after checking if there is an active session.\n */\n function getSession (callback) {\n authClient.session.get()\n .then(function (res) {\n if (res.status === 'ACTIVE' && res.user) {\n // only include the attributes that are passed into the successFn on primary auth.\n res.user = _.pick(res.user, 'id', 'profile', 'passwordChanged');\n }\n callback(res);\n });\n }\n\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 router;\n function render (options, success, error) {\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\n router = new LoginRouter(_.extend({}, config, options, {\n authClient: authClient,\n globalSuccessFn: success,\n globalErrorFn: error\n }));\n router.start();\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 * Parses tokens from the url.\n * @param success - success callback function (usually the same as passed to render)\n * @param error - error callback function (usually the same as passed to render)\n */\n function parseTokensFromUrl (success, error) {\n authClient.token.parseFromUrl()\n .then(success)\n .fail(error);\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(renderOptions);\n }\n\n /**\n * Returns authentication transaction information given a stateToken.\n * @param {String} stateToken - Ephemeral token that represents the current state of an authentication\n * or recovery transaction\n * @returns {Promise} - Returns a promise for an object containing the transaction information\n */\n function getTransaction (stateToken) {\n if (!stateToken) {\n throw new Error('A state token is required.');\n }\n return authClient.tx.resume({ stateToken: stateToken });\n }\n\n // Properties exposed on OktaSignIn object.\n return {\n renderEl: render,\n showSignInToGetTokens: showSignInToGetTokens,\n signOut: closeSession,\n idToken: {\n refresh: refreshIdToken\n },\n session: {\n close: closeSession,\n exists: checkSession,\n get: getSession,\n refresh: refreshSession\n },\n token: {\n hasTokensInUrl: hasTokensInUrl,\n parseTokensFromUrl: parseTokensFromUrl\n },\n tokenManager: authClient.tokenManager,\n getTransaction: getTransaction,\n hide: hide,\n show: show,\n remove: remove\n };\n }\n\n function OktaSignIn (options) {\n require('okta');\n\n var OktaAuth = require('@okta/okta-auth-js/jquery');\n var Util = require('util/Util');\n var LoginRouter = require('LoginRouter');\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 var authClient = new OktaAuth({\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 });\n _.extend(this, LoginRouter.prototype.Events, getProperties(authClient, LoginRouter, Util, options));\n\n // Triggers the event up the chain so it is available to the consumers of the widget.\n this.listenTo(LoginRouter.prototype, 'all', this.trigger);\n }\n\n return OktaSignIn;\n\n})();\nmodule.exports = OktaSignIn;\n\n\n\n/** WEBPACK FOOTER **\n ** ./target/js/widget/OktaSignIn.js\n **/","// 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 ** ./~/underscore/underscore.js\n ** module id = 328\n ** module chunks = 0\n **/","module.exports = {\n\t\"version\": \"2.14.0\",\n\t\"supportedLanguages\": [\n\t\t\"en\",\n\t\t\"cs\",\n\t\t\"da\",\n\t\t\"de\",\n\t\t\"el\",\n\t\t\"es\",\n\t\t\"fi\",\n\t\t\"fr\",\n\t\t\"hu\",\n\t\t\"id\",\n\t\t\"in\",\n\t\t\"it\",\n\t\t\"ja\",\n\t\t\"ko\",\n\t\t\"ms\",\n\t\t\"nb\",\n\t\t\"nl-NL\",\n\t\t\"pl\",\n\t\t\"pt-BR\",\n\t\t\"ro\",\n\t\t\"ru\",\n\t\t\"sv\",\n\t\t\"th\",\n\t\t\"tr\",\n\t\t\"uk\",\n\t\t\"zh-CN\",\n\t\t\"zh-TW\"\n\t]\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/json-loader!./target/js/config/config.json\n ** module id = 329\n ** module chunks = 0\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(['okta', './Enums', './Errors'], function (Okta, Enums, Errors) {\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 } else {\n settings.callGlobalError(new Errors.OAuthError(error.message));\n }\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, 'responseType', 'responseMode', '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 }\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 ** ./target/js/util/OAuth2Util.js\n **/","/*! THIS FILE IS GENERATED FROM PACKAGE @okta/courage@4.4.0 */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"underscore\"), require(\"handlebars\"), require(\"backbone\"), require(\"jquery\"), require(\"shared/util/Bundles\"), require(\"moment\"), require(\"qtip\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"underscore\", \"handlebars\", \"backbone\", \"jquery\", \"shared/util/Bundles\", \"moment\", \"qtip\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"courage-for-signin-widget\"] = factory(require(\"underscore\"), require(\"handlebars\"), require(\"backbone\"), require(\"jquery\"), require(\"shared/util/Bundles\"), require(\"moment\"), require(\"qtip\"));\n\telse\n\t\troot[\"courage-for-signin-widget\"] = factory(root[\"underscore\"], root[\"handlebars\"], root[\"backbone\"], root[\"jQuery\"], root[\"shared/util/Bundles\"], root[\"moment\"], root[\"qtip\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_4__, __WEBPACK_EXTERNAL_MODULE_5__, __WEBPACK_EXTERNAL_MODULE_6__, __WEBPACK_EXTERNAL_MODULE_9__, __WEBPACK_EXTERNAL_MODULE_11__, __WEBPACK_EXTERNAL_MODULE_14__, __WEBPACK_EXTERNAL_MODULE_43__) {\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\tmodule.exports = __webpack_require__(1);\n\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;'use strict';\n\t\n\t/* eslint max-params: 0 */\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(6), __webpack_require__(8), __webpack_require__(3), __webpack_require__(7), __webpack_require__(15), __webpack_require__(18), __webpack_require__(19), __webpack_require__(21), __webpack_require__(24), __webpack_require__(10), __webpack_require__(25), __webpack_require__(26), __webpack_require__(31), __webpack_require__(51), __webpack_require__(39), __webpack_require__(53), __webpack_require__(17), __webpack_require__(2), __webpack_require__(46), __webpack_require__(55), __webpack_require__(28), __webpack_require__(57), __webpack_require__(59), __webpack_require__(37), __webpack_require__(41), __webpack_require__(45), __webpack_require__(60), __webpack_require__(50), __webpack_require__(69), __webpack_require__(71), __webpack_require__(72), __webpack_require__(74), __webpack_require__(62)], __WEBPACK_AMD_DEFINE_RESULT__ = function (Backbone, $, _, Handlebars, Model, BaseModel, BaseCollection, SchemaProperty, BaseSchema, StringUtil, TemplateUtil, ButtonFactory, BaseRouter, BaseController, Util, Cookie, Logger, Class, Keys, TimeUtil, BaseView, ListView, BaseDropDown, BaseForm, InputRegistry, FormUtil, SchemaFormFactory, Toolbar, TextBox, PasswordBox, CheckBox, Radio, Select) {\n\t\n\t var Okta = {\n\t\n\t Backbone: Backbone,\n\t\n\t $: $,\n\t\n\t _: _,\n\t\n\t Handlebars: Handlebars,\n\t\n\t loc: StringUtil.localize,\n\t\n\t createButton: ButtonFactory.create,\n\t\n\t registerInput: InputRegistry.register,\n\t\n\t tpl: TemplateUtil.tpl,\n\t\n\t Model: Model,\n\t\n\t BaseModel: BaseModel,\n\t\n\t Collection: BaseCollection,\n\t\n\t View: BaseView,\n\t\n\t ListView: ListView,\n\t\n\t Router: BaseRouter,\n\t\n\t Controller: BaseController,\n\t\n\t Form: BaseForm,\n\t\n\t internal: {\n\t\n\t util: {\n\t Util: Util,\n\t Cookie: Cookie,\n\t Logger: Logger,\n\t Class: Class,\n\t Keys: Keys,\n\t TimeUtil: TimeUtil\n\t },\n\t\n\t views: {\n\t components: {\n\t BaseDropDown: BaseDropDown\n\t },\n\t\n\t forms: {\n\t helpers: {\n\t FormUtil: FormUtil,\n\t SchemaFormFactory: SchemaFormFactory\n\t },\n\t\n\t components: {\n\t Toolbar: Toolbar\n\t },\n\t\n\t inputs: {\n\t TextBox: TextBox,\n\t PasswordBox: PasswordBox,\n\t CheckBox: CheckBox,\n\t Radio: Radio,\n\t Select: Select\n\t }\n\t }\n\t },\n\t\n\t models: {\n\t BaseSchema: BaseSchema,\n\t SchemaProperty: SchemaProperty\n\t }\n\t\n\t }\n\t };\n\t\n\t Okta.registerInput('text', TextBox);\n\t Okta.registerInput('password', PasswordBox);\n\t Okta.registerInput('checkbox', CheckBox);\n\t Okta.registerInput('radio', Radio);\n\t Okta.registerInput('select', Select);\n\t\n\t return Okta;\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 2 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(6)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, Backbone) {\n\t\n\t function Class(options) {\n\t this.options = _.clone(options || {});\n\t this.cid = _.uniqueId('class');\n\t this.initialize.apply(this, arguments);\n\t }\n\t\n\t _.extend(Class.prototype, Backbone.Events, {\n\t initialize: function () {}\n\t });\n\t\n\t Class.extend = Backbone.Model.extend;\n\t\n\t return Class;\n\t\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 3 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* eslint @okta/okta/enforce-requirejs-names: 0, @okta/okta/no-specific-methods: 0, @okta/okta/no-specific-modules: 0 */\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(4),\n\t __webpack_require__(5)\n\t], __WEBPACK_AMD_DEFINE_RESULT__ = function (underscore, Handlebars) {\n\t\n\t var _ = underscore.noConflict();\n\t\n\t _.mixin({\n\t\n\t resultCtx: function (object, property, context, defaultValue) {\n\t var value = _.isObject(object) ? object[property] : void 0;\n\t if (_.isFunction(value)) {\n\t value = value.call(context || object);\n\t }\n\t if (value) {\n\t return value;\n\t }\n\t else {\n\t return !_.isUndefined(defaultValue) ? defaultValue : value;\n\t }\n\t },\n\t\n\t isInteger: function (x) {\n\t return _.isNumber(x) && (x % 1 === 0);\n\t },\n\t\n\t template: function (source, data) {\n\t var template = Handlebars.compile(source);\n\t return data ? template(data) : function (data) { return template(data); };\n\t }\n\t\n\t });\n\t\n\t return _;\n\t\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 4 */\n/***/ function(module, exports) {\n\n\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_4__;\n\n/***/ },\n/* 5 */\n/***/ function(module, exports) {\n\n\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_5__;\n\n/***/ },\n/* 6 */\n/***/ function(module, exports) {\n\n\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_6__;\n\n/***/ },\n/* 7 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* eslint @okta/okta/enforce-requirejs-names: 0, @okta/okta/no-specific-modules: 0, max-params: 0, max-statements: 0 */\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(5),\n\t __webpack_require__(3),\n\t __webpack_require__(8),\n\t __webpack_require__(10),\n\t __webpack_require__(13),\n\t __webpack_require__(14)\n\t], __WEBPACK_AMD_DEFINE_RESULT__ = function (Handlebars, _, $, StringUtil, markdownToHtml, moment) {\n\t\n\t var CACHE_BUST_URL_PREFIX = '/assets';\n\t\n\t function formatDate(format, dateInISOString) {\n\t return moment.utc(dateInISOString).utcOffset('-07:00').format(format);\n\t }\n\t\n\t function trim(str) {\n\t return str && str.replace(/^\\s+|\\s+$/g, '');\n\t }\n\t\n\t function prependCachebustPrefix(path) {\n\t if (path.indexOf(CACHE_BUST_URL_PREFIX) === 0) {\n\t return path;\n\t }\n\t return CACHE_BUST_URL_PREFIX + path;\n\t }\n\t\n\t Handlebars.registerHelper('i18n', function (options) {\n\t var params,\n\t key = trim(options.hash.code),\n\t bundle = trim(options.hash.bundle),\n\t args = trim(options.hash['arguments']);\n\t\n\t if (args) {\n\t params = _.map(trim(args).split(';'), function (param) {\n\t param = trim(param);\n\t var val,\n\t data = this;\n\t /*\n\t * the context(data) may be a deep object, ex {user: {name: 'John', gender: 'M'}}\n\t * arguments may be 'user.name'\n\t * return data['user']['name']\n\t */\n\t _.each(param.split('.'), function (p) {\n\t val = val ? val[p] : data[p];\n\t });\n\t return val;\n\t }, this);\n\t }\n\t\n\t return StringUtil.localize(key, bundle, params);\n\t });\n\t\n\t Handlebars.registerHelper('xsrfTokenInput', function () {\n\t return new Handlebars.SafeString('');\n\t });\n\t\n\t Handlebars.registerHelper('img', function (options) {\n\t /*global okta */\n\t var cdn = (typeof okta != 'undefined' && okta.cdnUrlHostname || '');\n\t var hash = _.pick(options.hash, ['src', 'alt', 'width', 'height', 'class', 'title']);\n\t hash.src = '' + cdn + prependCachebustPrefix(hash.src);\n\t var attrs = _.map(hash, function (value, attr) {\n\t return attr + '=\"' + Handlebars.Utils.escapeExpression(value) + '\"';\n\t });\n\t return new Handlebars.SafeString('');\n\t });\n\t\n\t Handlebars.registerHelper('shortDate', _.partial(formatDate, 'MMM Do'));\n\t Handlebars.registerHelper('mediumDate', _.partial(formatDate, 'MMMM DD, YYYY'));\n\t Handlebars.registerHelper('longDate', _.partial(formatDate, 'MMMM DD, YYYY, h:mma'));\n\t Handlebars.registerHelper('formatDate', formatDate);\n\t\n\t\n\t Handlebars.registerHelper('markdown', function (mdText) {\n\t return markdownToHtml(Handlebars, mdText);\n\t });\n\t\n\t return Handlebars;\n\t\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* eslint-disable @okta/okta/enforce-requirejs-names, @okta/okta/no-specific-modules */\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(9)], __WEBPACK_AMD_DEFINE_RESULT__ = function ($) {\n\t $.ajaxSetup({\n\t beforeSend: function (xhr) {\n\t xhr.setRequestHeader('X-Okta-XsrfToken', $('#_xsrfToken').text());\n\t },\n\t converters: {\n\t 'text secureJSON': function (str) {\n\t if (str.substring(0, 11) === 'while(1){};') {\n\t str = str.substring(11);\n\t }\n\t return JSON.parse(str);\n\t }\n\t }\n\t });\n\t\n\t // Selenium Hook\n\t // Widget such as autocomplete and autosuggest needs to be triggered from the running version of jQuery.\n\t // We have 2 versions of jQuery running in parallel and they don't share the same events bus\n\t window.jQueryCourage = $;\n\t return $;\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 9 */\n/***/ function(module, exports) {\n\n\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_9__;\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(3),\n\t __webpack_require__(8),\n\t __webpack_require__(11),\n\t __webpack_require__(12)\n\t], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, $, Bundles) {\n\t\n\t var entityMap = {\n\t '&': '&',\n\t '<': '<',\n\t '>': '>',\n\t '"': '\"',\n\t ''': '\\'',\n\t ''': '\\'',\n\t '/': '/'\n\t };\n\t\n\t /* eslint max-len: 0*/\n\t 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\t\n\t /**\n\t * Handy utility functions to handle strings.\n\t *\n\t * @class module:Okta.internal.util.StringUtil\n\t * @hideconstructor\n\t */\n\t var StringUtil = /** @lends module:Okta.internal.util.StringUtil */ {\n\t /** @static */\n\t sprintf: function () {\n\t /* eslint max-statements: [2, 11] */\n\t\n\t var args = Array.prototype.slice.apply(arguments),\n\t value = args.shift(),\n\t oldValue = value;\n\t\n\t function triggerError() {\n\t throw new Error('Mismatch number of variables: ' + arguments[0] + ', ' + JSON.stringify(args));\n\t }\n\t\n\t for (var i = 0, l = args.length; i < l; i++) {\n\t var entity = args[i];\n\t value = value.replace('{' + i + '}', entity);\n\t if (entity === undefined || entity === null || value === oldValue) {\n\t triggerError();\n\t }\n\t oldValue = value;\n\t }\n\t\n\t if (/\\{[\\d+]\\}/.test(value)) {\n\t triggerError();\n\t }\n\t\n\t return value;\n\t },\n\t\n\t /**\n\t * Converts a URI encoded query string into a hash map\n\t * @param {String} query The query string\n\t * @return {Object} The map\n\t * @static\n\t * @example\n\t * StringUtil.parseQuery('foo=bar&baz=qux') // {foo: 'bar', baz: 'qux'}\n\t */\n\t parseQuery: function (query) {\n\t var params = {};\n\t var pairs = decodeURIComponent(query.replace(/\\+/g, ' ')).split('&');\n\t for (var i = 0; i < pairs.length; i++) {\n\t var pair = pairs[i];\n\t var data = pair.split('=');\n\t params[data.shift()] = data.join('=');\n\t }\n\t return params;\n\t },\n\t\n\t /** @static */\n\t encodeJSObject: function (jsObj) {\n\t return encodeURIComponent(JSON.stringify(jsObj));\n\t },\n\t\n\t /** @static */\n\t decodeJSObject: function (jsObj) {\n\t try {\n\t return JSON.parse(decodeURIComponent(jsObj));\n\t } catch (e) {\n\t return null;\n\t }\n\t },\n\t\n\t /** @static */\n\t unescapeHtml: function (string) {\n\t return String(string).replace(/&[\\w#\\d]{2,};/g, function (s) {\n\t return entityMap[s] || s;\n\t });\n\t },\n\t\n\t /**\n\t * Translate a key to the localized value\n\t * @static\n\t * @param {String} key The key\n\t * @param {String} [bundle=\"messages\"] The name of the i18n bundle. Defaults to the first bundle in the list.\n\t * @param {Array} [params] A list of parameters to apply as tokens to the i18n value\n\t * @return {String} The localized value\n\t */\n\t localize: function (key, bundleName, params) {\n\t /* eslint complexity: [2, 7] */\n\t var bundle = bundleName ? Bundles[bundleName] : Bundles[_.keys(Bundles)[0]];\n\t\n\t if (!bundle) {\n\t return 'L10N_ERROR[' + (bundleName) + ']';\n\t }\n\t\n\t var value = bundle[key];\n\t\n\t try {\n\t params = params && params.slice ? params.slice(0) : [];\n\t params.unshift(value);\n\t value = StringUtil.sprintf.apply(null, params);\n\t }\n\t catch (e) {\n\t value = null;\n\t }\n\t\n\t return value || 'L10N_ERROR[' + key + ']';\n\t },\n\t\n\t /**\n\t * Convert a string to a float if valid, otherwise return the string.\n\t * Valid numbers may contain a negative sign and a decimal point.\n\t * @static\n\t * @param {String} string The string to convert to a number\n\t * @return {String|Number} Returns a number if the string can be casted, otherwise returns the original string\n\t */\n\t parseFloat: function (string) {\n\t var number = +string;\n\t return typeof string == 'string' && number === parseFloat(string) ? number : string;\n\t },\n\t\n\t /**\n\t * Convert a string to an integer if valid, otherwise return the string\n\t * @static\n\t * @param {String} string The string to convert to an integer\n\t * @return {String|integer} Returns an integer if the string can be casted, otherwise, returns the original string\n\t */\n\t parseInt: function (string) {\n\t var int = +string;\n\t return _.isString(string) && int === parseInt(string, 10) ? int : string;\n\t },\n\t\n\t /**\n\t * Convert a string to an object if valid, otherwise return the string\n\t * @static\n\t * @param {String} string The string to convert to an object\n\t * @return {String|object} Returns an object if the string can be casted, otherwise, returns the original string\n\t */\n\t parseObject: function (string) {\n\t if (!_.isString(string)) {\n\t return string;\n\t }\n\t\n\t try {\n\t var object = JSON.parse(string);\n\t return $.isPlainObject(object) ? object : string;\n\t } catch (e) {\n\t return string;\n\t }\n\t },\n\t\n\t /**\n\t * Returns a random string from [a-z][A-Z][0-9] of a given length\n\t * @static\n\t * @param {Number} length The length of the random string.\n\t * @return {String} Returns a random string from [a-z][A-Z][0-9] of a given length\n\t */\n\t randomString: function (length) {\n\t var characters = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz';\n\t\n\t if (length === undefined) {\n\t length = _.random(characters.length);\n\t } else if (length === 0) {\n\t return '';\n\t }\n\t\n\t var stringArray = [];\n\t while (length--) {\n\t stringArray.push(characters[_.random(characters.length - 1)]);\n\t }\n\t return stringArray.join('');\n\t },\n\t\n\t /**\n\t * Returns if a str ends with another string\n\t * @static\n\t * @param {String} str The string to search\n\t * @param {String} ends The string it should end with\n\t *\n\t * @return {Boolean} Returns if the str ends with ends\n\t */\n\t endsWith: function (str, ends) {\n\t str += '';\n\t ends += '';\n\t return str.length >= ends.length && str.substring(str.length - ends.length) === ends;\n\t },\n\t\n\t /** @static */\n\t isEmail: function (str) {\n\t var target = $.trim(str);\n\t return !_.isEmpty(target) && emailValidator.test(target);\n\t }\n\t\n\t };\n\t\n\t return StringUtil;\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports) {\n\n\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_11__;\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_RESULT__;\"use strict\";\n\t\n\t// TODO: maybe replaced by\n\t// https://github.com/Calvein/empty-module\n\t// https://github.com/crimx/empty-module-loader\n\t!(__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/* 13 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// Simple \"markdown parser\" - just handles markdown formatted links. If we\n\t// find that we need more extensive markdown support, we should include\n\t// a fully formulated markdown library like:\n\t// https://github.com/evilstreak/markdown-js\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(3)\n\t], __WEBPACK_AMD_DEFINE_RESULT__ = function (_) {\n\t\n\t var RE_LINK = /\\[[^\\]]*\\]\\([^)]*\\)/gi;\n\t var RE_LINK_HREF = /\\]\\(([^)]*)\\)/i;\n\t var RE_LINK_TEXT = /\\[([^\\]]*)\\]/i;\n\t var RE_LINK_JS = /javascript:/gi;\n\t\n\t // Converts links\n\t // FROM:\n\t // [some link text](http://the/link/url)\n\t // TO:\n\t // some link text\n\t return function mdToHtml(Handlebars, markdownText) {\n\t /* eslint @okta/okta/no-specific-methods: 0*/\n\t var linkTemplate = Handlebars.compile('{{text}}');\n\t var res;\n\t if (!_.isString(markdownText)) {\n\t res = '';\n\t } else {\n\t res = Handlebars.Utils.escapeExpression(markdownText).replace(RE_LINK_JS, '').replace(RE_LINK, function (mdLink) {\n\t return linkTemplate({\n\t href: mdLink.match(RE_LINK_HREF)[1],\n\t text: mdLink.match(RE_LINK_TEXT)[1]\n\t });\n\t });\n\t }\n\t return new Handlebars.SafeString(res);\n\t };\n\t\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 14 */\n/***/ function(module, exports) {\n\n\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_14__;\n\n/***/ },\n/* 15 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(3),\n\t __webpack_require__(16)\n\t], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, Model) {\n\t /**\n\t * Wrapper around the more generic {@link src/framework/Model} that\n\t * contains Okta-specific logic.\n\t * @class module:Okta.Model\n\t * @extends src/framework/Model\n\t */\n\t return Model.extend(/** @lends module:Okta.Model.prototype */ {\n\t\n\t /**\n\t * Is the end point using the legacy \"secureJSON\" format\n\t * @type {Function|Boolean}\n\t */\n\t secureJSON: false,\n\t\n\t _builtInLocalProps: {\n\t '__edit__': 'boolean',\n\t '__pending__': 'boolean'\n\t },\n\t\n\t constructor: function () {\n\t this.local = _.defaults({}, _.result(this, 'local'), this._builtInLocalProps);\n\t\n\t if (_.result(this, 'secureJSON')) {\n\t this.sync = _.wrap(this.sync, function (sync, method, model, options) {\n\t return sync.call(this, method, model, _.extend({dataType: 'secureJSON'}, options));\n\t });\n\t }\n\t\n\t Model.apply(this, arguments);\n\t }\n\t\n\t });\n\t\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 16 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (root, factory) {\n\t if (true) {\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(6), __webpack_require__(17)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t }\n\t /* global module, exports */\n\t else if (typeof require === 'function' && typeof exports === 'object') {\n\t module.exports = factory(require('okta/underscore'), require('backbone'), require('shared/util/Logger'));\n\t }\n\t else {\n\t root.Archer || (root.Archer = {});\n\t root.Archer.Model = factory(root._, root.Backbone, root.Logger);\n\t }\n\t}(this, function (_, Backbone, Logger) {\n\t /**\n\t * Archer.Model is a standard [Backbone.Model](http://backbonejs.org/#Model) with a few additions:\n\t *\n\t * - {@link src/framework/Model#derived Derived properties}\n\t * - {@link src/framework/Model#props Built in schema validation}\n\t * - {@link src/framework/Model#local Private properties (with schema validation)}\n\t * - {@link src/framework/Model#flat Flattening of nested objects}\n\t *\n\t * Both derived and private properties are filtered out when sending the data to the server.\n\t *\n\t * See [Backbone.Model](http://backbonejs.org/#Model-constructor).\n\t *\n\t * @class src/framework/Model\n\t * @extends external:Backbone.Model\n\t * @param {Object} [attributes] - Initial model attributes (data)\n\t * @param {Object} [options] - Options hash\n\t * @example\n\t * var Person = Archer.Model.extend({\n\t * props: {\n\t * 'fname': 'string',\n\t * 'lname': 'string'\n\t * },\n\t * local: {\n\t * isLoggedIn: 'boolean'\n\t * },\n\t * derived: {\n\t * name: {\n\t * deps: ['fname', 'lname'],\n\t * fn: function (fname, lname) {\n\t * return fname + ' ' + lname;\n\t * }\n\t * }\n\t * }\n\t * });\n\t * var model = new Person({fname: 'Joe', lname: 'Doe'});\n\t * model.get('name'); //=> \"Joe Doe\"\n\t * model.toJSON(); //=> {fname: 'Joe', lname: 'Doe'}\n\t *\n\t * model.set('isLoggedIn', true);\n\t * model.get('isLoggedIn'); //=> true\n\t * model.toJSON(); //=> {fname: 'Joe', lname: 'Doe'}\n\t */\n\t var Model;\n\t\n\t function flatten(value, objectTypeFields, key, target) {\n\t var filter = _.contains(objectTypeFields, key);\n\t target || (target = {});\n\t if (!filter && _.isObject(value) && !_.isArray(value) && !_.isFunction(value)) {\n\t _.each(value, function (val, i) {\n\t flatten(val, objectTypeFields, key ? (key + '.' + i) : i, target);\n\t });\n\t }\n\t // Case where target is an empty object. Guard against returning {undefined: undefined}.\n\t else if (key !== undefined) {\n\t target[key] = value;\n\t }\n\t return target;\n\t }\n\t\n\t function unflatten(data) {\n\t _.each(data, function (value, key, data) {\n\t if (key.indexOf('.') == -1) {\n\t return;\n\t }\n\t var part,\n\t ref = data,\n\t parts = key.split('.');\n\t while ((part = parts.shift()) !== undefined) {\n\t if (!ref[part]) {\n\t ref[part] = parts.length ? {} : value;\n\t }\n\t ref = ref[part];\n\t }\n\t delete data[key];\n\t });\n\t return data;\n\t }\n\t\n\t function createMessage(field, msg) {\n\t var obj = {};\n\t obj[field.name] = msg;\n\t return obj;\n\t }\n\t\n\t function normalizeSchemaDef(field, name) {\n\t var target;\n\t if (_.isString(field)) {\n\t target = {\n\t type: field\n\t };\n\t }\n\t else if (_.isArray(field)) {\n\t target = {\n\t type: field[0],\n\t required: field[1],\n\t value: field[2]\n\t };\n\t }\n\t else {\n\t target = _.clone(field);\n\t }\n\t _.defaults(target, {required: false, name: name});\n\t return target;\n\t }\n\t\n\t function capitalize(string) {\n\t return string.toLowerCase().replace(/\\b[a-z]/g, function (letter) {\n\t return letter.toUpperCase();\n\t });\n\t }\n\t\n\t function _validateRegex(value, pattern, error) {\n\t if (!pattern.test(value)) {\n\t return error;\n\t }\n\t }\n\t\n\t var StringFormatValidators = {\n\t /*eslint max-len: 0 */\n\t email: function (value) {\n\t // Taken from http://emailregex.com/ on 2017-03-06.\n\t 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\t return _validateRegex(value, pattern, Model.ERROR_INVALID_FORMAT_EMAIL);\n\t },\n\t uri: function (value) {\n\t // source: https://mathiasbynens.be/demo/url-regex\n\t 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\t return _validateRegex(value, pattern, Model.ERROR_INVALID_FORMAT_URI);\n\t },\n\t ipv4: function (value) {\n\t // source: https://www.safaribooksonline.com/library/view/regular-expressions-cookbook/9780596802837/ch07s16.html\n\t 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\t return _validateRegex(value, pattern, Model.ERROR_INVALID_FORMAT_IPV4);\n\t },\n\t hostname: function (value) {\n\t // source: http://www.regextester.com/23\n\t 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\t return _validateRegex(value, pattern, Model.ERROR_INVALID_FORMAT_HOSTNAME);\n\t }\n\t };\n\t\n\t function validateStringFormat(field, value) {\n\t var validator = StringFormatValidators[field.format];\n\t if (field.format && !validator) {\n\t throw new TypeError(field.format + ' is not a supported string format');\n\t }\n\t return validator && validator(value);\n\t }\n\t\n\t function validateString(field, value) {\n\t var createMessageWith = _.partial(createMessage, field),\n\t invalidFormat = validateStringFormat(field, value);\n\t if (invalidFormat) {\n\t return createMessageWith(invalidFormat);\n\t }\n\t if (value && field.minLength && value.length < field.minLength) {\n\t return createMessageWith(Model.ERROR_STRING_STRING_MIN_LENGTH, value.length);\n\t }\n\t if (value && field.maxLength && value.length > field.maxLength) {\n\t return createMessageWith(Model.ERROR_STRING_STRING_MAX_LENGTH, value.length);\n\t }\n\t }\n\t\n\t function validateField(field, value) {\n\t /* eslint complexity: [2, 23], max-statements: [2, 19] */\n\t var createMessageWith = _.partial(createMessage, field),\n\t isDefined = !_.isUndefined(value) && !_.isNull(value),\n\t checkType,\n\t errorMessage;\n\t\n\t // check required fields\n\t if (field.required && (!isDefined || _.isNull(value) || value === '')) {\n\t return createMessageWith(Model.ERROR_BLANK);\n\t }\n\t // check type\n\t checkType = _['is' + capitalize(field.type)];\n\t if (isDefined && field.type != 'any' && (!_.isFunction(checkType) || !checkType(value))) {\n\t return createMessageWith(Model.ERROR_WRONG_TYPE);\n\t }\n\t // validate string format\n\t if (value && field.type == 'string') {\n\t var error = validateString(field, value);\n\t if (error) {\n\t return error;\n\t }\n\t }\n\t // check pre set values (enum)\n\t if (isDefined && field.values && !_.contains(field.values, value)) {\n\t return createMessageWith(Model.ERROR_NOT_ALLOWED);\n\t }\n\t // check validate method\n\t if (_.isFunction(field.validate)) {\n\t var result = field.validate(value);\n\t if (_.isString(result) && result) {\n\t return createMessageWith(result);\n\t }\n\t else if (result === false) {\n\t return createMessageWith(Model.ERROR_INVALID);\n\t }\n\t }\n\t // check array items\n\t if (isDefined && field.type == 'array' && (errorMessage = validateArrayField(field, value))) {\n\t return createMessageWith(errorMessage);\n\t }\n\t }\n\t\n\t function validateArrayField(field, arr) {\n\t if (field.minItems && arr.length < field.minItems) {\n\t return 'model.validation.field.array.minItems';\n\t }\n\t else if (field.maxItems && arr.length > field.maxItems) {\n\t return 'model.validation.field.array.maxItems';\n\t }\n\t else if (field.uniqueItems && arr.length > _.uniq(arr).length) {\n\t return Model.ERROR_IARRAY_UNIQUE;\n\t }\n\t else if (field.items) {\n\t /* eslint max-depth: [2, 3] */\n\t var arrayField = normalizeSchemaDef(field.items, 'placeholder');\n\t for (var i = 0; i < arr.length; i++) {\n\t var value = arr[i];\n\t var error = validateField(arrayField, value);\n\t if (error) {\n\t return error['placeholder'];\n\t }\n\t }\n\t }\n\t }\n\t\n\t Model = Backbone.Model.extend(/** @lends src/framework/Model.prototype */ {\n\t\n\t /**\n\t * Pass props as an object to extend, describing the observable properties of your model. The props\n\t * properties should not be set on an instance, as this won't define new properties, they should only be passed to\n\t * extend.\n\t * Properties can be defined in three different ways:\n\t *\n\t * - As a string with the expected dataType. One of string, number, boolean, array, object, date, or any.\n\t * Eg: `name: 'string'`.\n\t * - An array of `[dataType, required, default]`\n\t * - An object `{type: 'string', format: '', required: true, value: '', values: [], validate: function() {}`\n\t * - `value` will be the value that the property will be set to if it is undefined, either by not being set during\n\t * initialization, or by being explicitly set to undefined.\n\t * - `format` is a json-schame derived string format. Supported formats are: `email`, `uri`, `hostname` and `ipv4`.\n\t * - If `required` is true, one of two things will happen. If a default is set for the property, the property will\n\t * start with that value. If a default is not set for the property, validation will fail\n\t * - If `values` array is passed, then you'll be able to change a property to one of those values only.\n\t * - If `validate` is defined, it should return false or a custom message string when the validation fails.\n\t * - If the type is defined as `array`, the array elements could be defined by `minItems` (Number),\n\t * `uniqueItems` (Boolean) and `items` (a field definition such as this one that will validate each array member)\n\t * To the `validate` method\n\t * - Trying to set a property to an invalid type will raise an exception.\n\t *\n\t * @type {Mixed}\n\t * @example\n\t * var Person = Model.extend({\n\t * props: {\n\t * name: 'string',\n\t * age: 'number',\n\t * paying: ['boolean', true, false], //required attribute, defaulted to false\n\t * type: {\n\t * type: 'string',\n\t * values: ['regular-hero', 'super-hero', 'mega-hero']\n\t * },\n\t * likes: {\n\t * type: 'string',\n\t * validate: function (value) {\n\t * return /^[\\w]+ing$/.test(value)\n\t * }\n\t * }\n\t * }\n\t * });\n\t */\n\t props: {},\n\t\n\t /**\n\t * Derived properties (also known as computed properties) are properties of the model that depend on the\n\t * other (props, local or even derived properties to determine their value. Best demonstrated with an example:\n\t *\n\t * Each derived property, is defined as an object with the current properties:\n\t *\n\t * - `deps` {Array} - An array of property names which the derived property depends on.\n\t * - `fn` {Function} - A function which returns the value of the computed property. It is called in the context of\n\t * the current object, so that this is set correctly.\n\t * - `cache` {Boolean} - - Whether to cache the property. Uncached properties are computed every time they are\n\t * accessed. Useful if it depends on the current time for example. Defaults to `true`.\n\t *\n\t * Derived properties are retrieved and fire change events just like any other property. They cannot be set\n\t * directly.\n\t * @type {Object}\n\t * @example\n\t * var Person = Model.extend({\n\t * props: {\n\t * firstName: 'string',\n\t * lastName: 'string'\n\t * },\n\t * derived: {\n\t * fullName: {\n\t * deps: ['firstName', 'lastName'],\n\t * fn: function (firstName, lastName) {\n\t * return firstName + ' ' + lastName;\n\t * }\n\t * }\n\t * }\n\t * });\n\t *\n\t * var person = new Person({ firstName: 'Phil', lastName: 'Roberts' })\n\t * console.log(person.get('fullName')) //=> \"Phil Roberts\"\n\t *\n\t * person.set('firstName', 'Bob');\n\t * console.log(person.get('fullName')) //=> \"Bob Roberts\"\n\t */\n\t derived: {},\n\t\n\t /**\n\t * local properties are defined and work in exactly the same way as {@link src/framework/Model#props|props}, but generally only exist for\n\t * the lifetime of the page.\n\t * They would not typically be persisted to the server, and are not returned by calls to {@link src/framework/Model#toJSON|toJSON}.\n\t *\n\t * @type {Object}\n\t * @example\n\t * var Person = Model.extend({\n\t * props: {\n\t * name: 'string',\n\t * },\n\t * local: {\n\t * isLoggedIn: 'boolean'\n\t * }\n\t * );\n\t */\n\t local: {},\n\t\n\t /**\n\t * Flatten the payload into dot notation string keys:\n\t *\n\t * @type {Boolean}\n\t * @example\n\t * var Person = Model.extend({\n\t * props: {\n\t * 'profile.fname': 'string',\n\t * 'profile.lname': 'string',\n\t * 'profile.languages': 'object'\n\t * },\n\t * flat: true\n\t * });\n\t * var person = new Person({'profile': {\n\t * 'fname': 'John',\n\t * 'lname': 'Doe',\n\t * 'languages': {name: \"English\", value: \"EN\"}\n\t * }}, {parse: true});\n\t * person.get('profile'); //=> undefined\n\t * person.get('profile.fname'); //=> 'John'\n\t * person.get('profile.lname'); //=> 'Doe'\n\t * person.get('profile.languages'); //=> {name: \"English\", value: \"EN\"}\n\t * person.get('profile.languages.name'); //=> undefined\n\t * person.toJSON(); //=> {'profile': {'fname': 'John'} }\n\t */\n\t flat: true,\n\t\n\t /**\n\t * @deprecated\n\t * @alias Backbone.Model#defaults\n\t */\n\t defaults: {},\n\t\n\t constructor: function (options) {\n\t this.options = options || {};\n\t\n\t var schema = this['__schema__'] = {},\n\t objectTypeFields = [];\n\t\n\t schema.computedProperties = {};\n\t\n\t schema.props = _.clone(_.result(this, 'props') || {});\n\t schema.derived = _.clone(_.result(this, 'derived') || {});\n\t schema.local = _.clone(_.result(this, 'local') || {});\n\t\n\t var defaults = {};\n\t _.each(_.extend({}, schema.props, schema.local), function (options, name) {\n\t var schemaDef = normalizeSchemaDef(options, name);\n\t if (!_.isUndefined(schemaDef.value)) {\n\t defaults[name] = schemaDef.value;\n\t }\n\t if (schemaDef.type === 'object') {\n\t objectTypeFields.push(name);\n\t }\n\t }, this);\n\t if (_.size(defaults)) {\n\t var localDefaults = _.result(this, 'defaults');\n\t this.defaults = function () {\n\t return _.defaults({}, defaults, localDefaults);\n\t };\n\t }\n\t\n\t // override `validate`\n\t this.validate = _.wrap(this.validate, function (validate) {\n\t var args = _.rest(arguments),\n\t res = _.extend(this._validateSchema.apply(this, args), validate.apply(this, args));\n\t return _.size(res) && res || undefined;\n\t });\n\t\n\t // override `parse`\n\t this.parse = _.wrap(this.parse, function (parse) {\n\t var target = parse.apply(this, _.rest(arguments));\n\t if (this.flat) {\n\t target = flatten(target, objectTypeFields);\n\t }\n\t return target;\n\t });\n\t\n\t Backbone.Model.apply(this, arguments);\n\t\n\t _.each(schema.derived, function (options, name) {\n\t schema.computedProperties[name] = this.__getDerivedValue(name); // set initial value;\n\t var deps = options.deps || [];\n\t if (deps.length) {\n\t this.on('cache:clear change:' + deps.join(' change:'), function () {\n\t var value = this.__getDerivedValue(name);\n\t if (value !== schema.computedProperties[name]) {\n\t schema.computedProperties[name] = value;\n\t this.trigger('change:' + name, this, value);\n\t }\n\t }, this);\n\t }\n\t }, this);\n\t\n\t this.on('sync', function () {\n\t this.__syncedData = this.toJSON();\n\t }, this);\n\t },\n\t\n\t validate: function () {},\n\t\n\t /**\n\t * Check if the schema settings allow this field to exist in the model\n\t * @param {String} key\n\t * @return {Boolean}\n\t */\n\t allows: function (key) {\n\t var schema = this['__schema__'],\n\t all = _.extend({}, schema.props, schema.local);\n\t if (!_.has(all, key)) {\n\t Logger.warn('Field not defined in schema', key);\n\t }\n\t return true;\n\t },\n\t\n\t /**\n\t * Returns the schema for the specific property\n\t *\n\t * @param propName - The name of the property\n\t * @returns {*} | null\n\t */\n\t getPropertySchema: function (propName) {\n\t var schema = this['__schema__'];\n\t return _.reduce([schema.props, schema.local], function (result, options) {\n\t return result || normalizeSchemaDef(options[propName], propName);\n\t }, null);\n\t },\n\t\n\t set: function (key, val) {\n\t var attrs;\n\t if (typeof key === 'object') {\n\t attrs = key;\n\t } else {\n\t (attrs = {})[key] = val;\n\t }\n\t\n\t // Don't override a computed properties\n\t _.each(attrs, function (value, key) {\n\t if (_.has(this['__schema__'].derived, key)) {\n\t throw 'overriding derived properties is not supported: ' + key;\n\t }\n\t }, this);\n\t\n\t // Schema validation\n\t var errorFields = [];\n\t _.each(attrs, function (value, key) {\n\t this.allows(key) || errorFields.push(key);\n\t }, this);\n\t if (errorFields.length) {\n\t throw 'field not allowed: ' + errorFields.join(', ');\n\t }\n\t\n\t return Backbone.Model.prototype.set.apply(this, arguments);\n\t },\n\t\n\t get: function (attr) {\n\t var schema = this['__schema__'];\n\t if (_.has(schema.derived, attr)) {\n\t if (schema.derived[attr].cache !== false) {\n\t return schema.computedProperties[attr];\n\t }\n\t else {\n\t return this.__getDerivedValue(attr);\n\t }\n\t }\n\t return Backbone.Model.prototype.get.apply(this, arguments);\n\t },\n\t\n\t /**\n\t * Return a shallow copy of the model's attributes for JSON stringification.\n\t * This can be used for persistence, serialization, or for augmentation before being sent to the server.\n\t * The name of this method is a bit confusing, as it doesn't actually return a JSON string —\n\t * but I'm afraid that it's the way that the JavaScript API for JSON.stringify works.\n\t *\n\t * See [Backbone.Model.toJSON](http://backbonejs.org/#Model-toJSON)\n\t *\n\t * @param {Object} options\n\t * @return {Object}\n\t * @example\n\t * var artist = new Model({\n\t * firstName: 'Wassily',\n\t * lastName: 'Kandinsky'\n\t * });\n\t *\n\t * artist.set({birthday: 'December 16, 1866'});\n\t * JSON.stringify(artist); //=> {'firstName':'Wassily','lastName':'Kandinsky','birthday':'December 16, 1866'}\n\t */\n\t toJSON: function (options) {\n\t options || (options = {});\n\t var res = _.clone(Backbone.Model.prototype.toJSON.apply(this, arguments)),\n\t schema = this['__schema__'];\n\t\n\t // cleanup local properties\n\t if (!options.verbose) {\n\t res = _.omit(res, _.keys(schema.local));\n\t }\n\t else { // add derived properties\n\t _.each(schema.derived, function (options, name) {\n\t res[name] = this.get(name);\n\t }, this);\n\t }\n\t\n\t if (this.flat) {\n\t res = unflatten(res);\n\t }\n\t\n\t return res;\n\t },\n\t\n\t /**\n\t * Removes all attributes from the model, including the id attribute.\n\t * Fires a `\"change\"` event unless `silent` is passed as an option.\n\t * Sets the default values to the model\n\t * @param {Object} [options]\n\t */\n\t reset: function (options) {\n\t this.clear(options);\n\t this.set(_.result(this, 'defaults'), options);\n\t },\n\t\n\t /**\n\t * Is the data on the model has local modifications since the last sync event?\n\t * @return {Boolean} is the model in sync with the server\n\t */\n\t isSynced: function () {\n\t return _.isEqual(this.__syncedData, this.toJSON());\n\t },\n\t\n\t /**\n\t * validate a specific field in the model.\n\t * @param {String} key\n\t * @return {Object} returns `{fieldName: errorMessage}` if invalid, otherwise undefined.\n\t * @readonly\n\t */\n\t validateField: function (key) {\n\t var schema = key && this.getPropertySchema(key);\n\t return schema && validateField(schema, this.get(key));\n\t },\n\t\n\t /**\n\t * Runs local schema validation. Invoked internally by {@link src/framework/Model#validate|validate}.\n\t * @return {Object}\n\t * @protected\n\t */\n\t _validateSchema: function () {\n\t var schema = this['__schema__'];\n\t return _.reduce(_.extend({}, schema.props, schema.local), function (memo, options, name) {\n\t return _.extend(memo, this.validateField(name) || {});\n\t }, {}, this);\n\t },\n\t\n\t __getDerivedValue: function (name) {\n\t var options = this['__schema__'].derived[name];\n\t if (_.isString(options)) {\n\t var key = options;\n\t options = {\n\t deps: [key],\n\t fn: function () {\n\t return this.get(key);\n\t }\n\t };\n\t }\n\t var deps = options.deps || [];\n\t return options.fn.apply(this, _.map(deps, this.get, this));\n\t }\n\t\n\t },\n\t {\n\t ERROR_BLANK: 'model.validation.field.blank',\n\t ERROR_WRONG_TYPE: 'model.validation.field.wrong.type',\n\t ERROR_NOT_ALLOWED: 'model.validation.field.value.not.allowed',\n\t ERROR_INVALID: 'model.validation.field.invalid',\n\t ERROR_IARRAY_UNIQUE: 'model.validation.field.array.unique',\n\t ERROR_INVALID_FORMAT_EMAIL: 'model.validation.field.invalid.format.email',\n\t ERROR_INVALID_FORMAT_URI: 'model.validation.field.invalid.format.uri',\n\t ERROR_INVALID_FORMAT_IPV4: 'model.validation.field.invalid.format.ipv4',\n\t ERROR_INVALID_FORMAT_HOSTNAME: 'model.validation.field.invalid.format.hostname',\n\t ERROR_STRING_STRING_MIN_LENGTH: 'model.validation.field.string.minLength',\n\t ERROR_STRING_STRING_MAX_LENGTH: 'model.validation.field.string.maxLength'\n\t }\n\t );\n\t\n\t return Model;\n\t\n\t}));\n\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_RESULT__ = function () {\n\t\n\t function log(level, args) {\n\t if (window.console && window.okta && window.okta.debug) {\n\t window.console[level].apply(window.console, args);\n\t }\n\t }\n\t\n\t /**\n\t * Utility library of logging functions.\n\t * @class module:Okta.Logger\n\t */\n\t return /** @lends module:Okta.Logger */ {\n\t\n\t /**\n\t * See [console.trace](https://developer.mozilla.org/en-US/docs/Web/API/Console.trace)\n\t * @static\n\t */\n\t trace: function () {\n\t return log('trace', arguments);\n\t },\n\t /**\n\t * See [console.dir](https://developer.mozilla.org/en-US/docs/Web/API/Console.dir)\n\t * @static\n\t */\n\t dir: function () {\n\t return log('dir', arguments);\n\t },\n\t /**\n\t * See [console.time](https://developer.mozilla.org/en-US/docs/Web/API/Console.time)\n\t * @static\n\t */\n\t time: function () {\n\t return log('time', arguments);\n\t },\n\t /**\n\t * See [console.timeEnd](https://developer.mozilla.org/en-US/docs/Web/API/Console.timeEnd)\n\t * @static\n\t */\n\t timeEnd: function () {\n\t return log('timeEnd', arguments);\n\t },\n\t /**\n\t * See [console.group](https://developer.mozilla.org/en-US/docs/Web/API/Console.group)\n\t * @static\n\t */\n\t group: function () {\n\t return log('group', arguments);\n\t },\n\t /**\n\t * See [console.groupEnd](https://developer.mozilla.org/en-US/docs/Web/API/Console.groupEnd)\n\t * @static\n\t */\n\t groupEnd: function () {\n\t return log('groupEnd', arguments);\n\t },\n\t /**\n\t * See [console.assert](https://developer.mozilla.org/en-US/docs/Web/API/Console.assert)\n\t * @static\n\t */\n\t assert: function () {\n\t return log('assert', arguments);\n\t },\n\t /**\n\t * See [console.log](https://developer.mozilla.org/en-US/docs/Web/API/Console.log)\n\t * @static\n\t */\n\t log: function () {\n\t return log('log', arguments);\n\t },\n\t /**\n\t * See [console.info](https://developer.mozilla.org/en-US/docs/Web/API/Console.info)\n\t * @static\n\t */\n\t info: function () {\n\t return log('info', arguments);\n\t },\n\t /**\n\t * See [console.warn](https://developer.mozilla.org/en-US/docs/Web/API/Console.warn)\n\t * @static\n\t */\n\t warn: function () {\n\t return log('warn', arguments);\n\t },\n\t /**\n\t * See [console.error](https://developer.mozilla.org/en-US/docs/Web/API/Console.error)\n\t * @static\n\t */\n\t error: function () {\n\t return log('error', arguments);\n\t }\n\t };\n\t}.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 18 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(3),\n\t __webpack_require__(15)\n\t], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, Model) {\n\t\n\t /**\n\t * @class module:Okta.BaseModel\n\t * @extends module:Okta.Model\n\t * @deprecated Use {@link module:Okta.Model|Okta.Model} instead\n\t * @example\n\t * var Model = BaseModel.extend({\n\t * defaults: {\n\t * name: BaseModel.ComputedProperty(['fname', 'lname'], function (fname, lname) {\n\t * return fname + ' ' + lname;\n\t * })\n\t * }\n\t * });\n\t * var model = new Model({fname: 'Joe', lname: 'Doe'});\n\t * model.get('name'); //=> \"Joe Doe\"\n\t * model.toJSON(); //=> {fname: 'Joe', lname: 'Doe'}\n\t *\n\t * model.set('__private__', 'private property');\n\t * model.get('__private__'); //=> \"private property\"\n\t * model.toJSON(); //=> {fname: 'Joe', lname: 'Doe'}\n\t */\n\t\n\t var hasProps = function (model) {\n\t var local = _.omit(model.local, _.keys(model._builtInLocalProps));\n\t return _.size(model.props) + _.size(local) > 0;\n\t };\n\t\n\t var BaseModel = Model.extend(/** @lends module:Okta.BaseModel.prototype */ {\n\t /**\n\t * @type {Boolean}\n\t */\n\t flat: false,\n\t\n\t constructor: function () {\n\t Model.apply(this, arguments);\n\t this.on('sync', this._setSynced);\n\t },\n\t\n\t allows: function () {\n\t if (hasProps(this)) {\n\t return Model.prototype.allows.apply(this, arguments);\n\t }\n\t else {\n\t return true;\n\t }\n\t },\n\t\n\t // bw compatibility support for old computed properties\n\t set: function (key, val) {\n\t var attrs;\n\t if (typeof key === 'object') {\n\t attrs = key;\n\t } else {\n\t (attrs = {})[key] = val;\n\t }\n\t\n\t // computed properties\n\t _(attrs).each(function (fn, attr) {\n\t if (!fn || !_.isArray(fn.__attributes)) { return; }\n\t this.on('change:' + fn.__attributes.join(' change:'), function () {\n\t var val = this.get(attr);\n\t if (val !== this['__schema__'].computedProperties[attr]) {\n\t this['__schema__'].computedProperties[attr] = val;\n\t this.trigger('change:' + attr, val);\n\t }\n\t }, this);\n\t }, this);\n\t\n\t return Model.prototype.set.apply(this, arguments);\n\t },\n\t\n\t /**\n\t * Get the current value of an attribute from the model. For example: `note.get(\"title\")`\n\t *\n\t * See [Model.get](http://backbonejs.org/#Model-get)\n\t * @param {String} attribute\n\t * @return {Mixed} The value of the model attribute\n\t */\n\t get: function () {\n\t var value = Model.prototype.get.apply(this, arguments);\n\t if (_.isFunction(value)) {\n\t return value.apply(this, _.map(value.__attributes || [], this.get, this));\n\t }\n\t return value;\n\t },\n\t\n\t /**\n\t * Return a shallow copy of the model's attributes for JSON stringification.\n\t * This can be used for persistence, serialization, or for augmentation before being sent to the server.\n\t * The name of this method is a bit confusing, as it doesn't actually return a JSON string —\n\t * but I'm afraid that it's the way that the JavaScript API for JSON.stringify works.\n\t *\n\t * ```javascript\n\t * var artist = new Model({\n\t * firstName: \"Wassily\",\n\t * lastName: \"Kandinsky\"\n\t * });\n\t *\n\t * artist.set({birthday: \"December 16, 1866\"});\n\t * alert(JSON.stringify(artist)); // {\"firstName\":\"Wassily\",\"lastName\":\"Kandinsky\",\"birthday\":\"December 16, 1866\"}\n\t * ```\n\t * See [Model.toJSON](http://backbonejs.org/#Model-toJSON)\n\t * @param {Object} options\n\t * @return {Object}\n\t */\n\t toJSON: function (options) {\n\t options || (options = {});\n\t var res = Model.prototype.toJSON.apply(this, arguments);\n\t\n\t // cleanup computed properties\n\t _(res).each(function (value, key) {\n\t if (typeof value == 'function') {\n\t if (options.verbose) {\n\t res[key] = this.get(key);\n\t } else {\n\t delete res[key];\n\t }\n\t }\n\t }, this);\n\t\n\t // cleanup private properties\n\t if (!options.verbose) {\n\t _(res).each(function (value, key) {\n\t if (/^__\\w+__$/.test(key)) {\n\t delete res[key];\n\t }\n\t });\n\t }\n\t\n\t return res;\n\t },\n\t\n\t sanitizeAttributes: function (attributes) {\n\t var attrs = {};\n\t _.each(attributes, function (value, key) {\n\t if (!_.isFunction(value)) {\n\t attrs[key] = value;\n\t }\n\t });\n\t return attrs;\n\t },\n\t\n\t reset: function (options) {\n\t this.clear(options);\n\t this.set(this.sanitizeAttributes(this.defaults), options);\n\t },\n\t\n\t clear: function (options) {\n\t var attrs = {};\n\t _.each(this.sanitizeAttributes(this.attributes), function (value, key) {\n\t attrs[key] = void 0;\n\t });\n\t return this.set(attrs, _.extend({}, options, {unset: true}));\n\t },\n\t\n\t /**\n\t * @private\n\t */\n\t _setSynced: function (newModel) {\n\t this._syncedData = newModel && _.isFunction(newModel.toJSON) ? newModel.toJSON() : {};\n\t },\n\t\n\t /**\n\t * @private\n\t */\n\t _getSynced: function () {\n\t return this._syncedData;\n\t },\n\t\n\t isSynced: function () {\n\t return _.isEqual(this._getSynced(), this.toJSON());\n\t }\n\t }, /** @lends module:Okta.BaseModel.prototype */ {\n\t /**\n\t * @static\n\t *\n\t * Example:\n\t *\n\t * ```javascript\n\t * var Model = BaseModel.extend({\n\t * defaults: {\n\t * name: BaseModel.ComputedProperty(['fname', 'lname'], function (fname, lname) {\n\t * return fname + ' ' + lname;\n\t * })\n\t * }\n\t * });\n\t * var model = new Model({fname: 'Joe', lname: 'Doe'});\n\t * model.get('name'); // Joe Doe\n\t * model.toJSON(); // {fname: 'Joe', lname: 'Doe'}\n\t * ```\n\t *\n\t * @param {Array} attributes - an array of the attribute names this method depends on\n\t * @param {Function} callback the function that computes the value of the property\n\t *\n\t * @deprecated Use {@link #derived} instead\n\t */\n\t ComputedProperty: function () {\n\t var args = _.toArray(arguments);\n\t var fn = args.pop();\n\t fn.__attributes = args.pop();\n\t return fn;\n\t }\n\t });\n\t\n\t return BaseModel;\n\t\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 19 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(20)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, Collection) {\n\t /**\n\t * Wrapper around the more generic {@link src/framework/Collection} that\n\t * contains Okta-specific logic.\n\t * @class module:Okta.Collection\n\t * @extends src/framework/Collection\n\t */\n\t return Collection.extend(/** @lends module:Okta.Collection.prototype */ {\n\t\n\t /**\n\t * Is the end point using the legacy \"secureJSON\" format\n\t * @type {Function|Boolean}\n\t */\n\t secureJSON: false,\n\t\n\t constructor: function () {\n\t if (_.result(this, 'secureJSON')) {\n\t this.sync = _.wrap(this.sync, function (sync, method, collection, options) {\n\t return sync.call(this, method, collection, _.extend({dataType: 'secureJSON'}, options));\n\t });\n\t }\n\t Collection.apply(this, arguments);\n\t }\n\t\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 20 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (root, factory) {\n\t if (true) {\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(6)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t }\n\t /* global module, exports */\n\t else if (typeof require == 'function' && typeof exports == 'object') {\n\t module.exports = factory(require('okta/underscore'), require('backbone'));\n\t }\n\t else {\n\t root.Archer || (root.Archer = {});\n\t root.Archer.Collection = factory(root._, root.Backbone);\n\t }\n\t}(this, function (_, Backbone) {\n\t var STATE = '__STATE__',\n\t FETCH_DATA = 'FETCH_DATA',\n\t PAGINATION_DATA = 'PAGINATION_DATA',\n\t DEFAULT_PARAMS = 'DEFAULT_PARAMS',\n\t LINK_BY_HEADER = 'LINK_BY_HEADER',\n\t XHR = 'XHR';\n\t\n\t /*\n\t * Sets the next page URL on the collection from link headers\n\t * See: http://www.rfc-editor.org/rfc/rfc5988.txt\n\t *\n\t * This method is looking for a link header with `rel=\"next\"`\n\t * An set's it as the next page's URL.\n\t *\n\t * If it doesn't find a next page, and current page is set by a link header\n\t * it assumes we are at the last page and deletes the current `next`\n\t */\n\t function setLinkHeadersPagination(collection, xhr) {\n\t try {\n\t var links = parseLinkHeader(xhr.getResponseHeader('link'));\n\t collection[STATE].set(LINK_BY_HEADER, true);\n\t collection.setPagination(links['next'].href);\n\t }\n\t catch (e) {\n\t if (collection[STATE].get(LINK_BY_HEADER)) {\n\t collection.setPagination(null);\n\t }\n\t }\n\t }\n\t\n\t function parseQuery(url) {\n\t var params = {},\n\t rawQueryStr = url && url.split('?')[1],\n\t queryString = rawQueryStr && decodeURIComponent(rawQueryStr.split('#')[0]).replace(/\\+/g, ' '),\n\t props = queryString ? queryString.split('&') : [];\n\t for (var i = 0; i < props.length; i++) {\n\t var parts = props[i].split('=');\n\t params[parts.shift()] = parts.join('=');\n\t }\n\t return params;\n\t }\n\t\n\t // ################################################\n\t // # Source: https://gist.github.com/deiu/9335803\n\t // ################################################\n\t\n\t // unquote string (utility)\n\t function unquote(value) {\n\t if (value.charAt(0) == '\"' && value.charAt(value.length - 1) == '\"') {\n\t return value.substring(1, value.length - 1);\n\t }\n\t return value;\n\t }\n\t /*\n\t parse a Link header\n\t Link:; rel=meta\n\t var r = parseLinkHeader(xhr.getResponseHeader('Link');\n\t r['meta']['href'] outputs https://example.org/.meta\n\t */\n\t function parseLinkHeader(header) {\n\t /* eslint max-statements: 0 */\n\t var linkexp = /<[^>]*>\\s*(\\s*;\\s*[^()<>@,;:\"/[\\]?={} \\t]+=(([^()<>@,;:\"/[\\]?={} \\t]+)|(\"[^\"]*\")))*(,|$)/g,\n\t paramexp = /[^()<>@,;:\"/[\\]?={} \\t]+=(([^()<>@,;:\"/[\\]?={} \\t]+)|(\"[^\"]*\"))/g;\n\t\n\t var matches = header.match(linkexp);\n\t var rels = {};\n\t for (var i = 0; i < matches.length; i++) {\n\t var split = matches[i].split('>');\n\t var href = split[0].substring(1);\n\t var link = {};\n\t link.href = href;\n\t var s = split[1].match(paramexp);\n\t for (var j = 0; j < s.length; j++) {\n\t var paramsplit = s[j].split('=');\n\t var name = paramsplit[0];\n\t link[name] = unquote(paramsplit[1]);\n\t }\n\t\n\t if (link.rel !== undefined) {\n\t rels[link.rel] = link;\n\t }\n\t }\n\t\n\t return rels;\n\t }\n\t\n\t // ################################################\n\t // # /Source\n\t // ################################################\n\t //\n\t\n\t /**\n\t *\n\t * Archer.Collection is a standard [Backbone.Collection](http://backbonejs.org/#Collection) with pre-set `data`\n\t * parameters and built in pagination - works with [http link headers](https://tools.ietf.org/html/rfc5988)\n\t * out of the box:\n\t *\n\t * @class src/framework/Collection\n\t * @extends external:Backbone.Collection\n\t * @example\n\t * var Users = Archer.Collection.extend({\n\t * url: '/api/v1/users'\n\t * params: {expand: true}\n\t * });\n\t * var users = new Users(null, {params: {type: 'new'}}),\n\t * $button = this.$('a.fetch-more');\n\t *\n\t * $button.click(function () {\n\t * users.fetchMore();\n\t * });\n\t *\n\t * this.listenTo(users, 'sync', function () {\n\t * $button.toggle(users.hasMore());\n\t * });\n\t *\n\t * collection.fetch(); //=> '/api/v1/users?expand=true&type=new'\n\t */\n\t return Backbone.Collection.extend(/** @lends src/framework/Collection.prototype */ {\n\t\n\t /**\n\t * Default fetch parameters\n\t * @type {Object}\n\t */\n\t params: {},\n\t\n\t constructor: function (models, options) {\n\t var state = this[STATE] = new Backbone.Model();\n\t state.set(DEFAULT_PARAMS, _.defaults(options && options.params || {}, this.params || {}));\n\t Backbone.Collection.apply(this, arguments);\n\t },\n\t\n\t /**\n\t * See [Backbone Collection.sync](http://backbonejs.org/#Collection-sync).\n\t */\n\t sync: function (method, collection, options) {\n\t var self = this,\n\t success = options.success;\n\t options.success = function (resp, status, xhr) {\n\t // its important to set the pagination data *before* we call the success callback\n\t // because we want the pagination data to be ready when the collection triggers the `sync` event\n\t setLinkHeadersPagination(self, xhr);\n\t success.apply(null, arguments);\n\t };\n\t return Backbone.Collection.prototype.sync.call(this, method, collection, options);\n\t },\n\t\n\t /**\n\t * See [Backbone Collection.fetch](http://backbonejs.org/#Collection-fetch).\n\t */\n\t fetch: function (options) {\n\t options || (options = {});\n\t var state = this[STATE],\n\t xhr = state.get(XHR);\n\t\n\t options.data = _.extend({}, state.get(DEFAULT_PARAMS), options.data || {});\n\t options.fromFetch = true;\n\t\n\t state.set(FETCH_DATA, options.data);\n\t if (xhr && xhr.abort && options.abort !== false) {\n\t xhr.abort();\n\t }\n\t xhr = Backbone.Collection.prototype.fetch.call(this, options);\n\t state.set(XHR, xhr);\n\t return xhr;\n\t },\n\t\n\t /**\n\t * Set pagination data to get to the next page\n\t * @param {Mixed} params\n\t * @param {Object} [options]\n\t * @param {Boolean} [options.fromFetch] should we include data from the previous fetch call in this object\n\t * @example\n\t * collection.setPagination({q: 'foo', page: '2'}); //=> {q: 'foo', page: '2'}\n\t *\n\t * collection.setPagination('/path/to/resource?q=baz&page=4'); //=> {q: 'baz', page: '4'}\n\t *\n\t * collection.setPagination('/path/to/resource'); //=> {}\n\t *\n\t * collection.fetch({data: {q: 'foo'}});\n\t * collection.setPagination({page: 2}, {fromFetch: true}); //=> {q: 'foo', page: 2}\n\t *\n\t * any \"falsy\" value resets pagination\n\t * collection.setPagination(); //=> {}\n\t * collection.setPagination(null); //=> {}\n\t * collection.setPagination(false); //=> {}\n\t * collection.setPagination(''); //=> {}\n\t * collection.setPagination(0); //=> {}\n\t * @protected\n\t */\n\t setPagination: function (params, options) {\n\t /* eslint complexity: [2, 8] */\n\t if (_.isString(params) && params) {\n\t params = parseQuery(params);\n\t }\n\t if (!_.isObject(params) || _.isArray(params) || !_.size(params)) {\n\t params = null;\n\t }\n\t else if (options && options.fromFetch) {\n\t params = _.extend({}, this.getFetchData(), params);\n\t }\n\t this[STATE].set(PAGINATION_DATA, params);\n\t },\n\t\n\t /**\n\t * Returns the `data` parameters applied in th most recent `fetch` call\n\t * It will include parameters set by {@link #params} and optios.params passed to the constructor\n\t * @return {Object}\n\t * @protected\n\t */\n\t getFetchData: function () {\n\t return this[STATE].get(FETCH_DATA) || {};\n\t },\n\t\n\t /**\n\t * Data object for constructing a request to fetch the next page\n\t * @return {Object}\n\t * @protected\n\t */\n\t getPaginationData: function () {\n\t return this[STATE].get(PAGINATION_DATA) || {};\n\t },\n\t\n\t /**\n\t * Does this collection have more data on the server (e.g is there a next \"page\")\n\t * @return {Boolean}\n\t */\n\t hasMore: function () {\n\t return _.size(this.getPaginationData()) > 0;\n\t },\n\t\n\t /**\n\t * Get the next page from the server\n\t * @return {Object} xhr returned by {@link #fetch}\n\t */\n\t fetchMore: function () {\n\t if (!this.hasMore()) {\n\t throw new Error('Invalid Request');\n\t }\n\t return this.fetch({data: this.getPaginationData(), add: true, remove: false, update: true});\n\t },\n\t\n\t /**\n\t * See [Backbone Collection.reset](http://backbonejs.org/#Collection-reset).\n\t */\n\t reset: function (models, options) {\n\t options || (options = {});\n\t // only reset the pagination when reset is being called explicitly.\n\t // this is to avoid link headers pagination being overriden and reset when\n\t // fetching the collection using `collection.fetch({reset: true})`\n\t if (!options.fromFetch) {\n\t this.setPagination(null);\n\t }\n\t return Backbone.Collection.prototype.reset.apply(this, arguments);\n\t },\n\t\n\t // we want \"where\" to be able to search through derived properties as well\n\t where: function (attrs, first) {\n\t if (_.isEmpty(attrs)) {\n\t return first ? void 0 : [];\n\t }\n\t return this[first ? 'find' : 'filter'](function (model) {\n\t for (var key in attrs) {\n\t if (attrs[key] !== model.get(key)) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t });\n\t },\n\t\n\t /**\n\t * See [Backbone Collection.create](http://backbonejs.org/#Collection-create).\n\t */\n\t create: function (model, options) {\n\t options || (options = {});\n\t if (!_.result(model, 'urlRoot')) {\n\t options.url = _.result(this, 'url');\n\t }\n\t return Backbone.Collection.prototype.create.call(this, model, options);\n\t }\n\t\n\t });\n\t\n\t}));\n\n\n/***/ },\n/* 21 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* eslint max-statements: [2, 15], complexity: [2, 8], max-params: [2, 8] */\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(3),\n\t __webpack_require__(8),\n\t __webpack_require__(19),\n\t __webpack_require__(18),\n\t __webpack_require__(17),\n\t __webpack_require__(22),\n\t __webpack_require__(10),\n\t __webpack_require__(23)\n\t], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, $, BaseCollection, BaseModel, Logger, SchemaUtil, StringUtil, EnumTypeHelper) {\n\t\n\t var loc = StringUtil.localize;\n\t\n\t var STRING = SchemaUtil.STRING,\n\t NUMBER = SchemaUtil.NUMBER,\n\t INTEGER = SchemaUtil.INTEGER,\n\t OBJECT = SchemaUtil.OBJECT;\n\t\n\t var getArrayTypeName = function (type, elementType) {\n\t return type + 'of' + elementType;\n\t };\n\t\n\t var SubSchema = BaseModel.extend({\n\t defaults: {\n\t description: undefined,\n\t minLength: undefined,\n\t maxLength: undefined,\n\t format: undefined\n\t },\n\t parse: function (resp) {\n\t if (_.isString(resp.format)) {\n\t var matcher = /^\\/(.+)\\/$/.exec(resp.format);\n\t if (matcher) {\n\t resp.format = matcher[1];\n\t }\n\t }\n\t return resp;\n\t }\n\t });\n\t\n\t var SubSchemaCollection = BaseCollection.extend({\n\t model: SubSchema\n\t });\n\t\n\t var SubSchemaAllOfCollection = SubSchemaCollection.extend({\n\t _type: 'allOf'\n\t });\n\t\n\t var SubSchemaOneOfCollection = SubSchemaCollection.extend({\n\t _type: 'oneOf'\n\t });\n\t\n\t var SubSchemaNoneOfCollection = SubSchemaCollection.extend({\n\t _type: 'noneOf'\n\t });\n\t\n\t var constraintTypeErrorMessages = {\n\t string: loc('schema.validation.field.value.must.string', 'courage'),\n\t number: loc('schema.validation.field.value.must.number', 'courage'),\n\t integer: loc('schema.validation.field.value.must.integer', 'courage'),\n\t object: loc('schema.validation.field.value.must.object', 'courage')\n\t };\n\t\n\t var loginFormatNonePattern = '.+';\n\t\n\t var escapedLoginCharsRe = /[^a-zA-Z0-9-]/;\n\t\n\t var SchemaProperty = BaseModel.extend({\n\t\n\t constraintHandlers: {\n\t between: '_checkBetweenConstraints',\n\t greaterThan: '_checkGreaterThanConstraint',\n\t lessThan: '_checkLessThanConstraint',\n\t equals: '_checkEqualsConstraint'\n\t },\n\t\n\t idAttribute: 'name',\n\t\n\t local: {\n\t '__oneOf__': {\n\t type: 'array',\n\t minItems: 1\n\t }\n\t },\n\t\n\t defaults: {\n\t // OKTA-28445, set empty string by default as the key for each property when sycn with server\n\t // so that server can respond with error when a name is not provided\n\t name: '',\n\t title: undefined,\n\t type: undefined,\n\t description: undefined,\n\t required: false,\n\t format: undefined,\n\t // choose disable option be default.\n\t union: undefined,\n\t subSchemas: undefined,\n\t settings: {permissions: {SELF: SchemaUtil.PERMISSION.READ_ONLY}},\n\t '__isSensitive__': BaseModel.ComputedProperty(['settings'], function (settings) {\n\t return !!(settings && settings.sensitive);\n\t }),\n\t '__userPermission__': SchemaUtil.PERMISSION.READ_ONLY,\n\t '__displayType__': undefined,\n\t '__displayTypeLabel__': BaseModel.ComputedProperty(['__displayType__'], function (displayType) {\n\t return SchemaUtil.DATATYPE[displayType] || displayType;\n\t }),\n\t '__supportsMinMax__': false,\n\t // use the private naming convention for these computed properties,\n\t // to deal with the complexity in cloning schema with properties (toJSON({verbose: true})),\n\t // to make sure these attributes are being excluded from api request\n\t '__isReadOnly__': BaseModel.ComputedProperty(['mutability'], function (mutability) {\n\t return mutability === SchemaUtil.MUTABILITY.READONLY;\n\t }),\n\t '__isWriteOnly__': BaseModel.ComputedProperty(['mutability'], function (mutability) {\n\t return mutability === SchemaUtil.MUTABILITY.WRITEONLY;\n\t }),\n\t '__displayScope__': undefined,\n\t '__isScopeSelf__': BaseModel.ComputedProperty(['scope'], function (scope) {\n\t return scope === SchemaUtil.SCOPE.SELF;\n\t }),\n\t '__isNoneScopeArrayType__': BaseModel.ComputedProperty(\n\t ['__isScopeSelf__', '__displayType__'],\n\t function (isScopeSelf, displayType) {\n\t return !isScopeSelf && SchemaUtil.isArrayDataType(displayType);\n\t }),\n\t '__isImported__': BaseModel.ComputedProperty(['externalName'], function (externalName) {\n\t return !!externalName;\n\t }),\n\t '__isFromBaseSchema__': BaseModel.ComputedProperty(['__schemaMeta__'], function (schemaMeta) {\n\t return schemaMeta && schemaMeta.name === 'base';\n\t }),\n\t // Only UI can turn on __enumDefined__ and reprocess the enum/oneOf value; otherwise,\n\t // it should leave existing value untouch\n\t '__enumDefined__': false,\n\t '__supportEnum__': BaseModel.ComputedProperty(['__displayType__'], function (displayType) {\n\t return _.contains(SchemaUtil.SUPPORTENUM, displayType);\n\t }),\n\t '__isNumberTypeEnum__': BaseModel.ComputedProperty(['__displayType__'], function (displayType) {\n\t return _.contains([SchemaUtil.NUMBER, SchemaUtil.ARRAYDISPLAYTYPE.arrayofnumber], displayType);\n\t }),\n\t '__isIntegerTypeEnum__': BaseModel.ComputedProperty(['__displayType__'], function (displayType) {\n\t return _.contains([SchemaUtil.INTEGER, SchemaUtil.ARRAYDISPLAYTYPE.arrayofinteger], displayType);\n\t }),\n\t '__isObjectTypeEnum__': BaseModel.ComputedProperty(['__displayType__'], function (displayType) {\n\t return _.contains([SchemaUtil.OBJECT, SchemaUtil.ARRAYDISPLAYTYPE.arrayofobject], displayType);\n\t }),\n\t '__isStringTypeEnum__': BaseModel.ComputedProperty(['__displayType__'], function (displayType) {\n\t return _.contains([SchemaUtil.STRING, SchemaUtil.ARRAYDISPLAYTYPE.arrayofstring], displayType);\n\t }),\n\t '__enumConstraintType__': BaseModel.ComputedProperty(\n\t ['__isStringTypeEnum__', '__isNumberTypeEnum__', '__isIntegerTypeEnum__', '__isObjectTypeEnum__'],\n\t function (isStringType, isNumberType, isIntegerType, isObjectType) {\n\t if (isStringType) {\n\t return STRING;\n\t }\n\t if (isNumberType) {\n\t return NUMBER;\n\t }\n\t if (isIntegerType) {\n\t return INTEGER;\n\t }\n\t if (isObjectType) {\n\t return OBJECT;\n\t }\n\t }),\n\t '__isEnumDefinedAndSupported__': BaseModel.ComputedProperty(\n\t ['__enumDefined__', '__supportEnum__'],\n\t function (enumDefined, supportEnum) {\n\t return enumDefined && supportEnum;\n\t }),\n\t '__isLoginOfBaseSchema__': BaseModel.ComputedProperty(\n\t ['__isFromBaseSchema__', 'name'], function (isFromBaseSchema, name) {\n\t return isFromBaseSchema && name === 'login';\n\t })\n\t },\n\t\n\t initialize: function () {\n\t BaseModel.prototype.initialize.apply(this, arguments);\n\t this.listenTo(this, 'change:__displayType__', this._updateTypeFormatConstraints);\n\t this.listenTo(this, 'change:type change:format change:items', this._updateDisplayType);\n\t this.listenTo(this, 'change:__minVal__ change:__maxVal__', this._updateMinMax);\n\t this.listenTo(this, 'change:__equals__', this._convertEqualsToMinMax);\n\t this.listenTo(this, 'change:__constraint__', this._setConstraintText);\n\t this._setConstraintText();\n\t this._setLoginPattern();\n\t },\n\t\n\t parse: function (resp) {\n\t /* eslint complexity: [2, 9] */\n\t resp = _.clone(resp);\n\t\n\t if (resp.type === 'object' && resp.extendedType === 'image') {\n\t resp.type = 'image';\n\t }\n\t resp['__displayType__'] = SchemaUtil.getDisplayType(\n\t resp.type, resp.format, resp.items ? (\n\t resp.items.format ? resp.items.format : resp.items.type\n\t ) : undefined\n\t );\n\t this._setRangeConstraints(resp);\n\t resp['__supportsMinMax__'] = SchemaUtil.SUPPORTSMINMAX.indexOf(resp['__displayType__']) != -1;\n\t resp['__displayScope__'] = SchemaUtil.DISPLAYSCOPE[resp.scope] || SchemaUtil.DISPLAYSCOPE.NA;\n\t if (resp.settings && resp.settings.permissions && resp.settings.permissions.SELF) {\n\t resp['__userPermission__'] = resp.settings.permissions.SELF;\n\t }\n\t this._setMasterOverride(resp);\n\t this._setSubSchemas(resp);\n\t return resp;\n\t },\n\t\n\t validate: function () {\n\t var enumValidationError = this._validateEnumOneOf();\n\t\n\t if (enumValidationError) {\n\t return enumValidationError;\n\t }\n\t\n\t if (!this.get('__supportsMinMax__') || !this.get('__constraint__')) {\n\t return undefined;\n\t }\n\t\n\t var constraitType = this.get('__constraint__'),\n\t constraitHandler = this[this.constraintHandlers[constraitType]];\n\t\n\t if (_.isFunction(constraitHandler)) {\n\t return constraitHandler.call(this);\n\t } else {\n\t Logger.warn('No constraint handler found for: ' + constraitType);\n\t return undefined;\n\t }\n\t },\n\t\n\t _checkBetweenConstraints: function () {\n\t var minVal = this.get('__minVal__'),\n\t maxVal = this.get('__maxVal__');\n\t\n\t if (!minVal && !maxVal) {\n\t return;\n\t }\n\t if (!minVal) {\n\t return {'__minVal__': 'Min value is required'};\n\t }\n\t if (!maxVal) {\n\t return {'__maxVal__': 'Max value is required'};\n\t }\n\t var val = this._checkIntegerConstraints('__minVal__', 'Min value');\n\t if (val) {\n\t return val;\n\t }\n\t val = this._checkIntegerConstraints('__maxVal__', 'Max value');\n\t if (val) {\n\t return val;\n\t }\n\t if (+minVal >= +maxVal) {\n\t return {'__maxVal__': 'Max val must be greater than min val'};\n\t }\n\t },\n\t\n\t _checkGreaterThanConstraint: function () {\n\t var minVal = this.get('__minVal__');\n\t if (!minVal) {\n\t return;\n\t }\n\t var val = this._checkIntegerConstraints('__minVal__', 'Min value');\n\t if (val) {\n\t return val;\n\t }\n\t },\n\t\n\t _checkLessThanConstraint: function () {\n\t var maxVal = this.get('__maxVal__');\n\t if (!maxVal) {\n\t return;\n\t }\n\t var val = this._checkIntegerConstraints('__maxVal__', 'Max value');\n\t if (val) {\n\t return val;\n\t }\n\t },\n\t\n\t _checkEqualsConstraint: function () {\n\t var equals = this.get('__equals__');\n\t if (!equals) {\n\t return;\n\t }\n\t var val = this._checkIntegerConstraints('__equals__', 'Constraint');\n\t if (val) {\n\t return val;\n\t }\n\t },\n\t\n\t _checkIntegerConstraints: function (field, name) {\n\t var val = this.get(field);\n\t\n\t var error = {};\n\t if (isNaN(val)) {\n\t error[field] = name + ' must be a number';\n\t return error;\n\t }\n\t if (+val < 0) {\n\t error[field] = name + ' must be greater than 0';\n\t return error;\n\t }\n\t },\n\t\n\t _setMasterOverride: function (resp) {\n\t if (resp.settings && resp.settings.masterOverride && resp.settings.masterOverride) {\n\t var masterOverrideValue = resp.settings.masterOverride.value;\n\t if (_.isArray(masterOverrideValue) && !_.isEmpty(masterOverrideValue)) {\n\t resp['__masterOverrideType__'] = 'OVERRIDE';\n\t resp['__masterOverrideValue__'] = masterOverrideValue || [];\n\t } else {\n\t resp['__masterOverrideType__'] = resp.settings.masterOverride.type;\n\t }\n\t } else {\n\t resp['__masterOverrideType__'] = 'INHERIT';\n\t }\n\t },\n\t\n\t _setRangeConstraints: function (resp) {\n\t /* eslint complexity: [2, 11] */\n\t if (resp['__displayType__'] == STRING) {\n\t resp['__minVal__'] = resp.minLength;\n\t resp['__maxVal__'] = resp.maxLength;\n\t } else if (resp['__displayType__'] == INTEGER || resp['__displayType__'] == NUMBER) {\n\t resp['__minVal__'] = resp.minimum;\n\t resp['__maxVal__'] = resp.maximum;\n\t }\n\t if (resp['__minVal__'] && resp['__maxVal__']) {\n\t if (resp['__minVal__'] === resp['__maxVal__']) {\n\t resp['__constraint__'] = 'equals';\n\t resp['__equals__'] = resp['__minVal__'];\n\t } else {\n\t resp['__constraint__'] = 'between';\n\t }\n\t } else if (!resp['__minVal__'] && resp['__maxVal__']) {\n\t resp['__constraint__'] = 'lessThan';\n\t } else if (!resp['__maxVal__'] && resp['__minVal__']) {\n\t resp['__constraint__'] = 'greaterThan';\n\t }\n\t },\n\t\n\t _setSubSchemas: function (resp) {\n\t if (resp.allOf) {\n\t resp['subSchemas'] = new SubSchemaAllOfCollection(resp.allOf, { parse: true});\n\t } else if (resp.oneOf) {\n\t resp['subSchemas'] = new SubSchemaOneOfCollection(resp.oneOf, { parse: true});\n\t } else if (resp.noneOf) {\n\t resp['subSchemas'] = new SubSchemaNoneOfCollection(resp.noneOf, { parse: true});\n\t }\n\t },\n\t\n\t _setLoginPattern: function () {\n\t if (!this.get('__isLoginOfBaseSchema__')) {\n\t return;\n\t }\n\t\n\t var pattern = this.get('pattern');\n\t if (pattern === loginFormatNonePattern) {\n\t this.set('__loginFormatRestriction__', SchemaUtil.LOGINPATTERNFORMAT.NONE);\n\t } else if (pattern) {\n\t this.set('__loginFormatRestriction__', SchemaUtil.LOGINPATTERNFORMAT.CUSTOM);\n\t this.set('__loginFormatRestrictionCustom__', this._extractLoginPattern(pattern));\n\t } else {\n\t this.set('__loginFormatRestriction__', SchemaUtil.LOGINPATTERNFORMAT.EMAIL);\n\t }\n\t },\n\t\n\t _updateDisplayType: function () {\n\t var type = this.get('type');\n\t if (type === STRING && this.get('format')) {\n\t this.set('__displayType__', SchemaUtil.FORMATDISPLAYTYPE[this.get('format')]);\n\t } else {\n\t var items = this.get('items');\n\t var arraytype = items && (items.format ? items.format : items.type);\n\t if (type && arraytype) {\n\t this.set('__displayType__', SchemaUtil.ARRAYDISPLAYTYPE[getArrayTypeName(type, arraytype)]);\n\t } else {\n\t this.set('__displayType__', type);\n\t }\n\t }\n\t },\n\t\n\t _validateEnumOneOf: function () {\n\t if (!this.get('__isEnumDefinedAndSupported__')) {\n\t return;\n\t }\n\t\n\t var enumOneOf = this.get('__oneOf__') || [];\n\t\n\t if (_.isEmpty(enumOneOf)) {\n\t return { '__oneOf__': loc('model.validation.field.blank', 'courage') };\n\t }\n\t\n\t if (!this._isValidateOneOfConstraint(enumOneOf)) {\n\t var constraintType = this.get('__enumConstraintType__'),\n\t errorTypeMsg = constraintTypeErrorMessages[constraintType];\n\t\n\t return { '__oneOf__': errorTypeMsg };\n\t }\n\t },\n\t\n\t _isValidateOneOfConstraint: function (values) {\n\t var constraintType = this.get('__enumConstraintType__');\n\t\n\t return _.all(values, function (value) {\n\t return EnumTypeHelper.isConstraintValueMatchType(value.const, constraintType);\n\t });\n\t },\n\t\n\t toJSON: function () {\n\t var json = BaseModel.prototype.toJSON.apply(this, arguments);\n\t\n\t json.settings = {permissions: {}};\n\t json.settings.permissions['SELF'] = this.get('__userPermission__');\n\t\n\t // omit \"sensitive\" filed will have default it value to false.\n\t if (this.get('__isSensitive__')) {\n\t json.settings.sensitive = this.get('__isSensitive__');\n\t }\n\t if (this.get('type') === 'image') {\n\t json.type = 'object';\n\t json.extendedType = 'image';\n\t }\n\t\n\t json = this._enumAssignment(json);\n\t json = this._attributeOverrideToJson(json);\n\t json = this._normalizeUnionValue(json);\n\t json = this._patternAssignment(json);\n\t return json;\n\t },\n\t\n\t _attributeOverrideToJson: function (json) {\n\t var masterOverrideType = this.get('__masterOverrideType__'),\n\t masterOverrideValue = this.get('__masterOverrideValue__');\n\t if (masterOverrideType === 'OKTA_MASTERED') {\n\t json.settings.masterOverride = {type: 'OKTA_MASTERED'};\n\t } else if (masterOverrideType === 'OVERRIDE') {\n\t json.settings.masterOverride = {type: 'ORDERED_LIST', value: []};\n\t if (masterOverrideValue instanceof BaseCollection) {\n\t _.each(masterOverrideValue.toJSON(), function (overrideProfile) {\n\t json.settings.masterOverride.value.push(overrideProfile.id);\n\t });\n\t } else if (masterOverrideValue instanceof Array) {\n\t json.settings.masterOverride.value = masterOverrideValue;\n\t }\n\t if (_.isEmpty(json.settings.masterOverride.value)) {\n\t delete json.settings.masterOverride;\n\t }\n\t }\n\t\n\t if (masterOverrideType === 'INHERIT') {\n\t delete json.settings.masterOverride;\n\t }\n\t return json;\n\t },\n\t\n\t /**\n\t * Only allow set \"union\" value when isScopeSelf is NONE and displayType is\n\t * array of (string/number/integer), otherwise reset to default.\n\t *\n\t * @see /universal-directory/shared/views/components/UnionGroupValuesRadio.js\n\t */\n\t _normalizeUnionValue: function (json) {\n\t\n\t if (!this.get('__isNoneScopeArrayType__')) {\n\t json['union'] = undefined;\n\t }\n\t\n\t return json;\n\t },\n\t\n\t _enumAssignment: function (json) {\n\t if (!this.get('__isEnumDefinedAndSupported__')) {\n\t return json;\n\t }\n\t\n\t // backfill empty title by constraint\n\t var enumOneOf = this._getEnumOneOfWithTitleCheck();\n\t\n\t if (this.get('type') === 'array') {\n\t delete json.items.enum;\n\t json.items.oneOf = enumOneOf;\n\t } else {\n\t delete json.enum;\n\t json.oneOf = enumOneOf;\n\t }\n\t\n\t return json;\n\t },\n\t\n\t _patternAssignment: function (json) {\n\t if (!this.get('__isLoginOfBaseSchema__') || !this.get('__loginFormatRestriction__')) {\n\t return json;\n\t }\n\t\n\t switch (this.get('__loginFormatRestriction__')) {\n\t case SchemaUtil.LOGINPATTERNFORMAT.EMAIL:\n\t delete json.pattern;\n\t break;\n\t case SchemaUtil.LOGINPATTERNFORMAT.CUSTOM:\n\t json.pattern = this._buildLoginPattern(this.get('__loginFormatRestrictionCustom__'));\n\t break;\n\t case SchemaUtil.LOGINPATTERNFORMAT.NONE:\n\t json.pattern = loginFormatNonePattern;\n\t break;\n\t }\n\t\n\t return json;\n\t },\n\t\n\t /**\n\t * Character should be escaped except letters, digits and hyphen\n\t */\n\t _escapedRegexChar: function (pattern, index) {\n\t var char = pattern.charAt(index);\n\t\n\t if (escapedLoginCharsRe.test(char)) {\n\t return '\\\\' + char;\n\t }\n\t\n\t return char;\n\t },\n\t\n\t _buildLoginPattern: function (pattern) {\n\t var result = '';\n\t\n\t for (var i = 0; i < pattern.length; i++) {\n\t result = result + this._escapedRegexChar(pattern, i);\n\t }\n\t\n\t return '[' + result + ']+';\n\t },\n\t\n\t _extractLoginPattern: function (pattern) {\n\t var re = /^\\[(.*)\\]\\+/,\n\t matches = pattern.match(re);\n\t return matches ? matches[1].replace(/\\\\(.)/g, '$1') : pattern;\n\t },\n\t\n\t _getEnumOneOfWithTitleCheck: function () {\n\t var enumOneOf = this.get('__oneOf__');\n\t\n\t return _.map(enumOneOf, function (value) {\n\t if ($.trim(value.title) !== '') {\n\t return value;\n\t }\n\t\n\t value.title = !_.isString(value.const) ? JSON.stringify(value.const) : value.const;\n\t\n\t return value;\n\t });\n\t },\n\t\n\t _updateTypeFormatConstraints: function () {\n\t var displayType = this.get('__displayType__');\n\t // OKTA-31952 reset format according to its displayType\n\t this.unset('format', {silent: true});\n\t this.unset('items', {silent: true});\n\t this.set(SchemaUtil.DISPLAYTYPES[displayType]);\n\t if (displayType != NUMBER && displayType != INTEGER) {\n\t this.unset('minimum');\n\t this.unset('maximum');\n\t }\n\t if (displayType != STRING) {\n\t this.unset('minLength');\n\t this.unset('maxLength');\n\t }\n\t\n\t this.unset('__minVal__');\n\t this.unset('__maxVal__');\n\t this.unset('__equals__');\n\t this.set('__supportsMinMax__', SchemaUtil.SUPPORTSMINMAX.indexOf(this.get('__displayType__')) != -1);\n\t },\n\t\n\t _updateMinMax: function () {\n\t var min,\n\t max,\n\t displayType = this.get('__displayType__');\n\t\n\t if (displayType === STRING) {\n\t min = 'minLength';\n\t max = 'maxLength';\n\t } else if (displayType == INTEGER || displayType == NUMBER) {\n\t min = 'minimum';\n\t max = 'maximum';\n\t }\n\t\n\t if (this.get('__minVal__')) {\n\t this.set(min, parseInt(this.get('__minVal__'), 10));\n\t } else {\n\t this.unset(min);\n\t }\n\t\n\t if (this.get('__maxVal__')) {\n\t this.set(max, parseInt(this.get('__maxVal__'), 10));\n\t } else {\n\t this.unset(max);\n\t }\n\t },\n\t\n\t _convertEqualsToMinMax: function () {\n\t var equals = this.get('__equals__');\n\t if (equals) {\n\t this.set('__minVal__', equals);\n\t this.set('__maxVal__', equals);\n\t }\n\t },\n\t\n\t /*\n\t Normally we would use a derived property here but derived properties do not work with the model Clone function\n\t so we use this workaround instead.\n\t */\n\t _setConstraintText: function () {\n\t var constraint = this.get('__constraint__'),\n\t min = this.get('__minVal__'),\n\t max = this.get('__maxVal__'),\n\t equals = this.get('__equals__');\n\t\n\t switch (constraint) {\n\t case 'between':\n\t this.set('__constraintText__', 'Between ' + min + ' and ' + max);\n\t break;\n\t case 'greaterThan':\n\t this.set('__constraintText__', 'Greater than ' + min);\n\t break;\n\t case 'lessThan':\n\t this.set('__constraintText__', 'Less than ' + max);\n\t break;\n\t case 'equals':\n\t this.set('__constraintText__', 'Equals ' + equals);\n\t break;\n\t default:\n\t this.set('__constraintText__', '');\n\t break;\n\t }\n\t },\n\t\n\t cleanup: function () {\n\t if (this.get('__constraint__') === 'lessThan') {\n\t this.unset('__minVal__');\n\t } else if (this.get('__constraint__') === 'greaterThan') {\n\t this.unset('__maxVal__');\n\t }\n\t if (this.get('scope') !== SchemaUtil.SCOPE.SYSTEM) {\n\t if (this.get('__isScopeSelf__') === true) {\n\t this.set({'scope': SchemaUtil.SCOPE.SELF}, {silent: true});\n\t } else {\n\t this.unset('scope');\n\t }\n\t }\n\t },\n\t\n\t /**\n\t * Since there is not an dedicated attribute to flag enum type,\n\t * use enum values to determine whether the property is enum type or not.\n\t */\n\t isEnumType: function () {\n\t return !!this.getEnumValues();\n\t },\n\t\n\t getEnumValues: function () {\n\t return this.get('oneOf') ||\n\t this.get('enum') ||\n\t (this.get('items') && this.get('items')['oneOf']) ||\n\t (this.get('items') && this.get('items')['enum']);\n\t },\n\t\n\t detectHasEnumDefined: function () {\n\t var enumValues = this.getEnumValues();\n\t\n\t if (!enumValues) {\n\t return;\n\t }\n\t\n\t this.set('__oneOf__', EnumTypeHelper.convertToOneOf(enumValues));\n\t this.set('__enumDefined__', true);\n\t }\n\t\n\t });\n\t\n\t var SchemaProperties = BaseCollection.extend({\n\t model: SchemaProperty,\n\t clone: function () {\n\t return new this.constructor(this.toJSON({verbose: true}), {parse: true});\n\t },\n\t areAllReadOnly: function () {\n\t return _.all(this.pluck('__isReadOnly__'));\n\t },\n\t createModelProperties: function () {\n\t return this.reduce(function (p, schemaProperty) {\n\t var type = schemaProperty.get('type');\n\t p[schemaProperty.id] = _.clone(SchemaUtil.DISPLAYTYPES[type]);\n\t if (SchemaUtil.SUPPORTSMINMAX.indexOf(type) != -1) {\n\t p[schemaProperty.id].minLength = schemaProperty.get('minLength');\n\t p[schemaProperty.id].maxLength = schemaProperty.get('maxLength');\n\t }\n\t if (type === 'string') {\n\t p[schemaProperty.id].format = schemaProperty.get('format');\n\t }\n\t return p;\n\t }, {});\n\t }\n\t });\n\t\n\t return {\n\t Model: SchemaProperty,\n\t Collection: SchemaProperties\n\t };\n\t\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 22 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(3),\n\t __webpack_require__(10)\n\t], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, StringUtil) {\n\t\n\t var loc = StringUtil.localize;\n\t\n\t var SchemaUtils = {\n\t STRING: 'string',\n\t NUMBER: 'number',\n\t INTEGER: 'integer',\n\t BOOLEAN: 'boolean',\n\t OBJECT: 'object',\n\t FORMATDISPLAYTYPE: {\n\t 'date-time': 'date',\n\t 'uri': 'uri',\n\t 'email': 'email',\n\t 'country-code': 'country-code',\n\t 'language-code': 'language-code',\n\t 'locale': 'locale',\n\t 'timezone': 'timezone',\n\t 'ref-id': 'reference'\n\t },\n\t ARRAYDISPLAYTYPE: {\n\t 'arrayofobject': 'arrayofobject',\n\t 'arrayofstring': 'arrayofstring',\n\t 'arrayofnumber': 'arrayofnumber',\n\t 'arrayofinteger': 'arrayofinteger',\n\t 'arrayofref-id': 'arrayofref-id'\n\t },\n\t DISPLAYTYPES: {\n\t 'date': {'type': 'string', 'format': 'date-time'},\n\t 'uri': {'type': 'string', 'format': 'uri'},\n\t 'email': {'type': 'string', 'format': 'email'},\n\t 'country-code': {'type': 'string', 'format': 'country-code'},\n\t 'language-code': {'type': 'string', 'format': 'language-code'},\n\t 'locale': {'type': 'string', 'format': 'locale'},\n\t 'timezone': {'type': 'string', 'format': 'timezone'},\n\t 'string': {'type': 'string'},\n\t 'number': {'type': 'number'},\n\t 'boolean': {'type': 'boolean'},\n\t 'integer': {'type': 'integer'},\n\t 'reference': {'type': 'string', 'format': 'ref-id'},\n\t 'arrayofobject': {'type': 'array', 'items': {'type': 'object'}},\n\t 'arrayofstring': {'type': 'array', 'items': {'type': 'string'}},\n\t 'arrayofnumber': {'type': 'array', 'items': {'type': 'number'}},\n\t 'arrayofinteger': {'type': 'array', 'items': {'type': 'integer'}},\n\t 'arrayofref-id': {'type': 'array', 'items': {'type': 'string', 'format': 'ref-id'}},\n\t 'image': {'type': 'image'},\n\t 'password': {'type': 'string'}\n\t },\n\t SUPPORTSMINMAX: [\n\t 'string',\n\t 'number',\n\t 'integer',\n\t 'password'\n\t ],\n\t SUPPORTENUM: [\n\t 'string',\n\t 'number',\n\t 'integer',\n\t 'object',\n\t 'arrayofstring',\n\t 'arrayofnumber',\n\t 'arrayofinteger',\n\t 'arrayofobject'\n\t ],\n\t DATATYPE: {\n\t 'string': 'string',\n\t 'number': 'number',\n\t 'boolean': 'boolean',\n\t 'integer': 'integer',\n\t 'date': 'datetime',\n\t 'object': 'object',\n\t 'arrayofobject': 'object array',\n\t 'arrayofstring': 'string array',\n\t 'arrayofnumber': 'number array',\n\t 'arrayofinteger': 'integer array',\n\t 'arrayofref-id': 'reference array',\n\t 'country-code': 'country code',\n\t 'language-code': 'language code',\n\t 'reference': 'reference',\n\t 'timezone': 'timezone',\n\t 'image': 'image'\n\t },\n\t MUTABILITY: {\n\t READONLY: 'READ_ONLY',\n\t WRITEONLY: 'WRITE_ONLY',\n\t READWRITE: 'READ_WRITE',\n\t IMMUTABLE: 'IMMUTABLE'\n\t },\n\t SCOPE: {\n\t NONE: 'NONE',\n\t SELF: 'SELF',\n\t SYSTEM: 'SYSTEM'\n\t },\n\t DISPLAYSCOPE: {\n\t SELF: 'User personal',\n\t SYSTEM: 'System',\n\t NA: 'None'\n\t },\n\t UNION: {\n\t DISABLE: 'DISABLE',\n\t ENABLE: 'ENABLE'\n\t },\n\t UNION_OPTIONS: {\n\t 'DISABLE': loc('universal-directory.profiles.attribute.form.union.enable.display', 'courage'),\n\t 'ENABLE': loc('universal-directory.profiles.attribute.form.union.disable.display', 'courage')\n\t },\n\t PERMISSION: {\n\t HIDE: 'HIDE',\n\t READ_ONLY: 'READ_ONLY',\n\t WRITE_ONLY: 'WRITE_ONLY',\n\t READ_WRITE: 'READ_WRITE'\n\t },\n\t ENDUSER_ATTRIBUTE_PERMISSION_OPTIONS: {\n\t HIDE: loc('universal-directory.profiles.attribute.enduser.permission.hide', 'courage'),\n\t READ_ONLY: loc('universal-directory.profiles.attribute.enduser.permission.readonly', 'courage'),\n\t READ_WRITE: loc('universal-directory.profiles.attribute.enduser.permission.readwrite', 'courage')\n\t },\n\t ATTRIBUTE_LEVEL_MASTERING_OPTIONS: {\n\t INHERIT: loc('universal-directory.profiles.attribute.master.inherit', 'courage'),\n\t OKTA_MASTERED: loc('universal-directory.profiles.attribute.master.oktamastered', 'courage'),\n\t OVERRIDE: loc('universal-directory.profiles.attribute.master.override', 'courage')\n\t },\n\t USERNAMETYPE: {\n\t NONE: 'non-username',\n\t OKTA_TO_APP: 'okta-to-app-username',\n\t OKTA_TO_AD: 'okta-to-ad-username',\n\t APP_TO_OKTA: 'app-to-okta-username',\n\t IDP_TO_OKTA: 'idp-to-okta-username'\n\t },\n\t LOGINPATTERNFORMAT: {\n\t EMAIL: 'EMAIL',\n\t CUSTOM: 'CUSTOM',\n\t NONE: 'NONE'\n\t },\n\t\n\t /*\n\t * Get a display string for a schema attribute type.\n\t * @param {String} type Type of an attribute\n\t * @param {String} format Format of an attribute\n\t * @param {String} itemType Item type of an attribute if an array\n\t * @param {String} defaultValue The default value if an attribute type is undefined\n\t * @return {String} the display value\n\t */\n\t getDisplayType: function (type, format, itemType, defaultValue) {\n\t var displayType;\n\t // type is undefined for\n\t // - an un-mapped source attribute from mapping\n\t // - an source attribute which is mapped to username target attribute\n\t if (type) {\n\t // format is only defined for complicated types (ex. reference, date time, array)\n\t // not for simple types (ex. string, integer, boolean)\n\t if (format) {\n\t displayType = this.FORMATDISPLAYTYPE[format];\n\t } else {\n\t // itemType is only defined for array type\n\t // to specify an array element type (ex. string, integer, number)\n\t displayType = itemType ? this.ARRAYDISPLAYTYPE[type + 'of' + itemType] : type;\n\t }\n\t }\n\t if (!displayType) {\n\t displayType = typeof defaultValue == 'undefined' ? '' : defaultValue;\n\t }\n\t return displayType;\n\t },\n\t\n\t /*\n\t * Get attribute mapping source attribute username type\n\t * @param {String} mappingDirection\n\t * @param {String} targetName The mapping target attribute name\n\t * @param {String} appName The app name that's mapped to/from Okta\n\t * @return {String} the source attribute username type value\n\t */\n\t getSourceUsernameType: function (mappingDirection, targetName, appName) {\n\t /* eslint complexity: [2, 7] */\n\t var sourceUsernameType = this.USERNAMETYPE.NONE;\n\t if (mappingDirection === 'oktaToApp') {\n\t if (targetName === 'userName') {\n\t sourceUsernameType = this.USERNAMETYPE.OKTA_TO_APP;\n\t } else if (targetName === 'cn') {\n\t sourceUsernameType = this.USERNAMETYPE.OKTA_TO_AD;\n\t }\n\t } else if (mappingDirection === 'appToOkta' && targetName === 'login') {\n\t if (appName === 'saml_idp') {\n\t sourceUsernameType = this.USERNAMETYPE.IDP_TO_OKTA;\n\t } else {\n\t sourceUsernameType = this.USERNAMETYPE.APP_TO_OKTA;\n\t }\n\t }\n\t return sourceUsernameType;\n\t },\n\t\n\t isArrayDataType: function (type) {\n\t return _.contains(_.values(this.ARRAYDISPLAYTYPE), type);\n\t },\n\t\n\t isObjectDataType: function (type) {\n\t return this.DATATYPE.object === type;\n\t }\n\t };\n\t\n\t return SchemaUtils;\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 23 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* eslint max-statements: 0 */\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(3),\n\t __webpack_require__(8),\n\t __webpack_require__(22),\n\t __webpack_require__(10)\n\t], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, $, SchemaUtil, StringUtil) {\n\t var NAME = 'name',\n\t ENUM_KEY_PREFIX = '_enum_';\n\t\n\t /**\n\t * Generate Input Options in order to create an input in an Form for Enum type attribute.\n\t * @param {Object} config informations for creating input options\n\t * config.name schema property name\n\t * config.title schema property title\n\t * config.readOnly create an read only input?\n\t * config.explain sub-title to the input\n\t * config.enumValues list of enum values for creating input options (Dropdown/SimpleCheckBoxSet)\n\t * config.displayType display type of schema property\n\t *\n\t * @return {Object} inputOptions options for create an Input view. (Dropdown/SimpleCheckBoxSet)\n\t *\n\t */\n\t function getEnumInputOptions(config) {\n\t var enumOneOf = convertToOneOf(config.enumValues),\n\t inputOptions = {\n\t name: config.name,\n\t label: config.title,\n\t readOnly: config.readOnly,\n\t customExplain: config.explain,\n\t params: {enumOneOf: enumOneOf},\n\t options: getDropdownOptionsFromOneOf(enumOneOf)\n\t };\n\t\n\t // input type\n\t if (SchemaUtil.isArrayDataType(config.displayType)) {\n\t inputOptions.type = 'checkboxset';\n\t inputOptions.to = valuesToEnumObjects;\n\t inputOptions.from = enumObjectsToValues;\n\t } else {\n\t inputOptions.type = 'select';\n\t inputOptions.to = valueToEnumObject;\n\t inputOptions.from = enumObjectToValue;\n\t }\n\t\n\t inputOptions.input = null;\n\t return inputOptions;\n\t }\n\t\n\t function getDropdownOptions(values) {\n\t return _.isArray(values) ? getDropdownOptionsFromOneOf(convertToOneOf(values)) : {};\n\t }\n\t\n\t function getDropdownOptionsFromOneOf(values) {\n\t if (!isOneOfEnumObject(values)) {\n\t return {};\n\t }\n\t\n\t return _.reduce(values, function (options, value, index) {\n\t options[convertIndexToEnumIndex(index)] = value.title;\n\t return options;\n\t }, {});\n\t }\n\t\n\t function convertToOneOf(values) {\n\t // assume this is a legacy enum array and convert to oneOf object\n\t if (!_.all(values, $.isPlainObject)) {\n\t return convertEnumToOneOf(values);\n\t\n\t // we assume object without const and title is an enum object which need special conversion\n\t } else if (!isOneOfEnumObject(values)) {\n\t return convertEnumObjectToOneOf(values);\n\t }\n\t\n\t return values;\n\t }\n\t\n\t function isOneOfEnumObject(values) {\n\t return _.isArray(values) && _.all(values, function (value) {\n\t return _.has(value, 'const') && _.has(value, 'title');\n\t });\n\t }\n\t\n\t function convertEnumToOneOf(values) {\n\t return _.map(values, function (value) {\n\t return {\n\t const: value,\n\t title: valueToTitle(value)\n\t };\n\t });\n\t }\n\t\n\t function valueToTitle(value) {\n\t if (_.isObject(value)) {\n\t return JSON.stringify(value);\n\t }\n\t\n\t if (_.isNumber(value)) {\n\t return value + '';\n\t }\n\t\n\t return value;\n\t }\n\t\n\t function convertEnumObjectToOneOf(values) {\n\t // If all object found the key NAME, use the NAME's value as display name\n\t var findKey = _.partial(_.has, _, NAME);\n\t if (_.all(values, findKey)) {\n\t return _.chain(values)\n\t .filter(function (value) { return $.isPlainObject(value) && _.has(value, NAME); })\n\t .map(function (value) { return {const: value, title: value[NAME]}; })\n\t .value();\n\t }\n\t\n\t // Assume a legacy object array does not need special handling and just convert to const/title enum\n\t return convertEnumToOneOf(values);\n\t }\n\t\n\t function convertIndexToEnumIndex(index) {\n\t return `${ENUM_KEY_PREFIX}${index}`;\n\t }\n\t\n\t function enumObjectToValue(obj) {\n\t // Cannot rely on comparator in findIndex when compare objects so need special handling\n\t var index = _.findIndex(this.options.params.enumOneOf, function (oneOfObj) {\n\t return _.isObject(obj) ? _.isEqual(oneOfObj.const, obj) : oneOfObj.const === obj;\n\t });\n\t\n\t return index > -1 ? convertIndexToEnumIndex(index) : obj;\n\t }\n\t\n\t function valueToEnumObject(val) {\n\t if (!_.isString(val) || val.indexOf(ENUM_KEY_PREFIX) !== 0) {\n\t return val;\n\t }\n\t\n\t var index = val.replace(ENUM_KEY_PREFIX, '');\n\t\n\t // @see `getEnumInputOptions` how enumValues has been set.\n\t var enumValue = this.options.params && _.isArray(this.options.params.enumOneOf) ?\n\t this.options.params.enumOneOf[index] : null;\n\t\n\t return _.has(enumValue, 'const') ? enumValue.const : enumValue;\n\t }\n\t\n\t function valuesToEnumObjects(values) {\n\t return _.map(values, valueToEnumObject.bind(this));\n\t }\n\t\n\t function enumObjectsToValues(values) {\n\t return _.map(values, enumObjectToValue.bind(this));\n\t }\n\t\n\t function isStringConstraint(value) {\n\t return _.isString(value) && $.trim(value) !== '';\n\t }\n\t\n\t function isNumberConstraint(value) {\n\t return _.isNumber(value) || _.isNumber(StringUtil.parseFloat($.trim(value)));\n\t }\n\t\n\t function isIntegerConstraint(value) {\n\t var integer = _.isNumber(value) ? value : StringUtil.parseInt($.trim(value));\n\t\n\t return typeof integer === 'number' && isFinite(integer) && Math.floor(integer) === integer;\n\t }\n\t\n\t function isObjectConstraint(value) {\n\t if (_.isObject(value) && !_.isArray(value)) {\n\t return true;\n\t }\n\t\n\t var object = StringUtil.parseObject($.trim(value));\n\t return _.isObject(object) && !_.isArray(object);\n\t }\n\t\n\t function isConstraintValueMatchType(value, type) {\n\t switch (type) {\n\t case SchemaUtil.STRING: return isStringConstraint(value);\n\t case SchemaUtil.NUMBER: return isNumberConstraint(value);\n\t case SchemaUtil.INTEGER: return isIntegerConstraint(value);\n\t case SchemaUtil.OBJECT: return isObjectConstraint(value);\n\t }\n\t }\n\t\n\t return {\n\t getEnumInputOptions: getEnumInputOptions,\n\t getDropdownOptions: getDropdownOptions,\n\t convertToOneOf: convertToOneOf,\n\t isConstraintValueMatchType: isConstraintValueMatchType\n\t };\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 24 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(3),\n\t __webpack_require__(18),\n\t __webpack_require__(19),\n\t __webpack_require__(21)\n\t], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, BaseModel, BaseCollection, SchemaProperty) {\n\t\n\t var parseProperties = function (resp) {\n\t var schemaMeta = _.pick(resp, 'id', 'name', 'displayName');\n\t var properties = _.map(resp.schema.properties, function (property, name) {\n\t return _({name: name}).chain().extend(property).omit('__metadata').value();\n\t });\n\t _.each(properties, function (property) {\n\t property['__schemaMeta__'] = schemaMeta;\n\t });\n\t return properties;\n\t };\n\t\n\t var Schema = BaseModel.extend({\n\t\n\t defaults: {\n\t id: undefined,\n\t displayName: undefined,\n\t name: undefined\n\t },\n\t\n\t constructor: function () {\n\t this.properties = new SchemaProperty.Collection();\n\t BaseModel.apply(this, arguments);\n\t },\n\t\n\t getProperties: function () {\n\t return this.properties;\n\t },\n\t\n\t clone: function () {\n\t var model = BaseModel.prototype.clone.apply(this, arguments);\n\t model.getProperties().set(this.getProperties().toJSON({verbose: true}));\n\t return model;\n\t },\n\t\n\t parse: function (resp) {\n\t var properties = parseProperties(resp);\n\t this.properties.set(properties, {parse: true});\n\t return _.omit(resp, 'schema');\n\t },\n\t\n\t trimProperty: function (property) { return _.omit(property, 'name'); },\n\t\n\t toJSON: function () {\n\t var json = BaseModel.prototype.toJSON.apply(this, arguments);\n\t json.schema = {properties: {}};\n\t this.getProperties().each(function (model) {\n\t var property = model.toJSON();\n\t json.schema.properties[property.name] = this.trimProperty(property);\n\t }, this);\n\t return json;\n\t },\n\t\n\t save: function () {\n\t this.getProperties().each(function (model) {\n\t model.cleanup();\n\t });\n\t return BaseModel.prototype.save.apply(this, arguments);\n\t }\n\t });\n\t\n\t var Schemas = BaseCollection.extend({\n\t model: Schema\n\t });\n\t\n\t return {\n\t parseProperties: parseProperties,\n\t Model: Schema,\n\t Collection: Schemas\n\t };\n\t\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 25 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* eslint @okta/okta/enforce-requirejs-names: 0, @okta/okta/no-specific-methods: 0 */\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(3),\n\t __webpack_require__(7)\n\t], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, Handlebars) {\n\t\n\t /**\n\t * @class module:Okta.internal.util.TemplateUtil\n\t * @hideconstructor\n\t */\n\t return /** @lends module:Okta.internal.util.TemplateUtil */ {\n\t\n\t /**\n\t * Compiles a Handlebars template\n\t * @static\n\t * @method\n\t */\n\t tpl: _.memoize(function (tpl) {\n\t /* eslint okta/no-specific-methods: 0 */\n\t return Handlebars.compile(tpl);\n\t })\n\t\n\t };\n\t\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 26 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(3),\n\t __webpack_require__(27)\n\t], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, BaseButtonLink) {\n\t\n\t /**\n\t * A factory method wrapper for {@link BaseButtonLink} creation\n\t * @class module:Okta.internal.util.ButtonFactory\n\t */\n\t\n\t function normalizeEvents(options) {\n\t var events = _.extend(options.click ? {click: options.click} : {}, options.events || {}),\n\t target = {};\n\t _.each(events, function (fn, eventName) {\n\t target[eventName] = function (e) {\n\t if (!options.href) {\n\t e.preventDefault();\n\t e.stopPropagation();\n\t }\n\t fn.apply(this, arguments);\n\t };\n\t });\n\t return target;\n\t }\n\t\n\t return /** @lends module:Okta.internal.util.ButtonFactory */ {\n\t /**\n\t * Creates a {@link module:Okta.internal.views.components.BaseButtonLink|BaseButtonLink}.\n\t * @param {Object} options Options hash\n\t * @param {String} [options.title] The button text\n\t * @param {String} [options.icon]\n\t * CSS class for the icon to display. See [Style guide](http://rain.okta1.com:1802/su/dev/style-guide#icons)\n\t * @param {String} [options.href] The button link\n\t * @param {Function} [options.click] On click callback\n\t * @param {Object} [options.events] a [Backbone events](http://backbonejs.org/#View-delegateEvents) hash\n\t * @returns {module:Okta.internal.views.components.BaseButtonLink} BaseButtonLink prototype (\"class\")\n\t */\n\t create: function (options) {\n\t options = _.clone(options);\n\t options.attrs = options.attributes;\n\t delete options.attributes;\n\t\n\t return BaseButtonLink.extend(_.extend(options, {\n\t events: normalizeEvents(options)\n\t }));\n\t }\n\t };\n\t\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 27 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(3),\n\t __webpack_require__(28),\n\t __webpack_require__(30)\n\t], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, BaseView, ViewUtil) {\n\t\n\t var disabledEvents = {\n\t click: function (e) {\n\t e.preventDefault();\n\t e.stopPropagation();\n\t }\n\t };\n\t\n\t /**\n\t * A configurable button.\n\t * @class module:Okta.internal.views.components.BaseButtonLink\n\t * @extends module:Okta.View\n\t * @example\n\t * var View = BaseButtonLink.extend({\n\t * title: 'Click Me',\n\t * icon: 'help-text'\n\t * })\n\t */\n\t return BaseView.extend(/** @lends module:Okta.internal.views.components.BaseButtonLink.prototype */ {\n\t\n\t attributes() {\n\t const defaultAttrs = {\n\t 'data-se': 'button'\n\t };\n\t const additionalAttr = this.__getAttribute('attrs');\n\t return _.extend(defaultAttrs, additionalAttr);\n\t },\n\t /**\n\t * The main text for the button\n\t * @name title\n\t * @memberof module:Okta.internal.views.components.BaseButtonLink\n\t * @type {(String|Function)}\n\t * @instance\n\t */\n\t\n\t /**\n\t * The link for the button\n\t * @name href\n\t * @memberof module:Okta.internal.views.components.BaseButtonLink\n\t * @type {(String|Function)}\n\t * @instance\n\t */\n\t\n\t /**\n\t * CSS class for the icon to display. See [Style guide](http://rain.okta1.com:1802/su/dev/style-guide#icons)\n\t * @name icon\n\t * @memberof module:Okta.internal.views.components.BaseButtonLink\n\t * @type {(String|Function)}\n\t * @instance\n\t */\n\t\n\t /**\n\t * A [Backbone events](http://backbonejs.org/#View-delegateEvents) hash\n\t * @name events\n\t * @memberof module:Okta.internal.views.components.BaseButtonLink\n\t * @type {Object}\n\t * @instance\n\t */\n\t\n\t tagName: 'a',\n\t\n\t template: '{{#if icon}}{{/if}}{{#if title}}{{title}}{{/if}}',\n\t\n\t /**\n\t * Make this button visible, default to true.\n\t * @type {(Boolean|Function)}\n\t * @default true\n\t */\n\t visible: true,\n\t\n\t /**\n\t * Make this button enabled, default to true.\n\t * @type {(Boolean|Function)}\n\t * @default true\n\t */\n\t enabled: true,\n\t\n\t /**\n\t * The setting to determine when the button is enabled, default to {} and\n\t * enabled takes a higher priority.\n\t * @type {(Object|Function)}\n\t * @default {}\n\t */\n\t enableWhen: {},\n\t\n\t /**\n\t * The setting to determine when the button is visible, default to {} and\n\t * visible takes a higher priority.\n\t * @type {(Object|Function)}\n\t * @default {}\n\t */\n\t showWhen: {},\n\t\n\t constructor: function (options) {\n\t this.options = options || {};\n\t var data = this.getTemplateData();\n\t\n\t this.disabled = false;\n\t\n\t BaseView.apply(this, arguments);\n\t\n\t this.$el.addClass('link-button');\n\t if (data.icon) {\n\t this.$el.addClass('link-button-icon');\n\t if (!data.title) {\n\t this.$el.addClass('icon-only');\n\t }\n\t }\n\t },\n\t\n\t getTemplateData: function () {\n\t return {\n\t href: this.__getAttribute('href'),\n\t title: this.__getAttribute('title'),\n\t icon: this.__getAttribute('icon')\n\t };\n\t },\n\t\n\t initialize: function () {\n\t ViewUtil.applyDoWhen(this, _.resultCtx(this, 'enableWhen', this), this.toggle);\n\t ViewUtil.applyDoWhen(this, _.resultCtx(this, 'showWhen', this), this.toggleVisible);\n\t },\n\t\n\t render: function () {\n\t\n\t BaseView.prototype.render.apply(this, arguments);\n\t\n\t if (!_.result(this, 'enabled')) {\n\t this.toggle(false);\n\t }\n\t\n\t if (!_.result(this, 'visible')) {\n\t this.toggleVisible(false);\n\t }\n\t\n\t var data = this.getTemplateData();\n\t this.$el.attr('href', data.href || '#');\n\t\n\t return this;\n\t },\n\t\n\t __getAttribute: function (name, defaultValue) {\n\t var value = _.resultCtx(this.options, name, this);\n\t if (_.isUndefined(value)) {\n\t value = _.result(this, name);\n\t }\n\t return !_.isUndefined(value) ? value : defaultValue;\n\t },\n\t\n\t enable: function () {\n\t this.toggle(true);\n\t },\n\t\n\t disable: function () {\n\t this.toggle(false);\n\t },\n\t\n\t show: function () {\n\t this.toggleVisible(true);\n\t },\n\t\n\t hide: function () {\n\t this.toggleVisible(false);\n\t },\n\t\n\t toggle: function (enable) {\n\t //this is to toggle the enability\n\t var bool = !!enable && _.result(this, 'enabled');\n\t this.disabled = !bool;\n\t this.$el.toggleClass('link-button-disabled btn-disabled disabled', this.disabled);\n\t\n\t // delegateEvents asynchronously in case the button is not yet added to the DOM\n\t // in these cases the alternate events won't work\n\t _.defer(_.bind(function () {\n\t this.delegateEvents(this.disabled ? disabledEvents : null);\n\t }, this));\n\t },\n\t\n\t toggleVisible: function (visible) {\n\t var hidden = !visible || !_.result(this, 'visible');\n\t this.$el.toggleClass('hide', hidden);\n\t }\n\t\n\t });\n\t\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 28 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(3),\n\t __webpack_require__(6),\n\t __webpack_require__(25),\n\t __webpack_require__(29)\n\t], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, Backbone, TemplateUtil, View) {\n\t\n\t // add `broadcast` and `listen` functionality to all views\n\t // We use one event emitter per all views\n\t // This means we need to be very careful with event names\n\t\n\t var eventBus = _.clone(Backbone.Events);\n\t\n\t /**\n\t * See {@link src/framework/View} for more detail and examples from the base class.\n\t * @class module:Okta.View\n\t * @extends src/framework/View\n\t */\n\t\n\t /** @lends module:Okta.View.prototype */\n\t var proto = {\n\t\n\t constructor: function () {\n\t View.apply(this, arguments);\n\t this.module && this.$el.attr('data-view', this.module.id);\n\t },\n\t\n\t /**\n\t * @deprecated Use {@link #removeChildren}\n\t */\n\t empty: function () {\n\t return this.removeChildren();\n\t },\n\t\n\t compileTemplate: TemplateUtil.tpl,\n\t\n\t /**\n\t *\n\t * Broadcasts a global event that all views and controllers can subscribe to\n\t * for framework use only - prefer using a shared model\n\t *\n\t * @param {String} eventName A unique identifier for the event\n\t * @param {...String} param Parameter to pass with the event (can pass more than one parameter)\n\t * @deprecated For internal use only\n\t * @private\n\t */\n\t broadcast: function () {\n\t eventBus.trigger.apply(eventBus, arguments);\n\t return this;\n\t },\n\t\n\t /**\n\t * Subscribe to broadcast events\n\t * for framework use only - prefer using a shared model\n\t *\n\t * @param {String} eventName The event identifier to subscribe\n\t * @param {Function} fn The callback function to invoke\n\t * @deprecated For internal use only\n\t * @private\n\t */\n\t listen: function (name, fn) {\n\t eventBus.off(name, fn);\n\t this.listenTo(eventBus, name, fn);\n\t return this;\n\t },\n\t\n\t /**\n\t * Shows a notification box\n\t * @param {String} level success / warning / error\n\t * @param {String} message The message to display\n\t * @param {Object} [options]\n\t * @param {Number} [options.width] Set a custom width\n\t * @param {String} [options.title] Set a custom title\n\t * @param {Boolean} [options.hide=true] Do we want to auto-hide this notification?\n\t * @param {Boolean} [options.dismissable] Show a dismiss button\n\t * @example\n\t * view.notify('success', 'Group created successfully');\n\t */\n\t notify: function (level, message, options) {\n\t this.broadcast('notification', _.defaults({message: message, level: level}, options));\n\t return this;\n\t },\n\t\n\t /**\n\t * Shows a confirmation dialog\n\t *\n\t * The main difference between this and the native javascript `confirm` method\n\t * Is this method is non blocking (note the callback pattern).\n\t *\n\t * The callback function will run in the context (`this`) of the invoking view.\n\t *\n\t * @param {String} [title] The title of the confirmation dialog\n\t * @param {String} [message] The message of the confirmation dialog\n\t * @param {Function} [okfn] The callback to run when the user hits \"OK\" (runs in the context of the invoking view)\n\t * @param {Function} [cancelfn] The callback to run when the user hits \"Cancel\"\n\t * (runs in the context of the invoking view)\n\t * @example\n\t * view.confirm('Delete Group', 'Are you sure you want to delete the selected group?', function () {\n\t * model.destroy();\n\t * });\n\t *\n\t * // title will be auto-set to \"Okta\"\n\t * view.confirm('Are you sure you want to delete the selected group?', function () {\n\t * model.destroy();\n\t * });\n\t *\n\t * view.confirm({\n\t * title: 'Delete Group', //=> Modal title\n\t * subtitle: 'Are you sure you want to delete the selected group?', //=> Modal subtitle\n\t * content: '

          THIS WILL DELETE THE GROUP!

          ', //=> A template or a view to add to the modal\n\t * save: 'Delete Group', //=> Button label\n\t * ok: _.bind(model.save, model) // Callback function on hitting \"ok\" button\n\t * cancel: 'Cancel', //=> Button label\n\t * cancelFn: _.bind(model.destroy, model) // Callback function on hitting \"cancel\" button\n\t * });\n\t */\n\t confirm: function (title, message, okfn, cancelfn) {\n\t /* eslint max-statements: [2, 12] */\n\t\n\t var options;\n\t if (typeof title == 'object') {\n\t options = title;\n\t }\n\t else {\n\t if (arguments.length == 2 && _.isFunction(message)) {\n\t options = {\n\t title: 'Okta',\n\t subtitle: title,\n\t ok: message\n\t };\n\t }\n\t else {\n\t options = {\n\t title: title,\n\t subtitle: message,\n\t ok: okfn,\n\t cancelFn: cancelfn\n\t };\n\t }\n\t }\n\t if (_.isFunction(options.ok)) {\n\t options.ok = _.bind(options.ok, this);\n\t }\n\t if (_.isFunction(options.cancelFn)) {\n\t options.cancelFn = _.bind(options.cancelFn, this);\n\t }\n\t this.broadcast('confirmation', options);\n\t return this;\n\t },\n\t\n\t /**\n\t * Shows an alert box\n\t *\n\t * The main difference between this and the native javascript `alert` method\n\t * Is this method is non blocking.\n\t *\n\t * @param {String} message The message\n\t * @example\n\t * view.alert('Mission complete');\n\t */\n\t alert: function (params) {\n\t if (_.isString(params)) {\n\t params = {\n\t subtitle: params\n\t };\n\t }\n\t this.confirm(_.extend({}, params, {\n\t noCancelButton: true\n\t }));\n\t return this;\n\t }\n\t };\n\t\n\t return View.extend(proto, /** @lends View.prototype */ {\n\t /** @method */\n\t decorate: function (TargetView) {\n\t var View = TargetView.extend({});\n\t _.defaults(View.prototype, proto);\n\t return View;\n\t }\n\t });\n\t\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 29 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (root, factory) {\n\t if (true) {\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(6)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t }\n\t /* global module, exports */\n\t else if (typeof require === 'function' && typeof exports === 'object') {\n\t module.exports = factory(require('okta/underscore'), require('backbone'));\n\t }\n\t else {\n\t root.Archer || (root.Archer = {});\n\t root.Archer.View = factory(root._, root.Backbone);\n\t }\n\t}(this, function (_, Backbone) {\n\t\n\t var CHILDREN = '__children__',\n\t RENDERED = '__rendered__',\n\t PARENT = '__parent__',\n\t CHILD_DEFINITIONS = '__children_definitions__',\n\t ADD_TO_CONTAINER = '__add_to_container__';\n\t\n\t function getIndex(container, view) {\n\t for (var i = 0; i < container[CHILDREN].length; i++) {\n\t if (view.cid === container[CHILDREN][i].cid) {\n\t return i;\n\t }\n\t }\n\t }\n\t\n\t function noop() {}\n\t\n\t function doRender(view) {\n\t view[RENDERED] = true;\n\t\n\t var html = view.renderTemplate(view.template);\n\t if (html) {\n\t view.$el.html(html);\n\t }\n\t else if (view.length) {\n\t view.$el.empty();\n\t }\n\t\n\t view.each(function (view) {\n\t view[ADD_TO_CONTAINER]();\n\t });\n\t }\n\t\n\t function subscribeEvents(view) {\n\t var isEventPropertyRe = /^(?!(?:delegate|undelegate|_))([a-zA-Z0-9]+)(?:Events)$/;\n\t _.each(_.allKeys(view), function (key) {\n\t var matchKeys = key.match(isEventPropertyRe);\n\t if (!matchKeys) {\n\t return;\n\t }\n\t var bindings = _.result(view, key),\n\t entity = view.options[matchKeys[1]] || view[matchKeys[1]];\n\t if (!entity || !_.isObject(bindings) || !_.isFunction(entity.trigger)) {\n\t return;\n\t }\n\t _.each(bindings, function (callback, event) {\n\t var callbacks = _.isFunction(callback) ? [callback] : _.reduce(callback.split(/\\s+/), function (arr, name) {\n\t if (_.isFunction(view[name])) {\n\t arr.push(view[name]);\n\t }\n\t return arr;\n\t }, []);\n\t _.each(callbacks, function (cb) {\n\t view.listenTo(entity, event, cb);\n\t });\n\t });\n\t });\n\t }\n\t\n\t /**\n\t * A View operates on a string template, an token based template, or a model based template, with a few added hooks.\n\t * It provides a collection of child views, when a child view could be a View or another View.\n\t * Conceptually, if we were in a file system, the View is a folder, when the concrete child views are files,\n\t * and the child Views are sub folders.\n\t *\n\t * *Technically, when using a View as a container, it could have its own concrete logic,\n\t * but conceptually we like to keep it separated so a view is either a concrete view or a collection of child views.*\n\t *\n\t * In addition to the standard backbone options, we added `settings` and `state` as first class options.\n\t * it will automatically assign `options` to `this.options` as an instance member.\n\t *\n\t * See [Backbone.View](http://backbonejs.org/#View).\n\t *\n\t * @class src/framework/View\n\t * @extends external:Backbone.View\n\t * @param {Object} [options] options hash\n\t * @example\n\t * var DocumentView = Archer.View.extend({\n\t * template: [\n\t * '
          ',\n\t * '
          ',\n\t * '
          '\n\t * ].join(''),\n\t * children: [[HeaderView, 'header'], [ContentView, 'article'], [FooterView, 'footer']]\n\t * });\n\t */\n\t var View = Backbone.View.extend(/** @lends src/framework/View.prototype */ {\n\t\n\t /**\n\t * An object listing events and callback bind to this.{entity}\n\t * @name *Events\n\t * @memberof src/framework/View\n\t * @type {(Object|Function)}\n\t * @instance\n\t * @example\n\t * var FooView = View.extend({\n\t * modelEvents: {\n\t * 'change:name': 'render'\n\t * }\n\t * })\n\t * //equivalent to ==>\n\t * var FooView = View.extend({\n\t * initialize: function() {\n\t * this.listenTo(this.model, 'change:name', this.render);\n\t * }\n\t * });\n\t *\n\t *\n\t * //Multiple callbacks:\n\t * var FooView = View.extend({\n\t * modelEvents: {\n\t * 'change:name': 'render foo'\n\t * },\n\t * foo: function() {}\n\t * });\n\t *\n\t * //Callbacks As Function:\n\t * var FooView = View.extend({\n\t * stateEvents: {\n\t * 'change': function() {\n\t * }\n\t * });\n\t *\n\t * //Event Configuration As Function\n\t * var FooView = View.extend({\n\t * collectionEvents: function() {\n\t * var events = { 'change:name deleteItem': 'render' };\n\t * events['changeItem'] = 'spin';\n\t * events['addItem'] = function() {};\n\t * return events;\n\t * }\n\t * });\n\t */\n\t\n\t constructor: function (options) {\n\t /* eslint max-statements: [2, 17] */\n\t this.options = options || {};\n\t _.extend(this, _.pick(this.options, 'state', 'settings'));\n\t\n\t // init per-instance children collection\n\t this[CHILDREN] = [];\n\t this[RENDERED] = false;\n\t this[PARENT] = null;\n\t this[CHILD_DEFINITIONS] = this.children;\n\t\n\t // we want to make sure initialize is triggered *after* we append the views from the `this.views` array\n\t var initialize = this.initialize;\n\t this.initialize = noop;\n\t\n\t Backbone.View.apply(this, arguments);\n\t\n\t _.each(_.result(this, CHILD_DEFINITIONS), function (childDefinition) {\n\t this.add.apply(this, _.isArray(childDefinition) ? childDefinition : [childDefinition]);\n\t }, this);\n\t delete this[CHILD_DEFINITIONS];\n\t\n\t if (this.autoRender && this.model) {\n\t var event = _.isArray(this.autoRender) ? _.map(this.autoRender, function (field) {\n\t return 'change:' + field;\n\t }).join(' ') : 'change';\n\t this.listenTo(this.model, event, function () {\n\t this.render();\n\t });\n\t }\n\t\n\t this.initialize = initialize;\n\t this.initialize.apply(this, arguments);\n\t subscribeEvents(this);\n\t },\n\t\n\t /**\n\t * Unregister view from container\n\t * Note: this will not remove the view from the dom\n\t * and will not call the `remove` method on the view\n\t *\n\t * @param {src/framework/View} view the view to unregister\n\t * @private\n\t */\n\t unregister: function (view) {\n\t\n\t this.stopListening(view);\n\t var viewIndex = getIndex(this, view);\n\t // viewIndex is undefined when the view is not found (may have been removed)\n\t // check if it is undefined to prevent unexpected thing to happen\n\t // array.splice(undefined, x) removes the first x element(s) from the array\n\t // this protects us against issues when calling `remove` on a child view multiple times\n\t if (_.isNumber(viewIndex)) {\n\t this[CHILDREN].splice(viewIndex, 1);\n\t }\n\t },\n\t\n\t /**\n\t * Should we auto render the view upon model change. Boolean or array of field names to listen to.\n\t * @type {Boolean|Array}\n\t * @deprecated Instead, please use modelEvents\n\t * @example\n\t * modelEvents: {\n\t * change:name: 'render'\n\t * }\n\t */\n\t autoRender: false,\n\t\n\t /**\n\t *\n\t * When the template is an underscore template, the render method will pass the options has to the template\n\t * And the associated model, if exists, when it will prefer the model over the options in case of a conflict.\n\t * {@link #render View.render}\n\t * @type {(String|Function)}\n\t * @example\n\t * var View = View.extend({\n\t * template: '

          {{name}}

          '\n\t * };\n\t */\n\t template: null,\n\t\n\t /**\n\t * A list of child view definitions to be passed to {@link #add this.add()}.\n\t * Note: these definitions will be added **before** the {@link #constructor initiliaze} method invokes.\n\t * @type {(Array|Function)}\n\t * @example\n\t * var Container = View.extend({\n\t * template: '

          ',\n\t * children: [\n\t * [ContentView, '.content'],\n\t * [OtherContentView, '.content'],\n\t * OtherView\n\t * ]\n\t * })\n\t *\n\t * var Container = View.extend({\n\t * template: '
          ',\n\t * children: function () {\n\t * return [\n\t * [FormView, '.form-wrap', {options: {model: this.optiosn.otherModel}}]\n\t * ]\n\t * }\n\t * })\n\t */\n\t children: [],\n\t\n\t /**\n\t * Add a child view to the container.\n\t * If the container is already rendered, will also render the view and append it to the DOM.\n\t * Otherwise will render and append once the container is rendered.\n\t *\n\t * *We believe that for the sake of encapsulation, a view should control its own chilren, so we treat this method as\n\t * protected and even though technically you can call `view.add` externally we strongly discourage it.*\n\t *\n\t * @param {(src/framework/View|String)} view A class (or an instance which is discouraged) of a View - or an HTML\n\t * string/template\n\t * @param {String} [selector] selector in the view's template on which the view will be added to\n\t * @param {Object} [options]\n\t * @param {Boolean} [options.bubble=false] Bubble (proxy) events from this view up the chain\n\t * @param {Boolean} [options.prepend=false] Prepend the view instend of appending\n\t * @param {String} [options.selector] Selector in the view's template on which the view will be added to\n\t * @param {Object} [options.options] Extra options to pass to the child constructor\n\t * @protected\n\t * @returns {src/framework/View} - The instance of itself for the sake of chaining\n\t * @example\n\t * var Container = View.extend({\n\t *\n\t * template: [\n\t * '

          ',\n\t * '
          ',\n\t * ].join(''),\n\t *\n\t * initalize: function () {\n\t *\n\t * this.add(TitleView, 'h1'); // will be added to

          \n\t *\n\t * this.add(ContentView1, 'section'); // will be added to
          \n\t *\n\t * this.add(ContentView2, 'section', {prepend: true}); // will be add into
          **before** ContentView1\n\t *\n\t * this.add(OtherView, {\n\t * options: {\n\t * model: new Model()\n\t * }\n\t * }); // will be added **after** the
          element\n\t *\n\t * this.add('

          some html

          '); //=> \"

          some html

          \"\n\t * this.add('

          {{name}}

          '); //=> \"

          John Doe

          \"\n\t * this.add('{{name}}') //=> \"
          John Doe
          \"\n\t * this.add('{{name}} w00t') //=> \"
          John Doe w00t
          \"\n\t * }\n\t *\n\t * });\n\t *\n\t * var container - new View({name: 'John Doe'});\n\t */\n\t add: function (view, selector, bubble, prepend, extraOptions) {\n\t /* eslint max-statements: [2, 28], complexity: [2, 9] */\n\t\n\t var options = {},\n\t args = _.toArray(arguments);\n\t\n\t if (_.isObject(selector)) {\n\t options = selector;\n\t selector = options.selector;\n\t bubble = options.bubble;\n\t prepend = options.prepend;\n\t extraOptions = options.options;\n\t }\n\t else if (_.isObject(bubble)) {\n\t options = bubble;\n\t bubble = options.bubble;\n\t prepend = options.prepend;\n\t extraOptions = options.options;\n\t }\n\t\n\t if (_.isString(view)) {\n\t view = (function (template) {\n\t return View.extend({\n\t constructor: function () {\n\t try {\n\t var $el = Backbone.$(template);\n\t\n\t if ($el.length != 1) { throw 'invalid Element'; }\n\t\n\t var unescapingRexExp = /&(\\w+|#x\\d+);/g;\n\t var elementUnescapedOuterHTMLLength = $el.prop('outerHTML').replace(unescapingRexExp, ' ').length;\n\t var templateUnescapedLength = template.replace(unescapingRexExp, ' ').length;\n\t\n\t if (elementUnescapedOuterHTMLLength !== templateUnescapedLength) { throw 'invalid Element'; }\n\t\n\t this.template = $el.html();\n\t this.el = $el.empty()[0];\n\t }\n\t catch (e) { // not a valid html tag.\n\t this.template = template;\n\t }\n\t View.apply(this, arguments);\n\t }\n\t });\n\t }(view));\n\t }\n\t\n\t if (view.prototype && view.prototype instanceof View) {\n\t /* eslint new-cap: 0 */\n\t var viewOptions = _.omit(_.extend({}, this.options, extraOptions), 'el');\n\t args[0] = new view(viewOptions);\n\t return this.add.apply(this, args);\n\t }\n\t\n\t // prevent dups\n\t if (_.isNumber(getIndex(this, view))) {\n\t throw new Error('Duplicate child');\n\t }\n\t\n\t view[PARENT] = this;\n\t\n\t // make the view responsible for adding itself to the parent:\n\t // * register the selector in the closure\n\t // * register a reference the parent in the closure\n\t view[ADD_TO_CONTAINER] = (function (selector) {\n\t return function () {\n\t if (selector && view[PARENT].$(selector).length != 1) {\n\t throw new Error('Invalid selector: ' + selector);\n\t }\n\t var $el = selector ? this[PARENT].$(selector) : this[PARENT].$el;\n\t this.render();\n\t // we need to delegate events in case\n\t // the view was added and removed before\n\t this.delegateEvents();\n\t\n\t // this[PARENT].at(index).$el.before(this.el);\n\t prepend ? $el.prepend(this.el) : $el.append(this.el);\n\t };\n\t }).call(view, selector);\n\t\n\t // if flag to bubble events is set\n\t // proxy all child view events\n\t if (bubble) {\n\t this.listenTo(view, 'all', function () {\n\t this.trigger.apply(this, arguments);\n\t });\n\t }\n\t\n\t // add to the dom if `render` has been called\n\t if (this.rendered()) {\n\t view[ADD_TO_CONTAINER]();\n\t }\n\t\n\t // add view to child views collection\n\t this[CHILDREN].push(view);\n\t\n\t return this;\n\t\n\t },\n\t\n\t /**\n\t * Remove all children from container\n\t */\n\t removeChildren: function () {\n\t this.each(function (view) {\n\t view.remove();\n\t });\n\t return this;\n\t },\n\t\n\t /**\n\t * Removes a view from the DOM, and calls stopListening to remove any bound events that the view has listenTo'd.\n\t * Also removes all childern of the view if any, and removes itself from its parent view(s)\n\t */\n\t remove: function () {\n\t this.removeChildren();\n\t if (this[PARENT]) {\n\t this[PARENT].unregister(this);\n\t }\n\t return Backbone.View.prototype.remove.apply(this, arguments);\n\t },\n\t\n\t /**\n\t * Compile the template to function you can apply tokens on on render time.\n\t * Uses the underscore tempalting engine by default\n\t * @protected\n\t * @param {String} template\n\t * @return {Function} a compiled template\n\t */\n\t compileTemplate: function (template) {\n\t /* eslint @okta/okta/no-specific-methods: 0*/\n\t return _.template(template);\n\t },\n\t\n\t /**\n\t * Render a template with `this.model` and `this.options` as parameters\n\t * preferring the model over the options.\n\t *\n\t * @param {(String|Function)} template The template to build\n\t * @return {String} An HTML string\n\t * @protected\n\t */\n\t renderTemplate: function (template) {\n\t if (_.isString(template)) {\n\t template = this.compileTemplate(template);\n\t }\n\t if (_.isFunction(template)) {\n\t return template(this.getTemplateData());\n\t }\n\t },\n\t\n\t /**\n\t * The data hash passed to the compiled template\n\t * @return {Object}\n\t * @protected\n\t */\n\t getTemplateData: function () {\n\t var modelData = this.model && this.model.toJSON({verbose: true}) || {};\n\t var options = _.omit(this.options, ['state', 'settings', 'model', 'collection']);\n\t return _.defaults({}, modelData, options);\n\t },\n\t\n\t /**\n\t * Renders the template to `$el` and append all children in order\n\t * {@link #template View.template}\n\t */\n\t render: function () {\n\t this.preRender();\n\t doRender(this);\n\t this.postRender();\n\t return this;\n\t },\n\t\n\t /**\n\t * Pre render routine. Will be called right *before* the logic in {@link #render} is executed\n\t * @method\n\t */\n\t preRender: noop,\n\t\n\t /**\n\t * Post render routine. Will be called right *after* the logic in {@link #render} is executed\n\t * @method\n\t */\n\t postRender: noop,\n\t\n\t /**\n\t * Was this instance rendered\n\t */\n\t rendered: function () {\n\t return this[RENDERED];\n\t },\n\t\n\t /**\n\t * Get all direct child views.\n\t * @returns {src/framework/View[]}\n\t * @example\n\t * var container = View.extend({\n\t * children: [View1, View2]\n\t * }).render();\n\t * container.getChildren() //=> [view1, view2];\n\t */\n\t getChildren: function () {\n\t return this.toArray();\n\t },\n\t\n\t /**\n\t * Get a child by index\n\t * @param {number} index\n\t * @returns {src/framework/View} The child view\n\t */\n\t at: function (index) {\n\t return this.getChildren()[index];\n\t },\n\t\n\t /**\n\t * Invokes a method on all children down the tree\n\t *\n\t * @param {String} method The method to invoke\n\t */\n\t invoke: function (methodName) {\n\t var args = _.toArray(arguments);\n\t this.each(function (child) {\n\t // if child has children, bubble down the tree\n\t if (child.size()) {\n\t child.invoke.apply(child, args);\n\t }\n\t // run the function on the child\n\t if (_.isFunction(child[methodName])) {\n\t child[methodName].apply(child, args.slice(1));\n\t }\n\t });\n\t return this;\n\t }\n\t });\n\t\n\t // Code borrowed from Backbone.js source\n\t // Underscore methods that we want to implement on the Container.\n\t var methods = ['each', 'map', 'reduce', 'reduceRight', 'find', 'filter', 'reject', 'every',\n\t 'some', 'contains', 'toArray', 'size', 'first', 'initial', 'rest', 'last', 'without',\n\t 'indexOf', 'shuffle', 'lastIndexOf', 'isEmpty', 'chain', 'where', 'findWhere'];\n\t\n\t _.each(methods, function (method) {\n\t View.prototype[method] = function () {\n\t var args = _.toArray(arguments);\n\t args.unshift(_.toArray(this[CHILDREN]));\n\t return _[method].apply(_, args);\n\t };\n\t }, this);\n\t\n\t /**\n\t * See [_.each](http://underscorejs.org/#each)\n\t * @name each\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t * @param {Function} iterator\n\t * @param {Object} [context]\n\t */\n\t /**\n\t * See [_.map](http://underscorejs.org/#map)\n\t * @name map\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t * @param {Function} iterator\n\t * @param {Object} [context]\n\t */\n\t /**\n\t * See [_.reduce](http://underscorejs.org/#reduce)\n\t * @name reduce\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t * @param {Function} iterator\n\t * @param {Mixed} memo\n\t * @param {Object} [context]\n\t */\n\t\n\t /**\n\t * See [_.reduceRight](http://underscorejs.org/#reduceRight)\n\t * @name reduceRight\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t * @param {Function} iterator\n\t * @param {Mixed} memo\n\t * @param {Object} [context]\n\t */\n\t /**\n\t * See [_.find](http://underscorejs.org/#find)\n\t * @name find\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t * @param {Function} predicate\n\t * @param {Object} [context]\n\t */\n\t /**\n\t * See [_.filter](http://underscorejs.org/#filter)\n\t * @name filter\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t * @param {Function} predicate\n\t * @param {Object} [context]\n\t */\n\t /**\n\t * See [_.reject](http://underscorejs.org/#reject)\n\t * @name reject\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t * @param {Function} predicate\n\t * @param {Object} [context]\n\t */\n\t /**\n\t * See [_.every](http://underscorejs.org/#every)\n\t * @name every\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t * @param {Function} [predicate]\n\t * @param {Object} [context]\n\t */\n\t /**\n\t * See [_.some](http://underscorejs.org/#some)\n\t * @name some\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t * @param {Function} [predicate]\n\t * @param {Object} [context]\n\t */\n\t /**\n\t * See [_.contains](http://underscorejs.org/#contains)\n\t * @name contains\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t * @param {Mixed} value\n\t */\n\t /**\n\t * See [_.toArray](http://underscorejs.org/#toArray)\n\t * @name toArray\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t */\n\t /**\n\t * See [_.size](http://underscorejs.org/#size)\n\t * @name size\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t */\n\t /**\n\t * See [_.first](http://underscorejs.org/#first)\n\t * @name first\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t * @param {Number} [n]\n\t */\n\t /**\n\t * See [_.initial](http://underscorejs.org/#initial)\n\t * @name initial\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t * @param {Number} [n]\n\t */\n\t /**\n\t * See [_.last](http://underscorejs.org/#last)\n\t * @name last\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t * @param {Number} [n]\n\t */\n\t /**\n\t * See [_.rest](http://underscorejs.org/#rest)\n\t * @name rest\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t * @param {Number} [index]\n\t */\n\t /**\n\t * See [_.without](http://underscorejs.org/#without)\n\t * @name without\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t */\n\t /**\n\t * See [_.indexOf](http://underscorejs.org/#indexOf)\n\t * @name indexOf\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t * @param {Mixed} value\n\t * @param {Boolean} [isSorted]\n\t */\n\t /**\n\t * See [_.shuffle](http://underscorejs.org/#shuffle)\n\t * @name shuffle\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t */\n\t /**\n\t * See [_.shuffle](http://underscorejs.org/#lastIndexOf)\n\t * @name lastIndexOf\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t * @param {Mixed} value\n\t * @param {Number} [fromIndex]\n\t */\n\t /**\n\t * See [_.isEmpty](http://underscorejs.org/#isEmpty)\n\t * @name isEmpty\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t */\n\t /**\n\t * See [_.chain](http://underscorejs.org/#chain)\n\t * @name chain\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t */\n\t /**\n\t * See [_.where](http://underscorejs.org/#where)\n\t * @name where\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t * @param {Object} properties\n\t */\n\t /**\n\t * See [_.findWhere](http://underscorejs.org/#findWhere)\n\t * @name findWhere\n\t * @memberof src/framework/View\n\t * @method\n\t * @instance\n\t * @param {Object} properties\n\t */\n\t\n\t return View;\n\t\n\t}));\n\n\n/***/ },\n/* 30 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_) {\n\t\n\t function changeEventString(doWhen) {\n\t return 'change:' + _.keys(doWhen).join(' change:');\n\t }\n\t\n\t function calcDoWhen(value, key) {\n\t var modelValue = this.model.get(key);\n\t if (_.isFunction(value)) {\n\t return value.call(this, modelValue);\n\t }\n\t else {\n\t return value == modelValue;\n\t }\n\t }\n\t\n\t function _doWhen(view, doWhen, fn) {\n\t var toggle = _.bind(fn, view, view, doWhen);\n\t\n\t view.render = _.wrap(view.render, function (render) {\n\t var val = render.call(view);\n\t toggle({animate: false});\n\t return val;\n\t });\n\t\n\t view.listenTo(view.model, changeEventString(doWhen), function () {\n\t toggle({animate: true});\n\t });\n\t }\n\t\n\t return {\n\t applyDoWhen: function (view, doWhen, fn) {\n\t if (!(view.model && _.isObject(doWhen) && _.size(doWhen) && _.isFunction(fn))) {\n\t return;\n\t }\n\t _doWhen(view, doWhen, function (view, doWhen, options) {\n\t var result = _.every(_.map(doWhen, calcDoWhen, view));\n\t fn.call(view, result, options);\n\t });\n\t }\n\t };\n\t\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 31 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* eslint max-len: [2, 150], max-params: [2, 7] */\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(8),\n\t __webpack_require__(3),\n\t __webpack_require__(6),\n\t __webpack_require__(32),\n\t __webpack_require__(17),\n\t __webpack_require__(33),\n\t __webpack_require__(34)\n\t], __WEBPACK_AMD_DEFINE_RESULT__ = function ($, _, Backbone, SettingsModel, Logger, Notification, ConfirmationDialog) {\n\t\n\t function getRoute(router, route) {\n\t var root = _.result(router, 'root') || '';\n\t if (root && _.isString(route)) {\n\t return [root, route].join('/').replace(/\\/{2,}/g, '/');\n\t }\n\t return route;\n\t }\n\t\n\t /**\n\t * BaseRouter is a standard [Backbone.Router](http://backbonejs.org/#Router)\n\t * with a few additions:\n\t * - Explicit mapping between routes and controllers\n\t * - Support for rendering notification and confirmation dialogs\n\t *\n\t * Checkout the [Hello World Tutorial](https://github.com/okta/courage/wiki/Hello-World)\n\t * for a step-by-step guide to using this.\n\t *\n\t * @class module:Okta.Router\n\t * @extends external:Backbone.Router\n\t * @param {Object} options options hash\n\t * @param {String} options.el a jQuery selector string stating where to attach the controller in the DOM\n\t */\n\t return Backbone.Router.extend(/** @lends module:Okta.Router.prototype */ {\n\t\n\t /**\n\t * The root URL for the router. When setting {@link http://backbonejs.org/#Router-routes|routes},\n\t * it will be prepended to each route.\n\t * @type {String|Function}\n\t */\n\t root: '',\n\t\n\t listen: Notification.prototype.listen,\n\t\n\t constructor: function (options) {\n\t options || (options = {});\n\t this.el = options.el;\n\t this.settings = new SettingsModel(_.omit(options, 'el'));\n\t if (options.root) {\n\t this.root = options.root;\n\t }\n\t\n\t Backbone.Router.apply(this, arguments);\n\t\n\t this.listen('notification', this._notify);\n\t this.listen('confirmation', this._confirm);\n\t },\n\t\n\t /**\n\t * Fires up a confirmation dialog\n\t *\n\t * @param {Object} options Options Hash\n\t * @param {String} options.title The title\n\t * @param {String} options.subtitle The explain text\n\t * @param {String} options.save The text for the save button\n\t * @param {Function} options.ok The callback function to run when hitting \"OK\"\n\t * @param {String} options.cancel The text for the cancel button\n\t * @param {Function} options.cancelFn The callback function to run when hitting \"Cancel\"\n\t * @param {Boolean} options.noCancelButton Don't render the cancel button (useful for alert dialogs)\n\t *\n\t * @private\n\t *\n\t * @return {Okta.View} the dialog view\n\t */\n\t _confirm: function (options) {\n\t options || (options = {});\n\t var Dialog = ConfirmationDialog.extend(\n\t _.pick(options, 'title', 'subtitle', 'save', 'ok', 'cancel', 'cancelFn', 'noCancelButton', 'content', 'danger')\n\t );\n\t // The model is here because itsa part of the BaseForm paradigm.\n\t // It will be ignored in the context of a confirmation dialog.\n\t var dialog = new Dialog({model: this.settings});\n\t dialog.render();\n\t return dialog; // test hook\n\t },\n\t\n\t /**\n\t * Fires up a notification banner\n\t *\n\t * @param {Object} options Options Hash\n\t * @return {Okta.View} the notification view\n\t * @private\n\t */\n\t _notify: function (options) {\n\t var notification = new Notification(options);\n\t $('#content').prepend(notification.render().el);\n\t return notification; // test hook\n\t },\n\t\n\t /**\n\t * Renders a Controller\n\t * This will initialize new instance of a controller and call render on it\n\t *\n\t * @param {Okta.Controller} Controller The controller Class we which to render\n\t * @param {Object} [options] Extra options to the controller constructor\n\t */\n\t render: function (Controller, options) {\n\t this.unload();\n\t options = _.extend(_.pick(this, 'settings', 'el'), options || {});\n\t this.controller = new Controller(options);\n\t this.controller.render();\n\t },\n\t\n\t /**\n\t * Starts the backbone history object\n\t *\n\t * Waits for the dom to be ready before calling `Backbone.history.start()` (IE issue).\n\t *\n\t * See [Backbone History](http://backbonejs.org/#History) for more information.\n\t */\n\t start: function () {\n\t var args = arguments;\n\t $(function () {\n\t if (Backbone.History.started) {\n\t Logger.error('History has already been started');\n\t return;\n\t }\n\t Backbone.history.start.apply(Backbone.history, args);\n\t });\n\t },\n\t\n\t /**\n\t * Removes active controller and frees up event listeners\n\t */\n\t unload: function () {\n\t if (this.controller) {\n\t this.stopListening(this.controller);\n\t this.stopListening(this.controller.state);\n\t this.controller.remove();\n\t }\n\t },\n\t\n\t route: function (route, name, callback) {\n\t return Backbone.Router.prototype.route.call(this, getRoute(this, route), name, callback);\n\t },\n\t\n\t navigate: function (fragment, options) {\n\t return Backbone.Router.prototype.navigate.call(this, getRoute(this, fragment), options);\n\t }\n\t\n\t });\n\t\n\t}.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, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(15)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, Model) {\n\t\n\t /**\n\t * @class SettingsModel\n\t * @extends {Okta.Model}\n\t * @private\n\t */\n\t\n\t return Model.extend({\n\t local: function () {\n\t var settings = (window.okta && window.okta.settings) || {};\n\t return {\n\t orgId: ['string', false, settings.orgId],\n\t orgName: ['string', false, settings.orgName],\n\t serverStatus: ['string', false, settings.serverStatus],\n\t persona: ['string', false, settings.persona],\n\t isDeveloperConsole: ['boolean', false, settings.isDeveloperConsole],\n\t isPreview: ['boolean', false, settings.isPreview],\n\t permissions: ['array', true, settings.permissions || []]\n\t };\n\t },\n\t\n\t extraProperties: true,\n\t\n\t constructor: function () {\n\t this.features = window._features || [];\n\t Model.apply(this, arguments);\n\t },\n\t\n\t /**\n\t * Checks if the user have a feature flag enabled (Based of the org level feature flag)\n\t * @param {String} feature Feature name\n\t * @return {Boolean}\n\t */\n\t hasFeature: function (feature) {\n\t if (this.features.length === 0 && window.okta && window.okta.logHasFeatureError) {\n\t window.okta.logHasFeatureError(feature);\n\t }\n\t return _.contains(this.features, feature);\n\t },\n\t\n\t /**\n\t * Checks if any of the given feature flags are enabled (Based of the org level feature flags)\n\t * @param {Array} featureArray Features names\n\t * @return {Boolean} true if any of the give features are enabled. False otherwise\n\t */\n\t hasAnyFeature: function (featureArray) {\n\t return _.some(featureArray, this.hasFeature, this);\n\t },\n\t\n\t /**\n\t * Checks if the user have a specific permission (based on data passed from JSP)\n\t * @param {String} permission Permission name\n\t * @return {Boolean}\n\t */\n\t hasPermission: function (permission) {\n\t return _.contains(this.get('permissions'), permission);\n\t }\n\t\n\t });\n\t\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 33 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(8),\n\t __webpack_require__(3),\n\t __webpack_require__(28)\n\t], __WEBPACK_AMD_DEFINE_RESULT__ = function ($, _, BaseView) {\n\t\n\t var defaults = {\n\t level: 'success',\n\t message: 'Great Success!',\n\t hide: true,\n\t fade: 400,\n\t delay: 3000,\n\t width: 0,\n\t dismissable: false\n\t };\n\t\n\t return BaseView.extend({\n\t\n\t className: 'infobox infobox-confirm infobox-confirm-fixed',\n\t\n\t events: {\n\t 'click .infobox-dismiss-link': function (e) {\n\t e.preventDefault();\n\t this.fadeOut();\n\t }\n\t },\n\t\n\t template: '\\\n\t {{#if dismissable}}\\\n\t \\\n\t \\\n\t \\\n\t {{/if}}\\\n\t \\\n\t {{#if title}}

          {{title}}

          {{/if}}\\\n\t

          {{message}}

          \\\n\t ',\n\t\n\t initialize: function () {\n\t this.options = _.defaults({}, this.options, defaults);\n\t this.$el.addClass('infobox-' + this.options.level);\n\t if (this.options.width) {\n\t this.$el.width(this.options.width).css({\n\t 'margin-left': '0px',\n\t 'left': Math.round(($(window).width() - this.options.width) / 2)\n\t });\n\t }\n\t },\n\t\n\t getTemplateData: function () {\n\t return _.extend(_.pick(this.options, 'level', 'message', 'title'), {\n\t dismissable: this.options.hide === false || this.options.dismissable === true\n\t });\n\t },\n\t\n\t postRender: function () {\n\t if (this.options.hide) {\n\t _.delay(_.bind(this.fadeOut, this), this.options.delay);\n\t }\n\t },\n\t\n\t fadeOut: function () {\n\t this.$el.fadeOut(this.options.fade, _.bind(this.remove, this));\n\t }\n\t\n\t });\n\t\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 34 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(35)], __WEBPACK_AMD_DEFINE_RESULT__ = function (BaseFormDialog) {\n\t\n\t return BaseFormDialog.extend({\n\t\n\t 'save': 'OK',\n\t\n\t params: {\n\t minWidth: 500,\n\t maxWidth: 700,\n\t close: true\n\t },\n\t\n\t constructor: function () {\n\t BaseFormDialog.apply(this, arguments);\n\t\n\t if (this.content) {\n\t this.add(this.content);\n\t }\n\t\n\t this.listenTo(this, 'save', function () {\n\t var callback = this.ok || this.options.ok;\n\t callback && callback();\n\t this.remove();\n\t });\n\t\n\t this.listenTo(this, 'cancel', function () {\n\t var callback = this.cancelFn || this.options.cancelFn;\n\t callback && callback();\n\t });\n\t\n\t }\n\t\n\t });\n\t\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 35 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(8),\n\t __webpack_require__(3),\n\t __webpack_require__(28),\n\t __webpack_require__(36),\n\t __webpack_require__(37)\n\t], __WEBPACK_AMD_DEFINE_RESULT__ = function ($, _, BaseView, BaseModalDialog, BaseForm) {\n\t\n\t var FORM_FIELDS = [\n\t 'save',\n\t 'noCancelButton',\n\t 'inputs',\n\t 'subtitle',\n\t 'autoSave',\n\t 'focus',\n\t 'cancel',\n\t 'danger',\n\t 'hasSavingState',\n\t 'customSavingState',\n\t 'parseErrorMessage'\n\t ];\n\t var FORM_DEFAULTS = {\n\t layout: 'o-form-wrap',\n\t scrollOnError: false\n\t };\n\t\n\t // jquery.simplemodoal options\n\t var SIMPLE_MODAL_PARAMS = {\n\t minWidth: 600,\n\t maxWidth: 950,\n\t focus: false,\n\t close: false,\n\t autoResize: false, // (use the resizeModal method, so that the scrolling goes to content, not the whole modal)\n\t autoPosition: true\n\t };\n\t\n\t /**\n\t * Okta.FormDialog is a facade layer for a form that lives in a modal dialog.\n\t *\n\t * The API is proxying the {@link module:Okta.Form|Form} API for the most part.\n\t * It also triggers all the form events\n\t * It takes care of repositioning, resizing, closing the dialog on cancel, and so on.\n\t *\n\t * @class module:Okta.FormDialog\n\t * @extends module:Okta.View\n\t * @borrows module:Okta.Form#event:save as save\n\t * @borrows module:Okta.Form#event:saved as saved\n\t * @borrows module:Okta.Form#event:resize as resize\n\t * @borrows module:Okta.Form#event:cancel as cancel\n\t * @borrows module:Okta.Form#title as #title\n\t * @borrows module:Okta.Form#subtitle as #subtitle\n\t * @borrows module:Okta.Form#save as #save\n\t * @borrows module:Okta.Form#inputs as #inputs\n\t * @borrows module:Okta.Form#noCancelButton as #noCancelButton\n\t * @borrows module:Okta.Form#autoSave as #autoSave\n\t * @borrows module:Okta.ModalDialog#params as #params\n\t * @borrows module:Okta.Form#addInput as #addInput\n\t * @borrows module:Okta.Form#addButton as #addButton\n\t * @borrows module:Okta.Form#addDivider as #addDivider\n\t * @borrows module:Okta.Form#addSectionTitle as #addSectionTitle\n\t * @borrows module:Okta.Form#clearErrors as #clearErrors\n\t * @example\n\t * var AddUserDialog = Okta.FormDialog({\n\t * autoSave: true,\n\t * title: 'Add a User',\n\t * inputs: [\n\t * {\n\t * type: 'text',\n\t * name: 'fname',\n\t * label: 'First Name'\n\t * },\n\t * {\n\t * type: 'text',\n\t * name: 'lname',\n\t * label: 'Last Name'\n\t * }\n\t * ]\n\t * });\n\t *\n\t * // renders the modal dialog on the page\n\t * var dialog = new AddUserDialog({model: new MyModel()}).render();\n\t * this.listenTo(dialog, 'saved', function (model) {\n\t * // the model is now saved\n\t * });\n\t */\n\t return BaseView.extend(/** @lends module:Okta.FormDialog.prototype */ {\n\t\n\t constructor: function (options) {\n\t /* eslint max-statements: [2, 13] */\n\t\n\t var Form = BaseForm.extend(_.extend({}, FORM_DEFAULTS, _.pick(this, FORM_FIELDS)));\n\t this.form = new Form(_.omit(options, 'title', 'subtitle'));\n\t\n\t this.listenTo(this.form, 'resize', _.debounce(_.bind(this.resizeModal, this), 100));\n\t\n\t // trigger all form events\n\t var removeFn = _.bind(this.remove, this);\n\t this.listenTo(this.form, 'all', function () {\n\t this.trigger.apply(this, arguments);\n\t if (arguments[0] === 'cancel') {\n\t removeFn();\n\t }\n\t });\n\t\n\t $(window).resize(_.debounce(_.bind(this.resizeModal, this), 100));\n\t\n\t var Dialog = BaseModalDialog.extend({\n\t title: this.title,\n\t className: this.className,\n\t params: _.extend({}, SIMPLE_MODAL_PARAMS, this.params)\n\t });\n\t\n\t this.dialog = new Dialog(options);\n\t this.dialog.add(this.form);\n\t this.el = this.dialog.el;\n\t\n\t\n\t BaseView.apply(this, arguments);\n\t\n\t if (this.form.getAttribute('autoSave')) {\n\t this.listenTo(this, 'saved', this.remove);\n\t }\n\t\n\t },\n\t\n\t /**\n\t * The form instance generated by the constructor.\n\t * Should **not** be referenced locally, exposed externally for test purposes.\n\t * @type {Okta.Form}\n\t * @private\n\t * @readonly\n\t */\n\t form: undefined,\n\t\n\t /**\n\t * The dialog instance generated by the constructor.\n\t * Should **not** be referenced locally, exposed externally for test purposes.\n\t * @type {Okta.ModalDialog}\n\t * @private\n\t * @readonly\n\t */\n\t dialog: undefined,\n\t\n\t addInput: function () {\n\t return this.form.addInput.apply(this.form, arguments);\n\t },\n\t\n\t addButton: function () {\n\t return this.form.addButton.apply(this.form, arguments);\n\t },\n\t\n\t addDivider: function () {\n\t return this.form.addDivider.apply(this.form, arguments);\n\t },\n\t\n\t addSectionTitle: function () {\n\t return this.form.addSectionTitle.apply(this.form, arguments);\n\t },\n\t\n\t add: function () {\n\t return this.form.add.apply(this.form, arguments);\n\t },\n\t\n\t render: function () {\n\t this.preRender();\n\t this.dialog.render.apply(this.dialog, arguments);\n\t _.defer(_.bind(this.resizeModal, this));\n\t this.postRender();\n\t return this;\n\t },\n\t\n\t remove: function () {\n\t this.dialog.remove.apply(this.dialog, arguments);\n\t return BaseView.prototype.remove.apply(this, arguments);\n\t },\n\t\n\t /**\n\t * Resize modal to fit window height\n\t * the whole modal will be within the viewport, only the form content is scrollable\n\t * there's no good solution to totally fix the width issue yet for tiny window,\n\t * leave it for jquery simplemodal autoResize to do its best\n\t */\n\t resizeModal: function () {\n\t var modal = $('.simplemodal-wrap'),\n\t form = this.form,\n\t modalHeight = modal.height(),\n\t modalMinHeight = _.isNumber(this.dialog.params.minHeight) ? this.dialog.params.minHeight : 0,\n\t windowHeight = $(window).height();\n\t if (modalMinHeight <= modalHeight) {\n\t if (modalHeight >= windowHeight) {\n\t form.contentHeight(\n\t windowHeight - this.dialog.$('h2').outerHeight() - form.$('.o-form-button-bar').outerHeight() -\n\t (modal.outerHeight(true) - form.$el.outerHeight(true)));\n\t }\n\t else {\n\t form.contentHeight(\n\t form.contentHeight() + (windowHeight - modal.outerHeight())\n\t );\n\t }\n\t this.dialog.resize.apply(this.dialog, arguments);\n\t }\n\t },\n\t\n\t clearErrors: function () {\n\t return this.form.clearErrors.apply(this.form, arguments);\n\t }\n\t\n\t });\n\t\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 36 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(8),\n\t __webpack_require__(3),\n\t __webpack_require__(25),\n\t __webpack_require__(28),\n\t __webpack_require__(12)\n\t], __WEBPACK_AMD_DEFINE_RESULT__ = function ($, _, TemplateUtil, BaseView) {\n\t\n\t var tpl = TemplateUtil.tpl;\n\t\n\t /**\n\t * A view that renders as a modal dialog.\n\t * The template of the view will render inside a dialog.\n\t *\n\t * It uses [SimpleModal](http://www.ericmmartin.com/projects/simplemodal) as the base modal widget.\n\t *\n\t * In the context of a {@link module:Okta.View|View}, do not `add` this view to the container - simply call render\n\t * A modal dialog is a special view in terms of - it has an overlay and takes over the screen, so conceptually\n\t * it is not a part of any other view.\n\t *\n\t * @class module:Okta.ModalDialog\n\t * @extends module:Okta.View\n\t */\n\t return BaseView.extend(/** @lends module:Okta.ModalDialog.prototype */ {\n\t\n\t /**\n\t * Parameters to pass to the simplemodal plugin.\n\t * See [Available Options](http://www.ericmmartin.com/projects/simplemodal/#options).\n\t * @type {Object}\n\t * @property {Object} [params]\n\t */\n\t params: {},\n\t\n\t constructor: function () {\n\t BaseView.apply(this, arguments);\n\t this.$el.addClass('simplemodal-wrap');\n\t\n\t // garbage collection - remove the view when modal is closed\n\t this.params = _.extend({\n\t onClose: _.bind(_.throttle(this.remove, 64), this)\n\t }, this.params || {});\n\t },\n\t\n\t render: function () {\n\t /* eslint max-statements: [2, 16] */\n\t\n\t this.delegateEvents(); // modal may be rendered multiple times\n\t BaseView.prototype.render.apply(this, arguments);\n\t\n\t var options = _.extend({}, _.pick(this, 'title', 'subtitle'), _.pick(this.options, 'title', 'subtitle'));\n\t\n\t if (options.subtitle) {\n\t var subtitle = _.resultCtx(options, 'subtitle', this);\n\t this.$el.prepend(tpl('

          {{subtitle}}

          ')({subtitle: subtitle}));\n\t }\n\t\n\t if (options.title) {\n\t var title = _.resultCtx(options, 'title', this);\n\t this.$el.prepend(tpl('

          {{title}}

          ')({title: title}));\n\t }\n\t\n\t // running deferred fixes a rendering issue with simplemodal\n\t _.defer(_.bind(function () {\n\t this.$el.modal(this.params);\n\t this.resize();\n\t }, this));\n\t\n\t // make sure scrolling on the body is disabled;\n\t $('body').css('overflow', 'hidden');\n\t\n\t return this;\n\t },\n\t\n\t remove: function () {\n\t $.modal.close();\n\t // re-enable document scroll; blank property value removes property altogether\n\t $('body').css('overflow', '');\n\t _.defer(function () {\n\t $.modal.close();\n\t });\n\t return BaseView.prototype.remove.apply(this, arguments);\n\t },\n\t\n\t /**\n\t * Adjusts the modal content size based on the current content\n\t */\n\t resize: function () {\n\t $.modal.update(this.$el.outerHeight());\n\t }\n\t\n\t });\n\t\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 37 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* eslint max-params: [2, 14], max-statements: [2, 11] */\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(3),\n\t __webpack_require__(8),\n\t __webpack_require__(25),\n\t __webpack_require__(10),\n\t __webpack_require__(28),\n\t __webpack_require__(40),\n\t __webpack_require__(42),\n\t __webpack_require__(38),\n\t __webpack_require__(44),\n\t __webpack_require__(47),\n\t __webpack_require__(48),\n\t __webpack_require__(45),\n\t __webpack_require__(49),\n\t __webpack_require__(50)\n\t], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, $, TemplateUtil, StringUtil, BaseView,\n\t InputFactory, InputLabel, InputContainer, InputWrapper,\n\t ErrorBanner, ErrorParser, FormUtil, ReadModeBar, Toolbar) {\n\t\n\t var template = '\\\n\t {{#if hasReadMode}}\\\n\t

          \\\n\t {{title}}\\\n\t

          \\\n\t {{/if}}\\\n\t
          \\\n\t {{#unless hasReadMode}}\\\n\t {{#if title}}\\\n\t

          {{title}}

          \\\n\t {{/if}}\\\n\t {{/unless}}\\\n\t {{#if subtitle}}\\\n\t

          {{subtitle}}

          \\\n\t {{/if}}\\\n\t
          \\\n\t
          \\\n\t
          \\\n\t ';\n\t\n\t // polyfill for `pointer-events: none;` in IE < 11\n\t // Logic borrowed from https://github.com/kmewhort/pointer_events_polyfill (BSD)\n\t var pointerEventsSupported = ($('
          ').css({'pointer-events': 'auto'})[0].style.pointerEvents === 'auto');\n\t function pointerEventsPolyfill(e) {\n\t if (!pointerEventsSupported && this.$el.hasClass('o-form-saving')) {\n\t var $el = $(e.currentTarget);\n\t\n\t $el.css('display', 'none');\n\t var underneathElem = document.elementFromPoint(e.clientX, e.clientY);\n\t $el.css('display', 'block');\n\t\n\t e.target = underneathElem;\n\t $(underneathElem).trigger(e);\n\t\n\t return false;\n\t }\n\t }\n\t\n\t\n\t var events = {\n\t submit: function (e) {\n\t e.preventDefault();\n\t this.__save();\n\t }\n\t };\n\t\n\t _.each(['click', 'dblclick', 'mousedown', 'mouseup'], function (event) {\n\t events[event + ' .o-form-input'] = pointerEventsPolyfill;\n\t });\n\t\n\t var attributes = function (model) {\n\t model || (model = {});\n\t var collection = model && model.collection || {};\n\t return {\n\t method: 'POST',\n\t action: _.result(model, 'urlRoot') || _.result(collection, 'url') || window.location.pathname,\n\t 'data-se': 'o-form'\n\t };\n\t };\n\t\n\t var convertSavingState = function (rawSavingStateEvent, defaultEvent) {\n\t rawSavingStateEvent || (rawSavingStateEvent = '');\n\t var savingStateEvent = [];\n\t if (_.isString(rawSavingStateEvent)) {\n\t savingStateEvent = rawSavingStateEvent.split(' ');\n\t }\n\t savingStateEvent = _.union(savingStateEvent, defaultEvent);\n\t return savingStateEvent.join(' ');\n\t };\n\t\n\t /**\n\t * A Form utility framework\n\t *\n\t * Okta.Form is a form that operates on one flat model\n\t * It exposes one main factory method, {@link module:Okta.Form#addInput|addInput}, which add inputs to the form,\n\t * and each input operates on one field in the model, identified by the `name` field.\n\t *\n\t * See:\n\t * [Basic O-Form Tutorial](https://github.com/okta/courage/wiki/Basic-O-Form)\n\t *\n\t * @class module:Okta.Form\n\t * @extends module:Okta.View\n\t * @param {Object} options options hash (See {@link module:Okta.View|View})\n\t * @param {Object} options.model the model this form operates on\n\t * @param {Boolean} [options.label-top=false] position label on top of inputs\n\t * @param {Boolean} [options.wide=false] Use a wide input layout for all input\n\t */\n\t\n\t /**\n\t * Fired when the \"Save\" button is clicked\n\t * @event module:Okta.Form#save\n\t * @param {module:Okta.Model} model Model used in the form\n\t */\n\t\n\t /**\n\t * Fired after the model is successfully saved - applies when {@link module:Okta.Form#autoSave|autoSave}\n\t * is set to true\n\t * @event module:Okta.Form#saved\n\t * @param {module:Okta.Model} model Model used in the form\n\t */\n\t\n\t /**\n\t * Fired when the model fires an invalid event or an error event;\n\t * @event module:Okta.Form#error\n\t * @param {module:Okta.Model} model Model used in the form\n\t */\n\t\n\t /**\n\t * Fired when the form layout is likely to be resized\n\t * @event module:Okta.Form#resize\n\t * @param {module:Okta.Model} model Model used in the form\n\t */\n\t\n\t /**\n\t * Fired when the \"Cancel\" button is clicked\n\t * @event module:Okta.Form#cancel\n\t */\n\t\n\t return BaseView.extend(/** @lends module:Okta.Form.prototype */ {\n\t\n\t /**\n\t * Specifies how to validate form:\n\t * - In case \"local\" string provided as a value of the property,\n\t * the form will validate only fields added as inputs to the form;\n\t * - In case array is provided, the validation will be performed only for fields specified in array;\n\t * - In case function is provided, provided function will be used as a validation function,\n\t * it must return an error object with the format {fieldName: 'error text'} with as many fields as you need.\n\t * @name validate\n\t * @memberof module:Okta.Form\n\t * @type {String|Array|Function}\n\t * @instance\n\t */\n\t\n\t constructor: function (options) {\n\t /* eslint max-statements: 0, complexity: 0 */\n\t options || (options = {});\n\t this.options = options;\n\t\n\t this.id = _.uniqueId('form');\n\t this.tagName = 'form';\n\t\n\t _.defaults(this.events, events);\n\t _.defaults(this.attributes, attributes(options.model));\n\t\n\t this.__buttons = [];\n\t this.__errorFields = {};\n\t\n\t this.__saveModelState(options.model);\n\t\n\t if (this.step) {\n\t if (!this.save) {\n\t this.save = (!this.totalSteps || this.step === this.totalSteps) ? 'Finish' : 'Next';\n\t }\n\t this.className += ' wizard';\n\t }\n\t this.className += ' o-form';\n\t\n\t this.__toolbar = this.__createToolbar(options);\n\t\n\t BaseView.call(this, options);\n\t\n\t _.each(_.result(this, 'inputs') || [], function (input) {\n\t // to ingore extra argumests from `each` iteratee function\n\t // http://underscorejs.org/#each\n\t this.__addLayoutItem(input);\n\t }, this);\n\t\n\t this.add(this.__toolbar, '');\n\t\n\t this.listenTo(this.model, 'change:__edit__', this.__applyMode);\n\t\n\t this.listenTo(this.model, 'invalid error', _.throttle(function (model, resp, showBanner) {\n\t this.__showErrors(model, resp, showBanner !== false);\n\t }, 100, {trailing: false}));\n\t\n\t this.listenTo(this.model, 'form:resize', function () {\n\t this.trigger('resize');\n\t });\n\t\n\t this.listenTo(this.model, 'form:cancel', _.throttle(this.__cancel, 100, {trailing: false}));\n\t this.listenTo(this.model, 'form:previous', _.throttle(this.__previous, 100, {trailing: false}));\n\t\n\t this.__save = _.throttle(this.__save, 200, {trailing: false});\n\t this.listenTo(this.model, 'form:save', function () {\n\t this.$el.submit();\n\t });\n\t\n\t this.listenTo(this.model, 'sync', function () {\n\t if (this.model.get('__edit__')) {\n\t this.model.set('__edit__', false, {silent: true});\n\t }\n\t this.__saveModelState(this.model);\n\t this.render();\n\t });\n\t\n\t var hasSavingState = this.getAttribute('hasSavingState');\n\t\n\t if (this.getAttribute('autoSave')) {\n\t this.listenTo(this, 'save', function (model) {\n\t var xhr = model.save();\n\t if (xhr && xhr.done) {\n\t xhr.done(_.bind(function () {\n\t this.trigger('saved', model);\n\t }, this));\n\t }\n\t });\n\t if (_.isUndefined(hasSavingState)) {\n\t hasSavingState = true;\n\t }\n\t }\n\t\n\t /*\n\t * Attach model event listeners\n\t * by default, model's request event starts the form saving state,\n\t * error and sync event stops it\n\t * you can define customized saving start and stop state, like\n\t * customSavingState: {start: 'requestingAdditionalInfo', stop: 'retrievedAdditionalInfo'}\n\t * doing this does not override the default events\n\t */\n\t if (hasSavingState) {\n\t var customSavingState = this.getAttribute('customSavingState', {});\n\t this.listenTo(\n\t this.model,\n\t convertSavingState(customSavingState.start || '', ['request']),\n\t this.__setSavingState\n\t );\n\t this.listenTo(\n\t this.model,\n\t convertSavingState(customSavingState.stop || '', ['error', 'sync']),\n\t this.__clearSavingState\n\t );\n\t }\n\t },\n\t\n\t /**\n\t * Create the bottom button bar\n\t * @param {Object} options options h\n\t * @return {Okta.View} The toolbar\n\t * @private\n\t */\n\t __createToolbar: function (options) {\n\t\n\t var danger = this.getAttribute('danger');\n\t var saveBtnClassName = danger === true ? 'button-error' : 'button-primary';\n\t\n\t var toolbar = new Toolbar(_.extend({\n\t save: this.save || StringUtil.localize('oform.save', 'courage'),\n\t saveId: this.saveId,\n\t saveClassName: saveBtnClassName,\n\t cancel: this.cancel || StringUtil.localize('oform.cancel', 'courage'),\n\t noCancelButton: this.noCancelButton || false,\n\t hasPrevStep: this.step && this.step > 1\n\t }, options || this.options));\n\t\n\t _.each(this.__buttons, function (args) {\n\t toolbar.addButton.apply(toolbar, args);\n\t });\n\t\n\t return toolbar;\n\t },\n\t\n\t className: '',\n\t\n\t attributes: {},\n\t\n\t events: {},\n\t\n\t /**\n\t * An array of input configurations to render in the form\n\t * @type {Array}\n\t */\n\t inputs: [],\n\t\n\t template: null,\n\t\n\t /**\n\t * Does the form support read/edit toggle.\n\t * @type {Boolean|Function}\n\t * @default false\n\t */\n\t read: false,\n\t\n\t /**\n\t * Is the form in readOnly mode.\n\t * @type {Boolean|Function}\n\t * @default false\n\t */\n\t readOnly: false,\n\t\n\t /**\n\t * Should we not render the button bar\n\t * @type {Boolean|Function}\n\t * @default false\n\t */\n\t noButtonBar: false,\n\t\n\t /**\n\t * Should we not render a cancel button\n\t * @type {Boolean|Function}\n\t * @default false\n\t */\n\t noCancelButton: false,\n\t\n\t /**\n\t * The text on the save button\n\t * @type {String}\n\t * @default \"Save\"\n\t */\n\t save: null,\n\t\n\t /**\n\t * The text on the cancel button\n\t * @type {String}\n\t * @default \"Cancel\"\n\t */\n\t cancel: null,\n\t\n\t /**\n\t * To use button-error to style the submit button instead of button-primary.\n\t * @type {Boolean|Function}\n\t * @default false\n\t */\n\t danger: false,\n\t\n\t /**\n\t * A layout CSS class to add to the form\n\t * @type {String|Function}\n\t * @default \"\"\n\t */\n\t layout: '',\n\t\n\t /**\n\t * The step this form is in the context of a wizard\n\t * @type {Number}\n\t */\n\t step: undefined,\n\t\n\t /**\n\t * The total numbers of steps the wizard this form is a part of has\n\t * @type {Number}\n\t */\n\t totalSteps: undefined,\n\t\n\t /**\n\t * The form's title\n\t * @type {String|Function}\n\t */\n\t title: null,\n\t\n\t /**\n\t * The form's subtitle\n\t * @type {String|Function}\n\t */\n\t subtitle: null,\n\t\n\t /**\n\t * Auto-save the model when hitting save. Triggers a `saved` event when done\n\t * @type {Boolean}\n\t * @default false\n\t */\n\t autoSave: false,\n\t\n\t /**\n\t * Scroll to the top of the form on error\n\t * @type {Boolean|Function}\n\t * @default true\n\t */\n\t scrollOnError: true,\n\t\n\t /**\n\t * Show the error banner upon error\n\t * @type {Boolean|Function}\n\t * @default true\n\t */\n\t showErrors: true,\n\t\n\t /**\n\t * The form's scrollable area\n\t * @type {String}\n\t * @default \".o-form-content\"\n\t */\n\t resizeSelector: '.o-form-content',\n\t\n\t /**\n\t * Sets whether or not the form shows the saving state when\n\t * the model is saved. Has no effect on setSavingState and clearSavingState as those are manual calls\n\t * to trigger/clear the saving state.\n\t * @name hasSavingState\n\t * @memberof module:Okta.Form\n\t * @type {Boolean}\n\t * @default false\n\t * @instance\n\t */\n\t\n\t /**\n\t * Get an attribute value from options or instance.\n\t * Prefer options value over instance value\n\t * @param {String} name Name of the attribute\n\t * @param {Object} defaultValue the default value to return if the attribute is not found\n\t * @return {Object} The value\n\t */\n\t getAttribute: function (name, defaultValue) {\n\t var value = _.resultCtx(this.options, name, this);\n\t if (_.isUndefined(value)) {\n\t value = _.result(this, name);\n\t }\n\t return !_.isUndefined(value) ? value : defaultValue;\n\t },\n\t\n\t /**\n\t * Does this form have a \"read\" mode\n\t * @return {Boolean}\n\t */\n\t hasReadMode: function () {\n\t return !!this.getAttribute('read');\n\t },\n\t\n\t /**\n\t * Is this form in \"read only\" mode\n\t * @return {Boolean}\n\t */\n\t isReadOnly: function () {\n\t return !!this.getAttribute('readOnly');\n\t },\n\t\n\t /**\n\t * Does this form have a button bar\n\t * @return {Boolean}\n\t */\n\t hasButtonBar: function () {\n\t return !(this.getAttribute('noButtonBar') || this.isReadOnly());\n\t },\n\t\n\t render: function () {\n\t\n\t this.__readModeBar && this.__readModeBar.remove();\n\t if (this.hasReadMode() && !this.isReadOnly()) {\n\t var readModeBar = ReadModeBar.extend({\n\t formTitle: this.getAttribute('title', '')\n\t });\n\t this.__readModeBar = this.add(readModeBar, '.o-form-title-bar').last();\n\t }\n\t\n\t var html = TemplateUtil.tpl(template)({\n\t layout: this.getAttribute('layout', ''),\n\t title: this.getAttribute('title', '', true),\n\t subtitle: this.getAttribute('subtitle', '', true),\n\t hasReadMode: this.hasReadMode()\n\t });\n\t\n\t this.$el.html(html);\n\t delete this.template;\n\t\n\t BaseView.prototype.render.apply(this, arguments);\n\t\n\t this.__applyMode();\n\t\n\t return this;\n\t },\n\t\n\t /**\n\t * Changes form UI to indicate saving. Disables all inputs and buttons. Use this function if you have set\n\t * hasSavingState to false on the the form\n\t * @private\n\t */\n\t __setSavingState: function () {\n\t this.model.trigger('form:set-saving-state');\n\t this.$el.addClass('o-form-saving');\n\t },\n\t\n\t /**\n\t * Changes form UI back to normal from the saving state. Use this function if you are have set hasSavingState\n\t * to false on the form\n\t * @private\n\t */\n\t __clearSavingState: function () {\n\t this.model.trigger('form:clear-saving-state');\n\t this.$el.removeClass('o-form-saving');\n\t },\n\t\n\t /**\n\t * Toggles the visibility of the bottom button bar\n\t * @private\n\t */\n\t __toggleToolbar: function () {\n\t this.__toolbar && this.__toolbar.remove();\n\t if (this.hasButtonBar() && this._editMode()) {\n\t this.__toolbar = this.__createToolbar();\n\t this.add(this.__toolbar, '');\n\t }\n\t this.trigger('resize');\n\t },\n\t\n\t /**\n\t * Cancels this form\n\t * - Reset the model to the previous state\n\t * - Clears all errors\n\t * - Triggers a `cancel` event\n\t * - Sets the model to read mode (if applicable)\n\t * @private\n\t * @fires cancel\n\t */\n\t __cancel: function () {\n\t /* eslint max-statements: [2, 12] */\n\t var edit = this.model.get('__edit__');\n\t this.model.clear({silent: true});\n\t var data;\n\t if (this.model.sanitizeAttributes) {\n\t data = this.model.sanitizeAttributes(this.__originalModel);\n\t }\n\t else {\n\t data = _.clone(this.__originalModel);\n\t }\n\t this.model.set(data, {silent: true});\n\t this.trigger('cancel', this.model);\n\t this.model.trigger('cache:clear');\n\t if (edit) {\n\t this.model.set('__edit__', false, {silent: true});\n\t this.model.trigger('change:__edit__', this.model, false);\n\t }\n\t this.clearErrors();\n\t },\n\t\n\t /**\n\t * Runs {@link module:Okta.Form#validate|validate} to check the model state.\n\t * Triggers an \"invalid\" event on the model if validation fails\n\t * @returns {Boolean}\n\t */\n\t isValid: function () {\n\t var res;\n\t var self = this;\n\t\n\t function validateArray(arr) {\n\t return _.reduce(arr, function (memo, fieldName) {\n\t return _.extend(memo, self.model.validateField(fieldName));\n\t }, {});\n\t }\n\t\n\t if (_.isUndefined(this.validate)) {\n\t return this.model.isValid();\n\t }\n\t else if (_.isFunction(this.validate)) {\n\t res = this.validate();\n\t }\n\t else if (_.isArray(this.validate)) {\n\t res = validateArray(this.validate);\n\t }\n\t else if (this.validate === 'local') {\n\t res = validateArray(this.getInputs().map(function (input) {\n\t return input.options.name;\n\t }));\n\t }\n\t\n\t if (!_.isEmpty(res)) {\n\t this.model.trigger('invalid', this.model, res);\n\t return false;\n\t }\n\t else {\n\t return true;\n\t }\n\t },\n\t\n\t /**\n\t * A throttled function that saves the form not more than once every 100 ms\n\t * Basically all this method does is trigger a `save` event\n\t * @fires save\n\t * @private\n\t */\n\t __save: function () {\n\t this.clearErrors();\n\t if (this.isValid()) {\n\t this.trigger('save', this.model);\n\t }\n\t },\n\t\n\t /**\n\t * In the context of a wizard, go to previous state\n\t * Technically all this method does is trigger a `previous` event\n\t * @param {Event} e\n\t * @private\n\t */\n\t __previous: function () {\n\t this.trigger('previous', this.model);\n\t },\n\t\n\t /**\n\t * Renders the form in the correct mode based on the model.\n\t * @private\n\t */\n\t __applyMode: function () {\n\t this.clearErrors();\n\t this.__toggleToolbar();\n\t\n\t if (this._editMode()) {\n\t this.$el.addClass('o-form-edit-mode');\n\t this.$el.removeClass('o-form-read-mode');\n\t this.$('.o-form-content').removeClass('rounded-btm-4');\n\t this.focus();\n\t }\n\t else {\n\t this.$el.removeClass('o-form-edit-mode');\n\t this.$el.addClass('o-form-read-mode');\n\t this.$('.o-form-content').addClass('rounded-btm-4');\n\t }\n\t },\n\t\n\t /**\n\t * Is the form in edit mode\n\t * @return {Boolean}\n\t * @private\n\t */\n\t _editMode: function () {\n\t return this.model.get('__edit__') || !this.hasReadMode();\n\t },\n\t\n\t /**\n\t * Function can be overridden to alter error summary\n\t * @param {Object} responseJSON\n\t * @method\n\t * @default _.identity\n\t */\n\t parseErrorMessage: _.identity,\n\t\n\t /**\n\t * Show an error message based on an XHR error\n\t * @param {Okta.BaseModel} model the model\n\t * @param {jqXHR} xhr The jQuery XmlHttpRequest Object\n\t * @private\n\t */\n\t __showErrors: function (model, resp, showBanner) {\n\t this.trigger('error', model);\n\t\n\t /* eslint max-statements: 0 */\n\t if (this.getAttribute('showErrors')) {\n\t\n\t var errorSummary;\n\t var responseJSON = ErrorParser.getResponseJSON(resp);\n\t\n\t // trigger events for field validation errors\n\t var validationErrors = ErrorParser.parseFieldErrors(resp);\n\t if (_.size(validationErrors)) {\n\t _.each(validationErrors, function (errors, field) {\n\t this.model.trigger('form:field-error', this.__errorFields[field] || field, _.map(errors, function (error) {\n\t return (/^model\\.validation/).test(error) ? StringUtil.localize(error, 'courage') : error;\n\t }));\n\t }, this);\n\t }\n\t else if (responseJSON && Array.isArray(responseJSON.errorCauses) && responseJSON.errorCauses.length > 0){\n\t //set errorSummary from first errorCause which is not field specific error\n\t errorSummary = responseJSON.errorCauses[0].errorSummary;\n\t } else {\n\t //set errorSummary from top level errorSummary\n\t responseJSON = this.parseErrorMessage(responseJSON);\n\t errorSummary = responseJSON && responseJSON.errorSummary;\n\t }\n\t\n\t // show the error message\n\t if (showBanner) {\n\t this.$('.o-form-error-container').addClass('o-form-has-errors');\n\t this.add(ErrorBanner, '.o-form-error-container', {options: {errorSummary: errorSummary}});\n\t }\n\t\n\t // slide to and focus on the error message\n\t if (this.getAttribute('scrollOnError')) {\n\t var $el = $('#' + this.id + ' .o-form-error-container');\n\t $el.length && $('html, body').animate({scrollTop: $el.offset().top}, 400);\n\t }\n\t\n\t this.model.trigger('form:resize');\n\t\n\t }\n\t },\n\t\n\t /**\n\t * Clears the error banner\n\t * @private\n\t */\n\t clearErrors: function () {\n\t this.$('.o-form-error-container').removeClass('o-form-has-errors');\n\t this.model.trigger('form:clear-errors');\n\t this.model.trigger('form:resize');\n\t },\n\t\n\t\n\t /**\n\t * Toggles between edit and read mode\n\t */\n\t toggle: function () {\n\t this.model.set('__edit__', !this.hasReadMode() || !this.model.get('__edit__'));\n\t return this;\n\t },\n\t\n\t __addLayoutItem: function (input) {\n\t if (InputFactory.supports(input)) {\n\t this.addInput(input);\n\t }\n\t else {\n\t this.__addNonInputLayoutItem(input);\n\t }\n\t },\n\t\n\t __addNonInputLayoutItem: function (item) {\n\t var itemOptions = _.omit(item, 'type');\n\t switch (item.type) {\n\t case 'sectionTitle':\n\t this.addSectionTitle(item.title, _.omit(itemOptions, 'title'));\n\t break;\n\t case 'divider':\n\t this.addDivider(itemOptions);\n\t break;\n\t default:\n\t throw new Error('unknown input: ' + item.type);\n\t }\n\t },\n\t\n\t /**\n\t * Adds a view to the buttons tool bar\n\t * @param {Object} params parameterized button options\n\t * @param {Object} options options to send to {@link module:Okta.View#add|View.add}\n\t */\n\t addButton: function (params, options) {\n\t this.__toolbar && this.__toolbar.addButton(params, options);\n\t this.__buttons.push([params, options]);\n\t },\n\t\n\t /**\n\t * Adds a divider\n\t */\n\t addDivider: function (options) {\n\t this.add('
          ');\n\t FormUtil.applyShowWhen(this.last(), options && options.showWhen);\n\t FormUtil.applyToggleWhen(this.last(), options && options.toggleWhen);\n\t return this;\n\t },\n\t\n\t /**\n\t * Adds section header\n\t * @param {String} title\n\t */\n\t addSectionTitle: function (title, options) {\n\t this.add(TemplateUtil.tpl('

          {{title}}

          ')({title: title}));\n\t FormUtil.applyShowWhen(this.last(), options && options.showWhen);\n\t FormUtil.applyToggleWhen(this.last(), options && options.toggleWhen);\n\t return this;\n\t },\n\t\n\t /**\n\t * Add a form input\n\t * @param {Object} options Options to describe the input\n\t * @param {String} options.type The input type.\n\t * The options are: `text`, `textarea`, `select`, `checkbox`, `radio`,\n\t * `password`, `number`, `textselect`, `date`, `grouppicker`, `su-orgspicker`\n\t * `file/image`, `file/cert`, `checkboxset`, `list`, `group`, `zonepicker`\n\t * @param {String} options.name The name of the model field this input mutates\n\t * @param {String|Function} [options.label]\n\t * The input label text.\n\t * When passed as a function, will invoke the function (in the context of the {@link InputLabel})\n\t * on render time, and use the returned value.\n\t * @param {String} [options.sublabel] The input sub label text\n\t * @param {String} [options.tooltip] A popover tooltip to be displayed next to the label\n\t * @param {String} [options.placeholder] Placeholder text.\n\t * @param {String} [options.explain] Explanation text to render below the input\n\t * @param {Okta.View} [options.customExplain] A custom view to render below the input (deprecated)\n\t * @param {Boolean} [options.disabled=false] Make this input disabled\n\t * @param {Boolean} [options.wide=false] Use a wide input layout\n\t * @param {Boolean} [options.label-top=false] position label on top of an input\n\t * @param {Number} [options.multi] have multiple in-line inputs. useful when `input` is passed as an array of inputs\n\t * @param {String} [options.errorField] The API error field here that maps to this input\n\t * @param {Boolean} [options.inlineValidation=true] Validate input on focusout\n\t * @param {String} [options.ariaLabel] Used to add aria-label attribute to the input when label is not present.\n\t\n\t * @param {Object} [options.options]\n\t * In the context of `radio` and `select`, a key/value set of options\n\t *\n\t * @param {Object} [options.params]\n\t * Widget specific parameters. Varies per input.\n\t *\n\t * @param {BaseInput|Object[]} [options.input]\n\t * - A custom input \"class\" or instance - preferably a **class**, so we can automagically assign the right\n\t * parameters when initializing it\n\t * - An array of input definition object literals (such as this one)\n\t *\n\t * @param {Object} [options.showWhen]\n\t * Setting to define when to show (or hide) the input. The input is visible by default.\n\t *\n\t * @param {Object} [options.bindings]\n\t * Bind a certain model attribute to a callback function, so the function is being called on render,\n\t * and any time this model field changes.\n\t * This is similar to `showWhen` but is not limited to toggling.\n\t *\n\t * @param {Function} [options.render]\n\t * A post-render hook that will run upon render on InputWrapper\n\t *\n\t * @param {String|Function} className A className to apply on the {@link InputWrapper}\n\t *\n\t * @param {Function} [options.initialize]\n\t * An `initialize` function to run when initializing the {@link InputWrapper}\n\t * Useful for state mutation on start time, and complex state logic\n\t *\n\t * @example\n\t * // showhen: the field will be visible when `advanced` is set to `true`\n\t * // and `mode` is set to `\"ON\"`.\n\t * showWhen: {\n\t * 'advanced': true,\n\t * 'mode': function (value) {\n\t * return value == 'ON'; // this is identical to this.model.get('mode') == 'ON'\n\t * }\n\t * }\n\t *\n\t * @example\n\t * // bindings\n\t * bindings: {\n\t * 'status mode': function (status, mode) {\n\t * var labelView = this.getLabel();\n\t * if (status == 1) {\n\t * labelView.options.label = 'Something';\n\t * }\n\t * else {\n\t * labelView.options.label = mode;\n\t * }\n\t * labelView.render();\n\t * }\n\t * }\n\t */\n\t addInput: function (_options) {\n\t\n\t _options = _.clone(_options);\n\t\n\t FormUtil.validateInput(_options, this.model);\n\t\n\t var inputsOptions = FormUtil.generateInputOptions(_options, this, this.__createInput).reverse();\n\t\n\t // We need a local variable here to keep track\n\t // as addInput can be called either directy or through the inputs array.\n\t if (_.isEmpty(this.getInputs().toArray())) {\n\t _.extend(inputsOptions[0], {validateOnlyIfDirty: true});\n\t }\n\t var inputs = _.map(inputsOptions, this.__createInput, this);\n\t\n\t _.each(inputsOptions, function (input) {\n\t if (input.errorField) {\n\t this.__errorFields[input.errorField] = input.name;\n\t }\n\t }, this);\n\t\n\t var options = {\n\t inputId: _.last(inputs).options.inputId,\n\t input: inputs,\n\t multi: inputsOptions.length > 1 ? inputsOptions.length : undefined\n\t };\n\t _.extend(options, _.omit(this.options, 'input'), _.omit(_options, 'input'));\n\t\n\t var inputWrapper = this.__createWrapper(options);\n\t if (options.label !== false) {\n\t inputWrapper.add(this.__createLabel(options));\n\t }\n\t inputWrapper.add(this._createContainer(options));\n\t inputWrapper.type = options.type || options.input.type || 'custom';\n\t\n\t var args = [inputWrapper].concat(_.drop(arguments, 1));\n\t return this.add.apply(this, args);\n\t },\n\t\n\t /**\n\t * @private\n\t */\n\t __createInput: function (options) {\n\t options = _.pick(options, FormUtil.INPUT_OPTIONS);\n\t return InputFactory.create(options);\n\t },\n\t\n\t /**\n\t * @private\n\t */\n\t __createWrapper: function (options) {\n\t options = _.pick(options, FormUtil.WRAPPER_OPTIONS);\n\t return new InputWrapper(options);\n\t },\n\t\n\t /**\n\t * @private\n\t */\n\t __createLabel: function (options) {\n\t options = _.pick(options, FormUtil.LABEL_OPTIONS);\n\t return new InputLabel(options);\n\t },\n\t\n\t /**\n\t * @private\n\t */\n\t _createContainer: function (options) {\n\t options = _.pick(options, FormUtil.CONTAINER_OPTIONS);\n\t return new InputContainer(options);\n\t },\n\t\n\t /**\n\t * Stores the current attributes of the model to a private property\n\t * @param {Okta.BaseModel} model The model\n\t * @private\n\t */\n\t __saveModelState: function (model) {\n\t this.__originalModel = model.clone().attributes;\n\t },\n\t\n\t /**\n\t * @override\n\t * @ignore\n\t */\n\t add: function () {\n\t var args = _.toArray(arguments);\n\t typeof args[1] === 'undefined' && (args[1] = '> div.o-form-content > .o-form-fieldset-container');\n\t return BaseView.prototype.add.apply(this, args);\n\t },\n\t\n\t /**\n\t * Set the focus on the first input in the form\n\t */\n\t focus: function () {\n\t var first = this.getInputs().first();\n\t if (first && first.focus) {\n\t first.focus();\n\t }\n\t return this;\n\t },\n\t\n\t /**\n\t * Disable all inputs in the form\n\t * @deprecated not currently in use\n\t */\n\t disable: function () {\n\t this.invoke('disable');\n\t return this;\n\t },\n\t\n\t /**\n\t * Enable all inputs in the form\n\t * @deprecated not currently in use\n\t */\n\t enable: function () {\n\t this.invoke('enable');\n\t },\n\t\n\t /**\n\t * Set the max-height for o-form-content class container within the form if a height is provided,\n\t * otherwise, get its computed inner height\n\t * @param {Number} the height in pixel to set for class o-form-content\n\t * @return {Number}\n\t */\n\t contentHeight: function (height) {\n\t var content = this.$('.o-form-content');\n\t if (_.isNumber(height)) {\n\t content.css('max-height', height);\n\t } else {\n\t return content.height();\n\t }\n\t },\n\t\n\t /**\n\t * Get only the input children\n\t * @return {InputWrapper[]} An underscore wrapped array of {@link InputWrapper} instances\n\t */\n\t getInputs: function () {\n\t return _(this.filter(function (view) {\n\t return view instanceof InputWrapper;\n\t }));\n\t }\n\t\n\t });\n\t\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 38 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(3),\n\t __webpack_require__(25),\n\t __webpack_require__(17),\n\t __webpack_require__(28),\n\t __webpack_require__(39)\n\t], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, TemplateUtil, Logger, BaseView, Util) {\n\t /**\n\t * @class InputContainer\n\t * @private\n\t *\n\t * TODO: OKTA-80796\n\t * Attention: Please change with caution since this is used in other places\n\t */\n\t\n\t var isABaseView = Util.isABaseView;\n\t\n\t return BaseView.extend({\n\t\n\t attributes: function () {\n\t return {\n\t 'data-se': 'o-form-input-container'\n\t };\n\t },\n\t\n\t className: function () {\n\t var className = 'o-form-input';\n\t if (this.options.wide) {\n\t className += ' o-form-wide';\n\t }\n\t if (_.contains([1, 2, 3, 4], this.options.multi)) {\n\t className += ' o-form-multi-input-' + this.options.multi;\n\t if (_.isArray(this.options.input)) {\n\t var inputGroup = _.find(this.options.input, function (input) {\n\t return _.contains(['text+select', 'select+text'], input.options.type);\n\t });\n\t inputGroup && (className += ' o-form-multi-input-group-' + this.options.multi);\n\t }\n\t }\n\t return className;\n\t },\n\t\n\t _getNames: function () {\n\t /*eslint complexity: 0 */\n\t var names = _.isArray(this.options.name) ? this.options.name : [this.options.name];\n\t if (this.options.type == 'group') {\n\t names.push.apply(names, _.pluck(this.options.input[0].options.params.inputs, 'name'));\n\t }\n\t else if (_.isArray(this.options.name)) {\n\t if (this.options.input && this.options.input.options && this.options.input.options.name) {\n\t names.push(this.options.input.options.name);\n\t }\n\t }\n\t else if (this.options.input) {\n\t if (_.isArray(this.options.input)) {\n\t _.each(this.options.input, function (inputItem) {\n\t names.push(inputItem.options.name);\n\t });\n\t }\n\t else {\n\t names.push(this.options.input.options.name);\n\t }\n\t }\n\t return _.uniq(_.compact(names));\n\t },\n\t\n\t constructor: function () {\n\t /* eslint max-statements: [2, 18] */\n\t BaseView.apply(this, arguments);\n\t\n\t // we want to append the input *before* the explain text\n\t if (this.options.input) {\n\t if (_.isArray(this.options.input)) {\n\t _.each(this.options.input, function (inputItem) {\n\t this.add(inputItem, {prepend: true});\n\t }, this);\n\t } else {\n\t this.add(this.options.input, {prepend: true});\n\t }\n\t }\n\t\n\t this.__setExplain(this.options);\n\t\n\t var names = this._getNames();\n\t\n\t this.listenTo(this.model, 'form:field-error', function (name, errors) {\n\t if (_.contains(names, name)) {\n\t this.__setError(errors);\n\t }\n\t });\n\t\n\t this.listenTo(this.model, 'form:clear-errors change:' + names.join(' change:'), this.__clearError);\n\t this.listenTo(this.model, 'form:clear-error:' + names.join(' form:clear-error:'), this.__clearError);\n\t\n\t if (_.resultCtx(this.options, 'autoRender', this)) {\n\t this.listenTo(this.model, 'change:' + this.options.name, this.render);\n\t }\n\t\n\t this.__errorState = false;\n\t\n\t },\n\t\n\t /**\n\t * Populates the explain on the input container (if it exists). There are\n\t * two ways to use this:\n\t * 1. Raw text - wraps in the correct html template\n\t * 2. Custom html\n\t * - pass in a View class (preferred)\n\t * - pass in an instance of a View\n\t * Some additional notes:\n\t * - You can pass a function that returns any of the above\n\t * - This maintains support for the deprecated \"customExplain\" property\n\t * that was used before. This pattern is superseded by explain, so use\n\t * that instead.\n\t * @private\n\t */\n\t __setExplain: function (options) {\n\t var explain;\n\t\n\t // Deprecated - if you need custom html, use explain instead\n\t if (options.customExplain) {\n\t Logger.warn('Deprecated - use explain instead of customExplain');\n\t this.add(this.options.customExplain);\n\t return;\n\t }\n\t\n\t explain = options.explain;\n\t if (_.isFunction(explain) && !isABaseView(explain)) {\n\t explain = _.resultCtx(this.options, 'explain', this);\n\t }\n\t if (!explain) {\n\t return;\n\t }\n\t\n\t if (isABaseView(explain)) {\n\t this.template = '

          ';\n\t this.add(explain, '.o-form-explain');\n\t }\n\t else {\n\t this.template = '

          {{explain}}

          ';\n\t }\n\t },\n\t\n\t /**\n\t * Highlight the input as invalid (validation failed)\n\t * Adds an explaination message of the error\n\t * @private\n\t */\n\t __setError: function (errors) {\n\t\n\t this.__errorState = true;\n\t this.$el.addClass('o-form-has-errors');\n\t\n\t var tmpl = [\n\t '

          ',\n\t '',\n\t '{{text}}',\n\t '

          '\n\t ].join('');\n\t\n\t var html = TemplateUtil.tpl(tmpl)({text: errors.join(', ')});\n\t var $elExplain = this.$('.o-form-explain').not('.o-form-input-error').first();\n\t\n\t if ($elExplain.length) {\n\t $elExplain.before(html);\n\t }\n\t else {\n\t this.$el.append(html);\n\t }\n\t\n\t\n\t },\n\t\n\t /**\n\t * Un-highlight the input and remove explaination text\n\t * @private\n\t */\n\t __clearError: function () {\n\t if (this.__errorState) {\n\t this.$('.o-form-input-error').remove();\n\t this.$el.removeClass('o-form-has-errors');\n\t this.__errorState = false;\n\t _.defer(_.bind(function () {\n\t this.model.trigger('form:resize');\n\t }, this));\n\t }\n\t },\n\t\n\t\n\t focus: function () {\n\t this.each(function (view) {\n\t if (view.focus) {\n\t return view.focus();\n\t }\n\t });\n\t\n\t return this;\n\t }\n\t\n\t });\n\t\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 39 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(3),\n\t __webpack_require__(28)\n\t], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, BaseView) {\n\t\n\t return {\n\t redirect: function (url) {\n\t window.location = url;\n\t },\n\t\n\t reloadPage: function () {\n\t window.location.reload();\n\t },\n\t\n\t constantError: function (errorMessage) {\n\t return function () {\n\t throw new Error(errorMessage);\n\t };\n\t },\n\t\n\t /**\n\t * Simply convert an URL query key value pair object into an URL query string.\n\t * Remember NOT to escape the query string when using this util.\n\t * example:\n\t * input: {userId: 123, instanceId: undefined, expand: 'schema,app'}\n\t * output: '?userId=123&expand=schema,app'\n\t */\n\t getUrlQueryString: function (queries) {\n\t _.isObject(queries) || (queries = {});\n\t var queriesString = _.without(_.map(queries, function (value, key) {\n\t if (value !== undefined && value !== null) {\n\t return key + '=' + encodeURIComponent(value);\n\t }\n\t }), undefined).join('&');\n\t return _.isEmpty(queriesString) ? '' : '?' + queriesString;\n\t },\n\t\n\t isABaseView(obj) {\n\t return obj instanceof BaseView || obj.prototype instanceof BaseView || obj === BaseView;\n\t }\n\t };\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 40 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* eslint max-params: 0, complexity: 0, max-statements: 0 */\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(3),\n\t __webpack_require__(41)\n\t], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, InputRegistry) {\n\t\n\t function createInput(Input, options) {\n\t if (InputRegistry.isBaseInput(Input)) {\n\t return Input.prototype ? new Input(_.omit(options, 'input')) : Input;\n\t }\n\t else {\n\t return Input;\n\t }\n\t }\n\t\n\t function create(options) {\n\t options = _.clone(options);\n\t if (options.input) {\n\t return createInput(options.input, options);\n\t }\n\t var Input = InputRegistry.get(options);\n\t if (!Input) {\n\t throw new Error('unknown input: ' + options.type);\n\t }\n\t return createInput(Input, options);\n\t }\n\t\n\t function supports(options) {\n\t return !!options.input || !!InputRegistry.get(options);\n\t }\n\t\n\t return {\n\t create: create,\n\t supports: supports\n\t };\n\t\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 41 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_) {\n\t var registry = {};\n\t\n\t function isBaseInput(input) {\n\t if (_.isFunction(input)) {\n\t return _.isFunction(input.prototype.editMode) && _.isFunction(input.prototype.readMode);\n\t } else {\n\t return _.isObject(input) && _.isFunction(input.editMode) && _.isFunction(input.readMode);\n\t }\n\t }\n\t\n\t /**\n\t * @class module:Okta.internal.views.forms.helpers.InputRegistry\n\t */\n\t return /** @lends module:Okta.internal.views.forms.helpers.InputRegistry */ {\n\t isBaseInput: isBaseInput,\n\t\n\t /**\n\t * Register a form input\n\t * @param {String} type string identifier for the input\n\t * @param {BaseInput} input the input to register\n\t */\n\t register: function (type, input) {\n\t registry[type] = input;\n\t },\n\t\n\t /**\n\t * Get a form input by type\n\t * @param {Object} options input definition\n\t * @param {String} options.type string identifier for the input\n\t * @return {BaseInput} a matching input\n\t */\n\t get: function (options) {\n\t var input = registry[options.type];\n\t return input && (isBaseInput(input) ? input : input(options));\n\t },\n\t\n\t /**\n\t * Unregister an input type\n\t * @param {String} type\n\t */\n\t unregister: function (type) {\n\t delete registry[type];\n\t }\n\t };\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 42 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(3),\n\t __webpack_require__(25),\n\t __webpack_require__(28),\n\t __webpack_require__(43)\n\t], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, TemplateUtil, BaseView) {\n\t\n\t /**\n\t * @class InputLabel\n\t * @extends {Okta.View}\n\t * @private\n\t * The input's label.\n\t */\n\t return BaseView.extend({\n\t\n\t className: 'okta-form-label o-form-label',\n\t\n\t attributes: {\n\t 'data-se': 'o-form-label'\n\t },\n\t\n\t /**\n\t * @constructor\n\t * @param {Object} options options hash\n\t * @param {String} [options.type] Input type\n\t * @param {String|Function} [options.label] Label text\n\t * @param {String|Function} [options.sublabel] Sub label text\n\t * @param {String|Function} [options.tooltip] Tooltip text\n\t * @param {String|Function} [options.inputId] Id of the inputs\n\t * @param {String|Function} [options.id] Id of the inputs\n\t */\n\t constructor: function (options) {\n\t /* eslint max-statements: [2, 16] complexity: [2, 7]*/\n\t _.defaults(options, {inputId: options.id});\n\t delete options.id;\n\t\n\t BaseView.apply(this, arguments);\n\t\n\t var template;\n\t if (this._isLabelView(options.label)) {\n\t template = '';\n\t } else if (_.contains(['radio', 'checkbox'], options.type) || !options.label) {\n\t template = '{{label}}';\n\t } else {\n\t //space added in the end of the label to avoid selecting label text with double click in read mode\n\t template = '';\n\t }\n\t if (options.sublabel) {\n\t template += '{{sublabel}}';\n\t }\n\t if (options.tooltip) {\n\t if (_.isString(options.tooltip)) {\n\t options.tooltip = {\n\t text: options.tooltip\n\t };\n\t }\n\t template += '';\n\t }\n\t this.template = TemplateUtil.tpl(template);\n\t\n\t },\n\t\n\t getTemplateData: function () {\n\t var options = {label: ''};\n\t _.each(['inputId', 'label', 'sublabel', 'tooltip'], function (option) {\n\t options[option] = _.resultCtx(this.options, option, this);\n\t }, this);\n\t\n\t return options;\n\t },\n\t\n\t _isLabelView: function (label) {\n\t return !_.isUndefined(label) && label instanceof BaseView;\n\t },\n\t\n\t postRender: function () {\n\t var options = this.getTemplateData();\n\t if (this._isLabelView(options.label)) {\n\t this.removeChildren();\n\t this.add(options.label, 'label');\n\t }\n\t\n\t if (options.tooltip) {\n\t this.$('.o-form-tooltip').qtip(_.extend({\n\t style: {classes: 'qtip-custom qtip-shadow'},\n\t position: {\n\t my: 'bottom left',\n\t at: 'top center'\n\t },\n\t hide: {fixed: true},\n\t show: {delay: 0}\n\t }, options.tooltip.options));\n\t }\n\t }\n\t });\n\t\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 43 */\n/***/ function(module, exports) {\n\n\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_43__;\n\n/***/ },\n/* 44 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(28), __webpack_require__(45)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, BaseView, FormUtil) {\n\t\n\t function runCallback(callback, field) {\n\t callback.apply(this, _.map(field.split(/\\s+/), function (field) {\n\t return this.model.get(field);\n\t }, this));\n\t }\n\t\n\t function runIf(fn, ctx) {\n\t if (_.isFunction(fn)) {\n\t fn.call(ctx);\n\t }\n\t }\n\t\n\t /**\n\t * @class InputWrapper\n\t * @extends Okta.View\n\t * @private\n\t * The outer wrapper that warps the label and the input container\n\t */\n\t return BaseView.extend({\n\t\n\t className: function () {\n\t var className = 'o-form-fieldset';\n\t\n\t if (this.options['label-top']) {\n\t className += ' o-form-label-top';\n\t }\n\t\n\t if (this.options.readOnly) {\n\t className += ' o-form-read-mode';\n\t }\n\t\n\t return className;\n\t },\n\t\n\t attributes: function () {\n\t return {\n\t 'data-se': this.options['data-se'] || 'o-form-fieldset'\n\t };\n\t },\n\t\n\t /**\n\t * @constructor\n\t * @param {Object} options options hash\n\t * @param {Object} [options.events]\n\t * @param {Object} [options.bindings]\n\t * @param {Object} [options.showWhen]\n\t * @param {Function} [options.initialize] post initialize callback\n\t * @param {Function} [options.render] post render callback\n\t */\n\t constructor: function (options) {\n\t if (options.className) {\n\t this.inputWrapperClassName = this.className;\n\t this.optionsClassName = options.className;\n\t options.className = function () {\n\t return _.result(this, 'inputWrapperClassName', '') + ' ' + _.result(this, 'optionsClassName');\n\t };\n\t }\n\t BaseView.apply(this, arguments);\n\t _.each(options.events || {}, function (callback, event) {\n\t this.listenTo(this.model, event, callback);\n\t }, this);\n\t\n\t _.each(options.bindings || {}, function (callback, field) {\n\t this.listenTo(this.model, FormUtil.changeEventString(field.split(/\\s+/)),\n\t _.bind(runCallback, this, callback, field));\n\t }, this);\n\t\n\t FormUtil.applyShowWhen(this, options.showWhen);\n\t FormUtil.applyToggleWhen(this, options.toggleWhen);\n\t\n\t runIf(options.initialize, this);\n\t },\n\t\n\t postRender: function () {\n\t _.each(this.options.bindings || {}, runCallback, this);\n\t runIf(this.options.render, this);\n\t },\n\t\n\t /**\n\t * @return {InputLabel}\n\t */\n\t getLabel: function () {\n\t return this.size() > 1 ? this.at(0) : null;\n\t },\n\t /**\n\t * @deprecated ambiguous naming, use {@link #getInputContainer}\n\t */\n\t getInput: function () {\n\t return this.getInputContainer();\n\t },\n\t\n\t /**\n\t * @return {InputContainer}\n\t */\n\t getInputContainer: function () {\n\t return this.at(this.size() > 1 ? 1 : 0);\n\t },\n\t\n\t /**\n\t * @return {BaseInput[]}\n\t */\n\t getInputs: function () {\n\t return this.getInputContainer().toArray();\n\t },\n\t\n\t focus: function () {\n\t return this.getInput().focus();\n\t }\n\t });\n\t\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 45 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* eslint max-params: [2, 6] */\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(3),\n\t __webpack_require__(10),\n\t __webpack_require__(28),\n\t __webpack_require__(46),\n\t __webpack_require__(17),\n\t __webpack_require__(30)\n\t], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, StringUtil, BaseView, Keys, Logger, ViewUtil) {\n\t\n\t var LABEL_OPTIONS = ['model', 'id', 'inputId', 'type', 'label', 'sublabel', 'tooltip', 'name'],\n\t\n\t CONTAINER_OPTIONS = ['wide', 'multi', 'input', 'explain', 'customExplain', 'model', 'name', 'type', 'autoRender'],\n\t\n\t WRAPPER_OPTIONS = ['model', 'name', 'label-top', 'readOnly', 'events', 'initialize', 'showWhen', 'bindings',\n\t 'render', 'className', 'data-se', 'toggleWhen'],\n\t\n\t INPUT_OPTIONS = ['model', 'name', 'inputId', 'type', // base options\n\t 'input', // custom input\n\t 'placeholder', 'label', // labels\n\t 'readOnly', 'read', 'disabled', 'readModeString', // modes\n\t 'options', // select/radio\n\t 'deps', // used to specify inputs that have dependencies and show a callout to user on select\n\t 'from', 'to', // model transformers,\n\t 'autoRender', // model attributes change event to trigger rerendering of the input\n\t 'inlineValidation', // control inline validating against the model on focus lost\n\t 'validateOnlyIfDirty', // check if field has been interacted with and then validate\n\t 'ariaLabel', // 508 compliance for inputs that do not have label associated with them\n\t 'params'], // widgets params - for input specific widgets\n\t\n\t OTHER_OPTIONS = ['errorField'];\n\t\n\t var ALL_OPTIONS = _.uniq(_.union(LABEL_OPTIONS, CONTAINER_OPTIONS, WRAPPER_OPTIONS, INPUT_OPTIONS, OTHER_OPTIONS));\n\t\n\t var SAVE_BUTTON_PHASES = [\n\t '• ',\n\t '• • ',\n\t '• • • ',\n\t '• • • •',\n\t ' • • •',\n\t ' • •',\n\t ' •',\n\t ' ',\n\t ' ',\n\t ' '\n\t ];\n\t\n\t function decorateDoWhen(doWhen) {\n\t if (doWhen && !doWhen['__edit__']) {\n\t return _.extend({'__edit__': _.constant(true)}, doWhen);\n\t }\n\t }\n\t\n\t function createButton(options) {\n\t\n\t options = _.pick(options || {}, 'action', 'id', 'className', 'text', 'type');\n\t\n\t var timeoutId, intervalId, phaseCount;\n\t\n\t return BaseView.extend({\n\t tagName: 'input',\n\t className: 'button',\n\t events: {\n\t 'click': function () {\n\t if (options.action && !this.disabled()) {\n\t options.action.call(this);\n\t }\n\t },\n\t 'keyup': function (e) {\n\t if (Keys.isEnter(e) && options.action && !this.disabled()) {\n\t options.action.call(this);\n\t }\n\t }\n\t },\n\t\n\t disabled: function () {\n\t return this.$el.prop('disabled') === true;\n\t },\n\t\n\t disable: function () {\n\t this.$el.prop('disabled', true);\n\t this.$el.addClass('btn-disabled');\n\t },\n\t\n\t enable: function () {\n\t this.$el.prop('disabled', false);\n\t this.$el.removeClass('btn-disabled');\n\t },\n\t\n\t initialize: function () {\n\t var self = this;\n\t\n\t this.$el.attr('type', options.type == 'save' ? 'submit' : 'button');\n\t this.$el.val(options.text);\n\t if (options.id) {\n\t this.$el.attr('id', options.id);\n\t }\n\t if (options.className) {\n\t this.$el.addClass(options.className);\n\t }\n\t if (options.type) {\n\t this.$el.attr('data-type', options.type);\n\t }\n\t\n\t this.$el.mousedown(function () {\n\t self.model.set('__pending__', true);\n\t });\n\t\n\t this.$el.mouseup(function () {\n\t self.model.set('__pending__', false);\n\t });\n\t\n\t this.listenTo(this.model, 'form:set-saving-state', function () {\n\t this.disable();\n\t if (options.type == 'save') {\n\t timeoutId = setTimeout(_.bind(this.__changeSaveText, this), 1000);\n\t }\n\t });\n\t this.listenTo(this.model, 'form:clear-saving-state', function () {\n\t this.enable();\n\t if (options.type == 'save') {\n\t clearTimeout(timeoutId);\n\t clearInterval(intervalId);\n\t this.$el.val(options.text);\n\t }\n\t });\n\t },\n\t\n\t __changeSaveText: function () {\n\t phaseCount = 0;\n\t intervalId = setInterval(_.bind(this.__showLoadingText, this), 200);\n\t },\n\t\n\t __showLoadingText: function () {\n\t this.$el.val(SAVE_BUTTON_PHASES[phaseCount++ % SAVE_BUTTON_PHASES.length]);\n\t }\n\t });\n\t }\n\t\n\t function validateInput(options, model) {\n\t /* eslint max-statements: 0, complexity: 0 */\n\t\n\t options || (options = {});\n\t\n\t if (options.type == 'label') {\n\t if (!options.label) {\n\t Logger.warn('A label input must have a \"label\" parameter', options);\n\t }\n\t return;\n\t }\n\t\n\t if (options.type == 'button') {\n\t if (!options.title && !options.icon) {\n\t Logger.warn('A button input must have a \"title\" and/or an \"icon\" parameter', options);\n\t }\n\t if (!options.click && !options.href) {\n\t Logger.warn('A button input must have a \"click\" and/or an \"href\" parameter', options);\n\t }\n\t return;\n\t }\n\t\n\t if (!options.name && !options.input) {\n\t Logger.warn('Missing \"name\" or \"input\" parameters', options);\n\t }\n\t\n\t if (_.isArray(options.name) && _.isArray(options.input)) {\n\t throw new Error('Not allowed to have both \"name\" and \"input\" defined as array.');\n\t }\n\t\n\t if (options.type != 'list' && options.name && (model && model.allows)) {\n\t var names = [];\n\t if (_.isArray(options.name)) {\n\t names = options.name;\n\t } else {\n\t names.push(options.name);\n\t }\n\t _.each(names, function (name) {\n\t if (!model.allows(name)) {\n\t throw new Error('field not allowed: ' + options.name);\n\t }\n\t });\n\t }\n\t\n\t if (_.isArray(options.input) && options.type != 'list') {\n\t _.each(options.input, function (input) {\n\t validateInput(input, model);\n\t });\n\t }\n\t\n\t var keys = _.keys(options),\n\t intersection = _.intersection(keys, ALL_OPTIONS);\n\t\n\t if (_.size(intersection) != _.size(options)) {\n\t var fields = _.clone(ALL_OPTIONS);\n\t fields.unshift(keys);\n\t Logger.warn('Invalid input parameters', _.without.apply(null, fields), options);\n\t }\n\t }\n\t\n\t function generateInputOptions(options, form, createFn) {\n\t options = _.clone(options);\n\t\n\t if (_.contains(['list', 'group'], options.type)) {\n\t options.params = _.defaults({\n\t create: createFn,\n\t inputs: _.map(_.isArray(options.input) ? options.input : [options.input], function (input) {\n\t return _.first(generateInputOptions(input, form, createFn));\n\t })\n\t }, options.params || {});\n\t delete options.input;\n\t }\n\t\n\t var inputs = _.isArray(options.input) ? _.clone(options.input) : [options];\n\t\n\t return _.map(inputs, function (input) {\n\t var target = _.defaults({model: form.model}, input, _.omit(options, 'input', 'inputs'), form.options, {\n\t id: _.uniqueId('input'),\n\t readOnly: form.isReadOnly(),\n\t read: form.hasReadMode()\n\t });\n\t if (form.isReadOnly()) {\n\t target.read = target.readOnly = true;\n\t }\n\t return target;\n\t });\n\t\n\t }\n\t\n\t return {\n\t\n\t LABEL_OPTIONS: LABEL_OPTIONS,\n\t CONTAINER_OPTIONS: CONTAINER_OPTIONS,\n\t WRAPPER_OPTIONS: WRAPPER_OPTIONS,\n\t INPUT_OPTIONS: INPUT_OPTIONS,\n\t\n\t generateInputOptions: generateInputOptions,\n\t\n\t changeEventString: function (fieldNames) {\n\t return 'change:' + fieldNames.join(' change:');\n\t },\n\t\n\t createReadFormButton: function (options) {\n\t\n\t var action, text, ariaLabel;\n\t if (options.type == 'cancel') {\n\t text = ariaLabel = StringUtil.localize('oform.cancel', 'courage');\n\t action = function () {\n\t this.model.trigger('form:cancel');\n\t };\n\t }\n\t else {\n\t text = StringUtil.localize('oform.edit', 'courage');\n\t ariaLabel = text + ' ' + options.formTitle;\n\t action = function () {\n\t this.model.set('__edit__', true);\n\t };\n\t }\n\t\n\t return BaseView.extend({\n\t tagName: 'a',\n\t attributes: {\n\t href: '#',\n\t 'aria-label': ariaLabel\n\t },\n\t template: function () {\n\t return _.escape(text);\n\t },\n\t events: {\n\t click: function (e) {\n\t e.preventDefault();\n\t action.call(this);\n\t }\n\t }\n\t });\n\t\n\t },\n\t\n\t createButton: function (options) {\n\t options = _.clone(options);\n\t switch (options.type) {\n\t case 'save':\n\t _.defaults(options, {className: 'button-primary'});\n\t break;\n\t case 'cancel':\n\t _.defaults(options, {\n\t text: StringUtil.localize('oform.cancel', 'courage'),\n\t action: function () {\n\t this.model.trigger('form:cancel');\n\t }\n\t });\n\t break;\n\t case 'previous':\n\t _.defaults(options, {\n\t text: StringUtil.localize('oform.previous', 'courage'),\n\t action: function () {\n\t this.model.trigger('form:previous');\n\t }\n\t });\n\t break;\n\t }\n\t return createButton(options);\n\t },\n\t\n\t validateInput: validateInput,\n\t\n\t /**\n\t * Applies a show-when logic on a view instance.\n\t * The show-when is a map of a model field name -> a boolean or a function that returns a boolean.\n\t * The view will toggle based on the field value.\n\t *\n\t * @param {Okta.View} view a view instance that has a this.model attached to it\n\t * @param {Object} showWhen\n\t */\n\t applyShowWhen: function (view, showWhen) {\n\t var toggleAndResize = function (bool) {\n\t return function () {\n\t // The `toggle` is here since an event may be triggered before the el is in the DOM\n\t // and in that case slide events may not function as expected.\n\t view.$el.toggle(bool);\n\t view.model.trigger('form:resize');\n\t };\n\t };\n\t\n\t ViewUtil.applyDoWhen(view, decorateDoWhen(showWhen), function (bool, options) {\n\t if (!options.animate) {\n\t view.$el.toggle(bool);\n\t }\n\t else {\n\t view.$el['slide' + (bool ? 'Down' : 'Up')](200, toggleAndResize(bool));\n\t }\n\t });\n\t },\n\t\n\t applyToggleWhen: function (view, toggleWhen) {\n\t ViewUtil.applyDoWhen(view, decorateDoWhen(toggleWhen), function (bool, options) {\n\t view.$el.toggle(bool);\n\t view.model.trigger('form:resize');\n\t if (options.animate) {\n\t view.render();\n\t }\n\t });\n\t }\n\t };\n\t\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 46 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t!(module.exports = {\n\t UP: 38,\n\t DOWN: 40,\n\t DEL: 46,\n\t TAB: 9,\n\t RETURN: 13,\n\t ENTER: 13,\n\t ESC: 27,\n\t COMMA: 188,\n\t PAGEUP: 33,\n\t PAGEDOWN: 34,\n\t SPACE: 32,\n\t BACKSPACE: 8,\n\t __isKey: function (e, key) {\n\t return (e.which || e.keyCode) == this[key];\n\t },\n\t isEnter: function (e) {\n\t return this.__isKey(e, 'ENTER');\n\t },\n\t isEsc: function (e) {\n\t return this.__isKey(e, 'ESC');\n\t },\n\t isSpaceBar: function (e) {\n\t return this.__isKey(e, 'SPACE');\n\t }\n\t});\n\n/***/ },\n/* 47 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(28)], __WEBPACK_AMD_DEFINE_RESULT__ = function (BaseView) {\n\t\n\t var template = '\\\n\t
          \\\n\t \\\n\t {{#if errorSummary}}\\\n\t

          {{errorSummary}}

          \\\n\t {{else}}\\\n\t

          {{i18n code=\"oform.errorbanner.title\" bundle=\"courage\"}}

          \\\n\t {{/if}}\\\n\t
          \\\n\t ';\n\t\n\t return BaseView.extend({\n\t template: template,\n\t modelEvents: {\n\t 'form:clear-errors': 'remove'\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 48 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(10)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, StringUtil) {\n\t\n\t var FIELD_REGEX = /^([\\S]+): (.+)$/;\n\t\n\t return {\n\t\n\t /**\n\t * Helper function that returns the json output of an xhr objext\n\t * @param {jqXhr} xhr\n\t * @return {Object}\n\t */\n\t getResponseJSON: function (xhr) {\n\t try {\n\t return xhr.responseJSON || JSON.parse(xhr.responseText);\n\t }\n\t catch (e) {\n\t return;\n\t }\n\t },\n\t\n\t /**\n\t * Parses an error summary to extract a field name and an error message\n\t * @param {String} errorSummary The raw error summary\n\t * @return {String[]} An array with two members: [field name, error message]\n\t */\n\t parseErrorSummary: function (errorSummary) {\n\t // error format is: `fieldName: The field cannot be left blank`\n\t var matches = errorSummary.match(FIELD_REGEX);\n\t if (matches) {\n\t return [matches[1], matches[2]];\n\t }\n\t },\n\t\n\t /**\n\t * Parses an error cause object to extract a field name from property attribute\n\t * and an error message form errorSummary attribute. It looks to see if there is\n\t * a custom override/translation for the erorrCause.reason before using the errorSummary\n\t * @param {Object} errorCause object\n\t * @return {String[]} An array with two members: [field name, error message]\n\t */\n\t parseErrorCauseObject: function (errorCause) {\n\t if (errorCause.property && errorCause.errorSummary) {\n\t var localizedMsg = StringUtil.localize(errorCause.reason),\n\t apiMsg = errorCause.errorSummary,\n\t field = errorCause.property,\n\t errorMessage = localizedMsg.indexOf('L10N_ERROR[') === -1 ? localizedMsg : apiMsg;\n\t return [field, errorMessage];\n\t }\n\t },\n\t\n\t parseErrors: function (resp) {\n\t var responseJSON = this.getResponseJSON(resp);\n\t return _.map(responseJSON && responseJSON.errorCauses || [], function (errorCause) {\n\t return ('' + errorCause.errorSummary).replace(FIELD_REGEX, '$2');\n\t });\n\t },\n\t\n\t /**\n\t * Parses the response for errors\n\t * Returns a map of field names > array or error messages\n\t * Example:\n\t * ```javascript\n\t * {\n\t * url: ['The field cannot be left blank', 'The field has to be a valid URI'],\n\t * name: ['The field cannot be left blank']\n\t * }\n\t * ```\n\t * @param {Object} resp\n\t * @return {Object}\n\t */\n\t parseFieldErrors: function (resp) {\n\t var responseJSON = this.getResponseJSON(resp),\n\t errors = {};\n\t\n\t // xhr error object\n\t if (responseJSON) {\n\t /* eslint complexity: [2, 7] */\n\t _.each(responseJSON.errorCauses || [], function (cause) {\n\t var res = [];\n\t if (cause.property && cause.errorSummary) {\n\t res = this.parseErrorCauseObject(cause);\n\t } else {\n\t res = this.parseErrorSummary(cause && cause.errorSummary || '');\n\t }\n\t if (res) {\n\t var fieldName = res[0], message = res[1];\n\t errors[fieldName] || (errors[fieldName] = []);\n\t errors[fieldName].push(message);\n\t }\n\t }, this);\n\t }\n\t // validation key/value object\n\t else if (_.isObject(resp) && _.size(resp)) {\n\t _.each(resp, function (msg, field) {\n\t errors[field] = [msg];\n\t });\n\t }\n\t return _.size(errors) ? errors : undefined;\n\t }\n\t };\n\t\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 49 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(28),\n\t __webpack_require__(45)\n\t], __WEBPACK_AMD_DEFINE_RESULT__ = function (BaseView, FormUtil) {\n\t\n\t return BaseView.extend({\n\t\n\t el: '',\n\t \n\t formTitle: '',\n\t\n\t modelEvents: {\n\t 'change:__edit__': 'toggle'\n\t },\n\t\n\t initialize: function () {\n\t this.addButton();\n\t },\n\t\n\t addButton: function () {\n\t if (this.model.get('__edit__')) {\n\t this.add(FormUtil.createReadFormButton({type: 'cancel'}));\n\t }\n\t else {\n\t this.add(FormUtil.createReadFormButton({\n\t type: 'edit',\n\t formTitle: this.formTitle\n\t }));\n\t }\n\t },\n\t\n\t toggle: function () {\n\t this.removeChildren();\n\t this.addButton();\n\t }\n\t\n\t });\n\t\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 50 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(3),\n\t __webpack_require__(28),\n\t __webpack_require__(45)\n\t], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, BaseView, FormUtil) {\n\t\n\t return BaseView.extend({\n\t\n\t className: 'o-form-button-bar',\n\t\n\t initialize: function (options) {\n\t this.addButton({\n\t type: 'save',\n\t text: _.resultCtx(options, 'save', this),\n\t id: _.resultCtx(options, 'saveId', this),\n\t className: _.resultCtx(options, 'saveClassName', this)\n\t });\n\t\n\t if (!options.noCancelButton) {\n\t this.addButton({type: 'cancel', text: _.resultCtx(options, 'cancel', this)});\n\t }\n\t\n\t if (options.hasPrevStep) {\n\t this.addButton({type: 'previous'}, {prepend: true});\n\t }\n\t },\n\t\n\t /**\n\t * Adds a buttomn to the toolbar\n\t * @param {Object} params button parameters\n\t * @param {Object} options {@link Okta.View#add} options\n\t */\n\t addButton: function (params, options) {\n\t return this.add(FormUtil.createButton(params), options);\n\t }\n\t\n\t });\n\t\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 51 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* eslint max-params: [2, 6], max-len: [2, 150] */\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(8),\n\t __webpack_require__(3),\n\t __webpack_require__(28),\n\t __webpack_require__(52),\n\t __webpack_require__(32),\n\t __webpack_require__(31)\n\t], __WEBPACK_AMD_DEFINE_RESULT__ = function ($, _, BaseView, StateMachine, SettingsModel, BaseRouter) {\n\t\n\t function clean(obj) {\n\t var res = {};\n\t _.each(obj, function (value, key) {\n\t if (!_.isNull(value)) {\n\t res[key] = value;\n\t }\n\t });\n\t return res;\n\t }\n\t\n\t /**\n\t * A Controller is our application control flow component.\n\t *\n\t * Typically it will:\n\t * - Initialize the models, controller and main views\n\t * - Listen to events\n\t * - Create, read, update and delete models\n\t * - Create modal dialogs, confirmation dialogs and alert dialogs\n\t * - Control the application flow\n\t *\n\t * The constructor is responsible for:\n\t * - Create the application state object\n\t * - Assign or creates the application settings object\n\t * - Create an instance of the main view with the relevant parameters\n\t *\n\t * See:\n\t * [Hello World Tutorial](https://github.com/okta/courage/wiki/Hello-World),\n\t * [Jasmine Spec](https://github.com/okta/okta-core/blob/master/WebContent/js/test/unit/spec/shared/util/BaseController_spec.js)\n\t *\n\t * @class module:Okta.Controller\n\t * @param {Object} options Options Hash\n\t * @param {SettingsModel} [options.settings] Application Settings Model\n\t * @param {String} options.el a jQuery selector string stating where to attach the controller in the DOM\n\t */\n\t return BaseView.extend(/** @lends module:Okta.Controller.prototype */{\n\t\n\t constructor: function (options) {\n\t /* eslint max-statements: [2, 13], complexity: [2, 7]*/\n\t options || (options = {});\n\t\n\t var stateData = _.defaults(clean(options.state), this.state || {});\n\t this.state = new StateMachine(stateData);\n\t delete options.state;\n\t\n\t if (options.settings) {\n\t this.settings = options.settings;\n\t }\n\t else { // allow the controller to live without a router\n\t this.settings = options.settings = new SettingsModel(_.omit(options || {}, 'el'));\n\t this.listen('notification', BaseRouter.prototype._notify);\n\t this.listen('confirmation', BaseRouter.prototype._confirm);\n\t }\n\t\n\t BaseView.call(this, options);\n\t\n\t this.listenTo(this.state, '__invoke__', function () {\n\t var args = _.toArray(arguments),\n\t method = args.shift();\n\t if (_.isFunction(this[method])) {\n\t this[method].apply(this, args);\n\t }\n\t });\n\t\n\t\n\t if (this.View) {\n\t this.add(new this.View(this.toJSON()));\n\t }\n\t },\n\t\n\t /**\n\t * The default values of our application state\n\t * @type {Object}\n\t * @default {}\n\t */\n\t state: {},\n\t\n\t\n\t /**\n\t * The main view this controller operate on\n\t * @type {module:Okta.View}\n\t * @default null\n\t */\n\t View: null,\n\t\n\t /**\n\t * Renders the {@link module:Okta.Controller#View|main view} after the DOM is ready\n\t * in case the controller is the root component of the page (e.g there's no router)\n\t */\n\t render: function () {\n\t var args = arguments,\n\t self = this;\n\t $(function () {\n\t BaseView.prototype.render.apply(self, args);\n\t });\n\t return this;\n\t },\n\t\n\t /**\n\t * Creates the view constructor options\n\t * @param {Object} [options] Extra options\n\t * @return {Object} The view constructor options\n\t */\n\t toJSON: function (options) {\n\t return _.extend(_.pick(this, 'state', 'settings', 'collection', 'model'), options || {});\n\t },\n\t\n\t /**\n\t * Removes the child views, empty the DOM element and stop listening to events\n\t */\n\t remove: function () {\n\t this.removeChildren();\n\t this.stopListening();\n\t this.$el.empty();\n\t return this;\n\t }\n\t\n\t });\n\t\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 52 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(15)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, Model) {\n\t\n\t /**\n\t * @class StateMachine\n\t * @extends Okta.Model\n\t * @private\n\t *\n\t * A state object that holds the applciation state\n\t */\n\t\n\t return Model.extend({\n\t extraProperties: true,\n\t /**\n\t * Invokes a method on the applicable {@link Okta.Controller}\n\t *\n\t * ```javascript\n\t * state.invoke('methodName', 'param1', 'param2')\n\t * // Will call\n\t * contoller.methodName('param1', 'param2')\n\t * ```\n\t * @param {String} methodName the name of the controller method to invoke on the controller\n\t */\n\t invoke: function () {\n\t var args = _.toArray(arguments);\n\t args.unshift('__invoke__');\n\t this.trigger.apply(this, args);\n\t }\n\t });\n\t\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 53 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(54)], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, Cookie) {\n\t\n\t var SECURED_COOKIE = /^https/.test(window.location.href);\n\t\n\t return {\n\t setCookie: function (name, value, options) {\n\t Cookie.set(name, value, _.defaults(options || {}, {\n\t secure: SECURED_COOKIE,\n\t path: '/'\n\t }));\n\t },\n\t\n\t getCookie: function () {\n\t return Cookie.get.apply(Cookie, arguments);\n\t },\n\t\n\t removeCookie: function () {\n\t return Cookie.remove.apply(Cookie, arguments);\n\t }\n\t };\n\t\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 54 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!\n\t * JavaScript Cookie v2.1.0\n\t * https://github.com/js-cookie/js-cookie\n\t *\n\t * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n\t * Released under the MIT license\n\t */\n\t(function (factory) {\n\t\tif (true) {\n\t\t\t!(__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\t\t} else if (typeof exports === 'object') {\n\t\t\tmodule.exports = factory();\n\t\t} else {\n\t\t\tvar _OldCookies = window.Cookies;\n\t\t\tvar api = window.Cookies = factory();\n\t\t\tapi.noConflict = function () {\n\t\t\t\twindow.Cookies = _OldCookies;\n\t\t\t\treturn api;\n\t\t\t};\n\t\t}\n\t}(function () {\n\t\tfunction extend () {\n\t\t\tvar i = 0;\n\t\t\tvar result = {};\n\t\t\tfor (; i < arguments.length; i++) {\n\t\t\t\tvar attributes = arguments[ i ];\n\t\t\t\tfor (var key in attributes) {\n\t\t\t\t\tresult[key] = attributes[key];\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn result;\n\t\t}\n\t\n\t\tfunction init (converter) {\n\t\t\tfunction api (key, value, attributes) {\n\t\t\t\tvar result;\n\t\n\t\t\t\t// Write\n\t\n\t\t\t\tif (arguments.length > 1) {\n\t\t\t\t\tattributes = extend({\n\t\t\t\t\t\tpath: '/'\n\t\t\t\t\t}, api.defaults, attributes);\n\t\n\t\t\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\t\t\tvar expires = new Date();\n\t\t\t\t\t\texpires.setMilliseconds(expires.getMilliseconds() + attributes.expires * 864e+5);\n\t\t\t\t\t\tattributes.expires = expires;\n\t\t\t\t\t}\n\t\n\t\t\t\t\ttry {\n\t\t\t\t\t\tresult = JSON.stringify(value);\n\t\t\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\t\t\tvalue = result;\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (e) {}\n\t\n\t\t\t\t\tif (!converter.write) {\n\t\t\t\t\t\tvalue = encodeURIComponent(String(value))\n\t\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\t} else {\n\t\t\t\t\t\tvalue = converter.write(value, key);\n\t\t\t\t\t}\n\t\n\t\t\t\t\tkey = encodeURIComponent(String(key));\n\t\t\t\t\tkey = key.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent);\n\t\t\t\t\tkey = key.replace(/[\\(\\)]/g, escape);\n\t\n\t\t\t\t\treturn (document.cookie = [\n\t\t\t\t\t\tkey, '=', value,\n\t\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\t\tattributes.path && '; path=' + attributes.path,\n\t\t\t\t\t\tattributes.domain && '; domain=' + attributes.domain,\n\t\t\t\t\t\tattributes.secure ? '; secure' : ''\n\t\t\t\t\t].join(''));\n\t\t\t\t}\n\t\n\t\t\t\t// Read\n\t\n\t\t\t\tif (!key) {\n\t\t\t\t\tresult = {};\n\t\t\t\t}\n\t\n\t\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t\t// in case there are no cookies at all. Also prevents odd result when\n\t\t\t\t// calling \"get()\"\n\t\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\t\tvar rdecode = /(%[0-9A-Z]{2})+/g;\n\t\t\t\tvar i = 0;\n\t\n\t\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\t\tvar name = parts[0].replace(rdecode, decodeURIComponent);\n\t\t\t\t\tvar cookie = parts.slice(1).join('=');\n\t\n\t\t\t\t\tif (cookie.charAt(0) === '\"') {\n\t\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t\t}\n\t\n\t\t\t\t\ttry {\n\t\t\t\t\t\tcookie = converter.read ?\n\t\t\t\t\t\t\tconverter.read(cookie, name) : converter(cookie, name) ||\n\t\t\t\t\t\t\tcookie.replace(rdecode, decodeURIComponent);\n\t\n\t\t\t\t\t\tif (this.json) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\t\tresult = cookie;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\tif (!key) {\n\t\t\t\t\t\t\tresult[name] = cookie;\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (e) {}\n\t\t\t\t}\n\t\n\t\t\t\treturn result;\n\t\t\t}\n\t\n\t\t\tapi.get = api.set = api;\n\t\t\tapi.getJSON = function () {\n\t\t\t\treturn api.apply({\n\t\t\t\t\tjson: true\n\t\t\t\t}, [].slice.call(arguments));\n\t\t\t};\n\t\t\tapi.defaults = {};\n\t\n\t\t\tapi.remove = function (key, attributes) {\n\t\t\t\tapi(key, '', extend(attributes, {\n\t\t\t\t\texpires: -1\n\t\t\t\t}));\n\t\t\t};\n\t\n\t\t\tapi.withConverter = init;\n\t\n\t\t\treturn api;\n\t\t}\n\t\n\t\treturn init(function () {});\n\t}));\n\n\n/***/ },\n/* 55 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(56)], __WEBPACK_AMD_DEFINE_RESULT__ = function (moment) {\n\t\n\t var MOMENT_UNIT = {\n\t 'MILLISECOND': 'milliseconds',\n\t 'SECOND': 'seconds',\n\t 'MINUTE': 'minutes',\n\t 'HOUR': 'hours',\n\t 'DAY': 'days'\n\t };\n\t\n\t return {\n\t MINUTES_HOURS_DAYS: {\n\t 'MINUTE': 'Minutes',\n\t 'HOUR': 'Hours',\n\t 'DAY': 'Days'\n\t },\n\t\n\t MILLISECONDS_SECONDS_MINUTES: {\n\t 'MILLISECOND': 'Milliseconds',\n\t 'SECOND': 'Seconds',\n\t 'MINUTE': 'Minutes'\n\t },\n\t\n\t // TODO: OKTA-32410 proper fix for displaying PDT\n\t convertToPDT: function (milliseconds, formatter, defaultText) {\n\t // 'Apr 17, 2014 8:37:50 AM' or 'Never'\n\t formatter || (formatter = 'MMM DD, YYYY h:mm:ss A');\n\t defaultText || (defaultText = '');\n\t return milliseconds ? moment(milliseconds).utc().utcOffset('-07:00').format(formatter) : defaultText;\n\t },\n\t\n\t /**\n\t * @method getTimeInHighestRelevantUnit\n\t * Will return a number in the units of the highest relevant time unit.\n\t * Only checks milliseconds, seconds, minutes, hours, and days.\n\t * E.g.\n\t * 15 minutes -> 15 minutes\n\t * 60 minutes -> 1 hours\n\t * 90 minutes -> 90 minutes\n\t * 24 hours -> 1 days\n\t *\n\t * @param {Number} val The amount of time\n\t * @param {String} unit The units that val is in\n\t * @return {Object} An object containing the amount of time and the units it's in\n\t */\n\t getTimeInHighestRelevantUnit: function (val, unit) {\n\t var duration = moment.duration(val, MOMENT_UNIT[unit] || unit);\n\t var highestUnit;\n\t if (duration.milliseconds() !== 0) {\n\t highestUnit = 'milliseconds';\n\t } else if (duration.seconds() !== 0) {\n\t highestUnit = 'seconds';\n\t } else if (duration.minutes() !== 0) {\n\t highestUnit = 'minutes';\n\t } else if (duration.hours() !== 0) {\n\t highestUnit = 'hours';\n\t } else {\n\t highestUnit = 'days';\n\t }\n\t return {\n\t time: duration.as(highestUnit),\n\t unit: this.convertMomentUnits(highestUnit)\n\t };\n\t },\n\t\n\t /**\n\t * @method convertMomentUnits\n\t * Does the conversion between moment's units and our units internally\n\t *\n\t * @param {String} momentUnit The units that val is in\n\t * @return {String} The key in the MINUTES_HOURS_DAYS hash\n\t */\n\t convertMomentUnits: function (momentUnit) {\n\t switch (momentUnit) {\n\t case 'milliseconds':\n\t return 'MILLISECOND';\n\t case 'seconds':\n\t return 'SECOND';\n\t case 'minutes':\n\t return 'MINUTE';\n\t case 'hours':\n\t return 'HOUR';\n\t case 'days':\n\t return 'DAY';\n\t default:\n\t throw new Error('Time unit not recognized: ' + momentUnit);\n\t }\n\t },\n\t\n\t /**\n\t * @method convertTimeUnit\n\t * Converts a given value from one unit to another\n\t *\n\t * @param {Number} val The amount of time in fromUnits\n\t * @param {String} fromUnit The units that val is in on input\n\t * @param {String} toUnit The units to convert to\n\t * @return {Number} The amount of time in toUnits\n\t */\n\t convertTimeUnit: function (val, fromUnit, toUnit) {\n\t val = parseInt(val, 10);\n\t fromUnit = MOMENT_UNIT[fromUnit] || fromUnit;\n\t toUnit = MOMENT_UNIT[toUnit] || toUnit;\n\t return moment.duration(val, fromUnit).as(toUnit);\n\t },\n\t\n\t /**\n\t * @method convertTimeFormat\n\t * Converts a given time string from one format to another in local time\n\t *\n\t * @param {String} timeString The time string to be parsed\n\t * @param {String} fromFormatter The timeString's parser format\n\t * @param {String} toFormatter The format that the timeString to convert to\n\t * @return {String} The time string in the converted format in local time\n\t */\n\t convertTimeFormat: function (timeString, fromFormatter, toFormatter) {\n\t toFormatter || (toFormatter = 'MMMM Do, YYYY');\n\t return moment(timeString, fromFormatter).format(toFormatter);\n\t }\n\t };\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 56 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* global okta */\n\t/* eslint @okta/okta/no-specific-modules: 0 */\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(14)], __WEBPACK_AMD_DEFINE_RESULT__ = function (moment) {\n\t if (typeof okta != 'undefined' && (okta.locale || 'en')) {\n\t moment.locale(okta.locale || 'en');\n\t }\n\t return moment;\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 57 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(28),\n\t __webpack_require__(58)\n\t], __WEBPACK_AMD_DEFINE_RESULT__ = function (BaseView, ListView) {\n\t /**\n\t * See {@link src/framework/ListView} for more detail and examples from the base class.\n\t * @class module:Okta.ListView\n\t * @extends src/framework/ListView\n\t * @mixes module:Okta.View\n\t */\n\t return BaseView.decorate(ListView);\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 58 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (root, factory) {\n\t if (true) {\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(3), __webpack_require__(29)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t }\n\t /* global module, exports */\n\t else if (typeof require == 'function' && typeof exports == 'object') {\n\t module.exports = factory(require('okta/underscore'), require('./View'));\n\t }\n\t else {\n\t root.Archer || (root.Archer = {});\n\t root.Archer.ListView = factory(root._, root.Archer.View);\n\t }\n\t}(this, function (_, View) {\n\t /**\n\t * Archer.ListView is a {@link src/framework/View} that operates on a\n\t * collection and builds a list of \"things\" of the same type.\n\t *\n\t * Automagically adds, removes and sorts upon standard collection events.\n\t *\n\t * Listen to collection events so the ListView will do the right thing when\n\t * a model is added or the collection is reset or sorted.\n\t *\n\t * @class src/framework/ListView\n\t * @extends src/framework/View\n\t * @param {Object} options options hash\n\t * @param {Object} options.collection The collection which this view operates on\n\t * @example\n\t * var UserList = Archer.ListView.extend({\n\t * tagName: 'ul',\n\t * item: '
        • {{fname}} {{lname}}
        • '\n\t * });\n\t *\n\t * var users = new Archer.Collection([\n\t * {fname: 'John', lname: 'Doe'},\n\t * {fname: 'Jane', lname: 'Doe'}\n\t * ]);\n\t *\n\t * var userList = new UserList({collection: users}).render();\n\t * userList.el; //=> \"
          • John Doe
          • Jane Doe
          \"\n\t *\n\t * users.push({fname: 'Jim', lname: 'Doe'});\n\t * userList.el; //=> \"
          • John Doe
          • Jane Doe
          • Jim Doe
          \"\n\t *\n\t * users.first().destroy();\n\t * userList.el; //=> \"
          • Jane Doe
          • Jim Doe
          \"\n\t */\n\t return View.extend(/** @lends src/framework/ListView.prototype */ {\n\t\n\t constructor: function () {\n\t View.apply(this, arguments);\n\t if (!this.collection) {\n\t throw new Error('Missing collection');\n\t }\n\t this.listenTo(this.collection, 'reset sort', this.reset);\n\t this.listenTo(this.collection, 'add', this.addItem);\n\t this.collection.each(this.addItem, this);\n\t },\n\t\n\t /**\n\t * The view/template we will use to render each model in the collection.\n\t * @type {String|module:Okta.View}\n\t */\n\t item: null,\n\t\n\t /**\n\t * A selector in the local template where to append each item\n\t * @type {String}\n\t */\n\t itemSelector: null,\n\t\n\t\n\t /**\n\t * Empty the list and re-add everything from the collection.\n\t * Usefull for handling `collection.reset()` or for handling the initial load\n\t * @protected\n\t */\n\t reset: function () {\n\t this.removeChildren();\n\t this.collection.each(this.addItem, this);\n\t return this;\n\t },\n\t\n\t /**\n\t * Add an item view to the list that will represent one model from the collection\n\t *\n\t * Listen to the model so when it is destoyed or removed from the collection\n\t * this item will remove itself from the list\n\t *\n\t * @param {Backbone.Model} model The model this row operates on\n\t * @protected\n\t */\n\t addItem: function (model) {\n\t var view = this.add(this.item, this.itemSelector, {options: {model: model}}).last();\n\t view.listenTo(model, 'destroy remove', view.remove);\n\t return this;\n\t }\n\t\n\t });\n\t\n\t}));\n\n\n/***/ },\n/* 59 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(3),\n\t __webpack_require__(8),\n\t __webpack_require__(25),\n\t __webpack_require__(28)\n\t], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, $, TemplateUtil, BaseView) {\n\t\n\t var optionsTemplate = TemplateUtil.tpl('\\\n\t \\\n\t {{#if icon}}\\\n\t \\\n\t {{/if}}\\\n\t {{#if title}}\\\n\t {{title}}\\\n\t {{/if}}\\\n\t {{#if subtitle}}\\\n\t

          {{subtitle}}

          \\\n\t {{/if}}\\\n\t
          \\\n\t ');\n\t\n\t var DropDownOption = BaseView.extend({\n\t tagName: 'li',\n\t\n\t events: {\n\t click: function (e) {\n\t e.preventDefault();\n\t this.action && this.action.call(this);\n\t }\n\t },\n\t\n\t constructor: function () {\n\t BaseView.apply(this, arguments);\n\t this.$el.addClass('okta-dropdown-option option');\n\t },\n\t\n\t render: function () {\n\t this.$el.html(optionsTemplate({\n\t icon: _.result(this, 'icon'),\n\t className: _.result(this, 'className') || '',\n\t title: _.result(this, 'title'),\n\t subtitle: _.result(this, 'subtitle'),\n\t seleniumId: _.result(this, 'seleniumId')\n\t }));\n\t return this;\n\t }\n\t });\n\t\n\t return BaseView.extend({\n\t\n\t events: {\n\t 'click a.option-selected': function (e) {\n\t e.preventDefault();\n\t if (_.result(this, 'disabled')) {\n\t e.stopPropagation();\n\t }\n\t },\n\t 'click .dropdown-disabled': function (e) {\n\t e.preventDefault();\n\t e.stopPropagation();\n\t }\n\t },\n\t\n\t items: [],\n\t\n\t constructor: function () {\n\t\n\t // In this very specific case we want to NOT append className to $el\n\t // but to the tag in the template\n\t // so we want to disable backbone default functionality.\n\t var className = this.className;\n\t this.className = null;\n\t\n\t BaseView.apply(this, arguments);\n\t\n\t this.className = className;\n\t\n\t this.$el.addClass('dropdown more-actions float-l');\n\t\n\t _.each(_.result(this, 'items'), function (option) {\n\t this.addOption(option, this.options);\n\t }, this);\n\t\n\t },\n\t\n\t template: '\\\n\t \\\n\t {{#if icon}}\\\n\t \\\n\t {{/if}}\\\n\t {{title}}\\\n\t \\\n\t \\\n\t
          \\\n\t
            \\\n\t
            \\\n\t ',\n\t\n\t getTemplateData: function () {\n\t var className = [_.result(this, 'className') || '',\n\t _.result(this, 'disabled') ? 'dropdown-disabled' : ''\n\t ];\n\t return {\n\t icon: _.result(this, 'icon'),\n\t className: $.trim(className.join(' ')),\n\t title: _.result(this, 'title')\n\t };\n\t },\n\t\n\t addOption: function (proto, options) {\n\t this.add(DropDownOption.extend(proto), 'ul.options-wrap', {options: options || {}});\n\t }\n\t\n\t });\n\t\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 60 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* eslint max-statements: 0, max-params: 0 */\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(3),\n\t __webpack_require__(10),\n\t __webpack_require__(61),\n\t __webpack_require__(67),\n\t __webpack_require__(23),\n\t], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, StringUtil, BooleanSelect, TextBoxSet, EnumTypeHelper) {\n\t // Maps each __displayType__ to a basic set of inputOptions.\n\t function defaultOptions(property) {\n\t /* eslint complexity: [2, 22] */\n\t var type = property.get('__displayType__'),\n\t values = property.get('__possibleValues__'),\n\t name = property.get('name'),\n\t title = property.get('title');\n\t var inputOptions = {\n\t type: 'text',\n\t name: name,\n\t label: title || name\n\t };\n\t\n\t // @see customOptions for enum complex \"object\" type,\n\t // a.k.a \"object\" or \"arrayofobject\" type has enum values defined.\n\t // Other cases (e.g., nested object type) are not support yet.\n\t\n\t switch (type) {\n\t case 'arrayofstring':\n\t inputOptions.input = TextBoxSet;\n\t inputOptions.params = {itemType: 'string'};\n\t break;\n\t case 'arrayofnumber':\n\t inputOptions.input = TextBoxSet;\n\t inputOptions.params = {itemType: 'number'};\n\t break;\n\t case 'arrayofinteger':\n\t inputOptions.input = TextBoxSet;\n\t inputOptions.params = {itemType: 'integer'};\n\t break;\n\t case 'arrayofobject':\n\t inputOptions.input = TextBoxSet;\n\t inputOptions.params = {itemType: property.get('items').type};\n\t break;\n\t case 'arrayofref-id':\n\t inputOptions.input = TextBoxSet;\n\t inputOptions.params = {itemType: property.get('items').format};\n\t break;\n\t case 'boolean':\n\t inputOptions.input = BooleanSelect;\n\t break;\n\t case 'integer':\n\t case 'number':\n\t inputOptions.to = convertStringToNumber;\n\t break;\n\t case 'reference':\n\t inputOptions.type = 'select';\n\t inputOptions.options = getChoices(values);\n\t break;\n\t case 'image':\n\t inputOptions.readOnly = true;\n\t inputOptions.from = function (value) {\n\t return _.isEmpty(value) ? '' : StringUtil.localize('user.profile.image.image_set', 'courage'); //TODO\n\t };\n\t break;\n\t case 'password':\n\t inputOptions.type = 'password';\n\t break;\n\t case 'date':\n\t inputOptions.type = 'date';\n\t break;\n\t case 'uri':\n\t case 'country-code':\n\t case 'language-code':\n\t case 'email':\n\t case 'locale':\n\t case 'timezone':\n\t case 'string':\n\t case 'object':\n\t //default input options\n\t break;\n\t default:\n\t throw new Error('unknown type: ' + type);\n\t }\n\t return inputOptions;\n\t }\n\t\n\t // Sets nonbasic inputOptions, such as an array with possible values\n\t function customOptions(property) {\n\t var inputOptions = {},\n\t name = property.get('name'),\n\t type = property.get('__displayType__'),\n\t values = property.get('__possibleValues__'),\n\t prefix = property.get('__fieldNamePrefix__');\n\t\n\t if (prefix) {\n\t inputOptions.name = prefix + name;\n\t inputOptions.errorField = name;\n\t }\n\t\n\t if (property.isEnumType()) {\n\t var configs = {\n\t displayType: type,\n\t title: property.get('title'),\n\t enumValues: property.getEnumValues()\n\t };\n\t inputOptions = _.extend({}, EnumTypeHelper.getEnumInputOptions(configs), inputOptions);\n\t } else if (isArray(type) && values) {\n\t inputOptions.type = 'checkboxset';\n\t inputOptions.input = null;\n\t inputOptions.options = getChoices(values);\n\t }\n\t\n\t return inputOptions;\n\t }\n\t\n\t function convertStringToNumber(string) {\n\t var number = StringUtil.parseFloat(string);\n\t return (string === '' ? null : number);\n\t }\n\t\n\t function isArray(type) {\n\t return (type && type.indexOf('array') >= 0);\n\t }\n\t\n\t // converts possibleValues to choices\n\t // [a, b, c] => {a: a, b: b, c: c}\n\t function getChoices(values) {\n\t return _.object(values, values);\n\t }\n\t\n\t // A schema property may have an objectName either\n\t // at the root level or nested in the items object\n\t function getObjectName(schemaProp) {\n\t var items = schemaProp.get('items');\n\t if (items) {\n\t return items.objectName;\n\t } else {\n\t return schemaProp.get('objectName');\n\t }\n\t }\n\t\n\t function augmentSchemaProp(schemaProp, possibleValues, profile) {\n\t var name = schemaProp.get('name'),\n\t prefix = profile['__nestedProperty__'],\n\t defaultValues = possibleValues[name],\n\t userValues = profile.get(name), //TODO: Not implemented\n\t fixedValues, values;\n\t\n\t // If API responds with a field name that differs from the form-field name\n\t // example: Model's 'profile.username' vs. server's 'username'\n\t if (prefix) {\n\t schemaProp.set('__fieldNamePrefix__', prefix);\n\t }\n\t\n\t // case 1: objectName - fixed list of values are set for the input\n\t fixedValues = possibleValues[getObjectName(schemaProp)];\n\t\n\t // case 2: name only - default list of values are provided, user can add more\n\t // TODO: this case does not yet exist, so it is not tested\n\t if (defaultValues && userValues) {\n\t defaultValues = _.union(defaultValues, userValues);\n\t }\n\t\n\t // If both fixed and default values exist,\n\t // take the fixed values unless they are empty\n\t if (fixedValues && fixedValues.length) {\n\t values = fixedValues;\n\t } else if (defaultValues && defaultValues.length) {\n\t values = defaultValues;\n\t }\n\t\n\t schemaProp.set('__possibleValues__', values);\n\t }\n\t\n\t function augmentSchemaProps(schemaProps, possibleValues, profile) {\n\t schemaProps.each(function (schemaProp) {\n\t augmentSchemaProp(schemaProp, possibleValues, profile);\n\t });\n\t\n\t return schemaProps;\n\t }\n\t\n\t /**\n\t * Remove invalid schema properties from a collection\n\t *\n\t * @param {SchemaProperties Collection} [properties] A collection of schema properties\n\t * @param {Object} [values] An object of the form { key: [value1, value2]}\n\t * @return {Array} An array of valid schema models, this can be used to reset\n\t * a schema properties collection for example.\n\t * @private\n\t */\n\t function cleanSchema(properties, values) {\n\t return properties.filter(function (schema) {\n\t return isValidSchemaProp(schema, values);\n\t });\n\t }\n\t\n\t /**\n\t * Checks the validity of a schema property.\n\t *\n\t * @param {SchemaProperty} [schemaProp] A schema property backbone model\n\t * @param {Object} [values] An object of the form { key: [value1, value2]}\n\t * @return {Boolean} true/false\n\t * @private\n\t */\n\t function isValidSchemaProp(schemaProp, values) {\n\t var objectName = getObjectName(schemaProp),\n\t results = values[objectName];\n\t\n\t // a schema property that references an empty list of values\n\t // Im looking at you, google apps.\n\t if (objectName && _(results).isEmpty()) {\n\t return false;\n\t }\n\t return true;\n\t }\n\t\n\t\n\t return {\n\t\n\t /**\n\t * Creates the options hash for BaseForm.addInput from a prepared schema\n\t * property.\n\t *\n\t * @param {Okta.Model} [preparedSchemaProp] A schema property backbone model\n\t * that has been standardized by the prepareSchema method.\n\t * @return {Object} An object containing all of the options needed by\n\t * BaseForm's addInput()\n\t */\n\t createInputOptions: function (preparedSchemaProp) {\n\t var custom = customOptions(preparedSchemaProp),\n\t standard = defaultOptions(preparedSchemaProp);\n\t\n\t // underscore did not support nested extend\n\t // https://github.com/jashkenas/underscore/issues/162\n\t if (custom.params && standard.params) {\n\t custom.params = _.defaults(custom.params, standard.params);\n\t }\n\t return _.defaults(custom, standard);\n\t },\n\t\n\t hasValidSchemaProps: function (schemaProps, possibleValues) {\n\t if (_.isEmpty(schemaProps)) {\n\t return false;\n\t } else {\n\t var validSchema = cleanSchema(schemaProps, possibleValues);\n\t return !!validSchema.length;\n\t }\n\t },\n\t\n\t /**\n\t * This method is responsible for preparing a collection for the form\n\t * factory to use by putting all of the information to create an input\n\t * into the schema property and removing invalid properties.\n\t * The typical UD form takes 3 models:\n\t * The data model has the input values.\n\t * The schema model describes which input to use, such as a textbox or a checkbox.\n\t * The possible values model provide a list of default options to display, for example in a drop down menu.\n\t *\n\t * @param {SchemaProperty Collection} [schemaProps] A schema property backbone model.\n\t * @param {Object} [possibleValues] An object of the form { key: [value1, value2]}\n\t * @param {Okta.Model} [profile] A backbone model containing the property described by the schema property.\n\t * @return {SchemaProperty Collection} A schema property collection with standardized models.\n\t * The standard schema model adds a couple of additional private properties to\n\t * allow the form factory to reference lookup values or name prefixes without going to a second model.\n\t */\n\t prepareSchema: function (schemaProps, possibleValues, profile) {\n\t schemaProps.reset(cleanSchema(schemaProps, possibleValues));\n\t return augmentSchemaProps(schemaProps, possibleValues, profile);\n\t },\n\t\n\t /**\n\t * `prepareSchema` will reset the property list which may not be necessary at some case.\n\t * like when setting default value for schema properties.\n\t * (more detail about such case @see wiki UX, App+Entitlements+for+Provisioning)\n\t *\n\t * @param { }\n\t * @return {String}\n\t */\n\t\n\t augmentSchemaProps: augmentSchemaProps,\n\t\n\t augmentSchemaProp: augmentSchemaProp\n\t };\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 61 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(62)\n\t], __WEBPACK_AMD_DEFINE_RESULT__ = function (Select) {\n\t\n\t var options = {\n\t 'undefined': 'undefined',\n\t 'true': 'true',\n\t 'false': 'false'\n\t };\n\t\n\t var from = function (val) {\n\t if (val) {\n\t return 'true';\n\t }\n\t if (val === false) {\n\t return 'false';\n\t }\n\t return 'undefined';\n\t };\n\t\n\t var to = function (val) {\n\t switch (val) {\n\t case 'undefined':\n\t return null;\n\t case 'true':\n\t return true;\n\t case 'false':\n\t return false;\n\t default:\n\t return null;\n\t }\n\t };\n\t\n\t return Select.extend({\n\t\n\t initialize: function () {\n\t this.options.options = options;\n\t this.options.from = from;\n\t this.options.to = to;\n\t }\n\t\n\t });\n\t\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 62 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(8),\n\t __webpack_require__(3),\n\t __webpack_require__(46),\n\t __webpack_require__(25),\n\t __webpack_require__(63),\n\t __webpack_require__(66)\n\t], __WEBPACK_AMD_DEFINE_RESULT__ = function ($, _, Keys, TemplateUtil, BaseInput) {\n\t\n\t var template = TemplateUtil.tpl('');\n\t var option = TemplateUtil.tpl('');\n\t\n\t // Chosen has known problems when it's at the bottom of a container that has\n\t // overflow:hidden set. Because it attaches to the parent container, its\n\t // dropdown will be cut off in the UI. Any modal with a chosen select element\n\t // at the bottom will manifest this behavior.\n\t //\n\t // The fix (aside from replacing Chosen) is to change Chosen's behavior -\n\t // use the existing styles, but attach it to 'body' and position it correctly\n\t // so that it is not affected by a parent overflow.\n\t //\n\t // More details can be found in OKTA-46489, OKTA-83570\n\t var CHOSEN_WINDOW_MARGIN = 20;\n\t var CHOSEN_MAX_HEIGHT = 240;\n\t var CHOSEN_Z_INDEX = 50000;\n\t\n\t function defer(fn) {\n\t if (this.params.autoWidth) {\n\t return fn.call(this);\n\t }\n\t else {\n\t return _.defer(_.bind(fn, this));\n\t }\n\t }\n\t\n\t function findSelectWidth(self) {\n\t self.$select.hide();\n\t var select = $(self.$select[0]).hide();\n\t $('body').append(select);\n\t var width = self.params.width = (select.width() * 1.2) + 'px';\n\t self.$el.append(select.show());\n\t return width;\n\t }\n\t\n\t function recalculateChosen($chosen, $results, $clone) {\n\t var offset = $clone.offset();\n\t $chosen.css({\n\t left: offset.left,\n\t top: offset.top\n\t });\n\t // Update the max-height to fit within the constraints of the window. This\n\t // is especially important for modals because page scrolling is disabled.\n\t var $win = $(window),\n\t rHeight = $results.outerHeight(),\n\t rBottom = rHeight + $results.offset().top - $win.scrollTop(),\n\t wHeight = $win.height() - CHOSEN_WINDOW_MARGIN,\n\t maxHeight = Math.min(rHeight + wHeight - rBottom, CHOSEN_MAX_HEIGHT);\n\t $results.css('max-height', maxHeight);\n\t }\n\t\n\t function fixChosenModal($select) {\n\t var $chosen = $select.next('.chzn-container'),\n\t $clone = $chosen.clone(),\n\t $results = $chosen.find('.chzn-results');\n\t\n\t // Use a hidden clone to maintain layout and calculate offset. This is\n\t // necessary for more complex layouts (like adding a group rule) where\n\t // the chosen element is floated.\n\t $clone.css('visibility', 'hidden');\n\t $clone.removeAttr('id');\n\t $clone.find('li').removeAttr('id');\n\t\n\t // Save the original styles - we'll revert to them when the select closes\n\t var baseStyles = {\n\t 'left': $chosen.css('left'),\n\t 'top': $chosen.css('top'),\n\t 'position': $chosen.css('position'),\n\t 'float': $chosen.css('float'),\n\t 'z-index': $chosen.css('z-index')\n\t };\n\t $results.hide();\n\t\n\t // Handler for any resize events that happen when the results list is open\n\t var resizeHandler = _.debounce(function () {\n\t recalculateChosen($chosen, $results, $clone);\n\t }, 10);\n\t\n\t // When the dropdown opens, attach it to body, with the correct absolute\n\t // position coordinates\n\t $select.off('.fixChosen'); // Remove events we could have added before\n\t $select.on('liszt:showing_dropdown.fixChosen', function () {\n\t $chosen.width($chosen.width());\n\t $select.after($clone);\n\t // .chzn-container can trigger the vertical scrollbar if it causes scrollHeight > window height after append to\n\t // the body. Force top -999999 to avoid the scrollbar so $chosen can find the right offset for relocation.\n\t $chosen.css({\n\t 'position': 'absolute',\n\t 'float': 'none',\n\t 'z-index': CHOSEN_Z_INDEX,\n\t 'top': -999999\n\t });\n\t $('body').append($chosen);\n\t $results.show();\n\t recalculateChosen($chosen, $results, $clone);\n\t // Capture scroll events:\n\t // - for forms that use fixed positioning (like editing attributes in\n\t // Profile Editor) - window scroll\n\t // - for forms that are too long for the modal - o-form-content scroll\n\t $select.parents().scroll(resizeHandler);\n\t $(window).on('resize scroll', resizeHandler);\n\t });\n\t\n\t // When the dropdown closes or the element is removed, revert to the\n\t // original styles and reattach it to its original placement in the dom.\n\t $select.on('liszt:hiding_dropdown.fixChosen remove.fixChosen', function () {\n\t $select.parents().off('scroll', resizeHandler);\n\t $(window).off('resize scroll', resizeHandler);\n\t $chosen.css(baseStyles);\n\t $results.hide();\n\t $results.css('max-height', CHOSEN_MAX_HEIGHT);\n\t $clone.remove();\n\t $select.after($chosen);\n\t });\n\t }\n\t\n\t return BaseInput.extend({\n\t\n\t className: 'o-form-select',\n\t\n\t /**\n\t * @Override\n\t */\n\t events: {\n\t 'change select': 'update',\n\t 'keyup .chzn-search > :text': function (e) {\n\t if (Keys.isEsc(e)) {\n\t this.$('.chzn-search > :text').val('');\n\t e.stopPropagation();\n\t }\n\t }\n\t },\n\t\n\t constructor: function () {\n\t this.template = template;\n\t this.option = option;\n\t BaseInput.apply(this, arguments);\n\t this.params = this.options.params || {};\n\t },\n\t\n\t /**\n\t * @Override\n\t */\n\t editMode: function () {\n\t /* eslint max-statements: [2, 13] */\n\t\n\t this.$el.html(template(this.options));\n\t this.$select = this.$('select');\n\t\n\t var options = this.getOptions();\n\t _.each(options, function (value, key) {\n\t this.$select.append(option({key: key, value: value}));\n\t }, this);\n\t\n\t // Fix a regression in jQuery 1.x on Firefox\n\t // jQuery.val(value) prepends an empty option to the dropdown\n\t // if value doesnt exist in the dropdown.\n\t // http://bugs.jquery.com/ticket/13514\n\t var value = this.getModelValue();\n\t if (value) {\n\t this.$select.val(value);\n\t }\n\t else {\n\t this.$('option:first-child').prop('selected', true);\n\t }\n\t this.$el.addClass('o-form-control');\n\t\n\t if (this.params.chosen !== false) {\n\t this.__applyChosen();\n\t }\n\t return this;\n\t },\n\t\n\t __applyChosen: function (update) {\n\t var width = this.options.wide ? '100%' : this.params.width || '62%';\n\t if (this.params.autoWidth) {\n\t width = findSelectWidth(this);\n\t }\n\t\n\t defer.call(this, function () {\n\t var searchThreshold = this.getParam('searchThreshold', 10);\n\t if (!_.result(this.options, 'autoRender') && update !== false) {\n\t this.update();\n\t }\n\t this.$select.chosen({\n\t 'width': width,\n\t 'disable_search_threshold': searchThreshold,\n\t 'placeholder_text': this.options['placeholder']\n\t });\n\t fixChosenModal(this.$select);\n\t\n\t if (this.params.autoWidth) { // fix a chosen css bug\n\t this.$el.width(0);\n\t }\n\t\n\t this.model.trigger('form:resize');\n\t });\n\t },\n\t\n\t /**\n\t * @Override\n\t */\n\t val: function () {\n\t return this.$select && this.$select.val();\n\t },\n\t\n\t /**\n\t * @Override\n\t */\n\t focus: function () {\n\t if (this.$select) {\n\t return this.$select.focus();\n\t }\n\t },\n\t\n\t /**\n\t * @Override\n\t */\n\t toStringValue: function () {\n\t var selectedOption = this.getModelValue(),\n\t displayString = selectedOption,\n\t options = this.getOptions();\n\t if (!_.isEmpty(options)) {\n\t displayString = options[selectedOption];\n\t }\n\t if (_.isUndefined(displayString)) {\n\t displayString = this.defaultValue();\n\t }\n\t return displayString || '';\n\t },\n\t\n\t /**\n\t * Convert options to an object\n\t * support input options that is a\n\t * 1. a static object such as {key1: val1, key2: val2...}\n\t * 2. a function to be called to return a static object\n\t * will return an object with key-value pairs or with empty content\n\t * @return {Object} The value\n\t */\n\t getOptions: function () {\n\t var options = this.options.options;\n\t\n\t if (_.isFunction(options)) {\n\t options = options.call(this);\n\t }\n\t\n\t return _.isObject(options) ? options : {};\n\t },\n\t\n\t remove: function () {\n\t if (this.$select) {\n\t this.$select.trigger('remove');\n\t }\n\t return BaseInput.prototype.remove.apply(this, arguments);\n\t }\n\t\n\t });\n\t\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 63 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* eslint-env es6 */\n\t/* eslint max-statements: [2, 17], max-len: [2, 160], max-params: [2, 6] */\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(3),\n\t __webpack_require__(8),\n\t __webpack_require__(28),\n\t __webpack_require__(64),\n\t __webpack_require__(26),\n\t __webpack_require__(10)\n\t], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, $, BaseView, Callout, ButtonFactory, StringUtil) {\n\t\n\t /**\n\t * @class BaseInput\n\t * @private\n\t * An abstract object that defines an input for {@link Okta.Form}\n\t *\n\t * BaseInputs are typically not created directly, but being passed to {@link Okta.Form#addInput}\n\t * @extends Okta.View\n\t */\n\t\n\t return BaseView.extend({\n\t\n\t tagName: 'span',\n\t\n\t attributes: function () {\n\t return {\n\t 'data-se': 'o-form-input-' + this.getNameString()\n\t };\n\t },\n\t\n\t /**\n\t * default placeholder text when options.placeholder is not defined\n\t */\n\t defaultPlaceholder: '',\n\t\n\t constructor: function (options) {\n\t /* eslint complexity: [2, 7] */\n\t options = _.defaults(\n\t options || {},\n\t {\n\t inputId: options.id || _.uniqueId('input'),\n\t placeholder: this.defaultPlaceholder,\n\t inlineValidation: true,\n\t validateOnlyIfDirty: false\n\t }\n\t );\n\t\n\t delete options.id;\n\t\n\t // decorate the `enable` and `disable` and toggle the `o-form-disabled` class.\n\t // so we wont need to worry about this when overriding the methods\n\t var self = this;\n\t _.each({enable: 'removeClass', disable: 'addClass'}, function (method, action) {\n\t self[action] = _.wrap(self[action], function (fn) {\n\t fn.apply(self, arguments);\n\t self.$el[method]('o-form-disabled');\n\t });\n\t });\n\t\n\t BaseView.call(this, options);\n\t\n\t if (_.result(options, 'readOnly') !== true && _.result(options, 'read') === true) {\n\t this.listenTo(this.model, 'change:__edit__', this.render);\n\t }\n\t\n\t if (_.isFunction(this.focus)) {\n\t this.focus = _.debounce(_.bind(this.focus, this), 50);\n\t }\n\t\n\t // Enable inline validation if this is not the first field in the form.\n\t if (!_.result(options, 'validateOnlyIfDirty')) {\n\t this.addInlineValidation();\n\t }\n\t\n\t this.addModelListeners();\n\t this.$el.addClass('o-form-input-name-' + this.getNameString());\n\t },\n\t\n\t addAriaLabel: function () {\n\t var ariaLabel = this.options.ariaLabel;\n\t if (ariaLabel) {\n\t this.$(':input').attr('aria-label', ariaLabel);\n\t }\n\t },\n\t\n\t addInlineValidation: function () {\n\t if (_.result(this.options, 'inlineValidation')) {\n\t this.$el.on('focusout', ':input', _.bind(this.validate, this));\n\t }\n\t },\n\t\n\t toModelValue: function () {\n\t var value = this.val();\n\t if (_.isFunction(this.to)) {\n\t value = this.to.call(this, value);\n\t }\n\t if (_.isFunction(this.options.to)) {\n\t value = this.options.to.call(this, value);\n\t }\n\t return value;\n\t },\n\t\n\t __getDependencyCalloutBtn: function (btnConfig) {\n\t var self = this;\n\t var btnOptions = _.clone(btnConfig);\n\t // add onfocus listener to re-evaluate depedency when callout button is clicked\n\t var originalClick = btnOptions.click || function () {};\n\t btnOptions.click = function () {\n\t $(window).one('focus.dependency', function () {\n\t self.__showInputDependencies();\n\t });\n\t originalClick.call(self);\n\t };\n\t var CalloutBtn = BaseView.extend({\n\t children: [\n\t ButtonFactory.create(btnOptions)\n\t ]\n\t });\n\t return new CalloutBtn();\n\t },\n\t\n\t getCalloutParent: function () {\n\t return this.$('input[value=\"' + this.getModelValue() + '\"]').parent();\n\t },\n\t\n\t __getCalloutMsgContainer: function (calloutMsg) {\n\t return BaseView.extend({\n\t template: '\\\n\t \\\n\t {{msg}}\\\n\t \\\n\t ',\n\t getTemplateData: function () {\n\t return {\n\t msg: calloutMsg\n\t };\n\t }\n\t });\n\t },\n\t\n\t showCallout: function (calloutConfig, dependencyResolved) {\n\t var callout = _.clone(calloutConfig);\n\t callout.className = 'dependency-callout';\n\t if (callout.btn) {\n\t callout.content = this.__getDependencyCalloutBtn(callout.btn);\n\t delete callout.btn;\n\t }\n\t var dependencyCallout = Callout.create(callout);\n\t if (!dependencyResolved) {\n\t dependencyCallout.add(this.__getCalloutMsgContainer(StringUtil.localize('dependency.callout.msg', 'courage')));\n\t }\n\t var calloutParent = this.getCalloutParent();\n\t calloutParent.append(dependencyCallout.render().el);\n\t if (callout.type == 'success') {\n\t _.delay(function () {\n\t // fade out success callout\n\t dependencyCallout.$el.fadeOut(800);\n\t }, 1000);\n\t }\n\t },\n\t\n\t removeCallout: function () {\n\t this.$el.find('.dependency-callout').remove();\n\t },\n\t\n\t __evaluateCalloutObject: function (dependencyResolved, calloutTitle) {\n\t var defaultCallout;\n\t if (dependencyResolved) {\n\t defaultCallout = {\n\t title: StringUtil.localize('dependency.action.completed', 'courage'),\n\t size: 'large',\n\t type: 'success'\n\t };\n\t } else {\n\t defaultCallout = {\n\t title: StringUtil.localize('dependency.action.required', 'courage', [calloutTitle]),\n\t size: 'large',\n\t type: 'warning'\n\t };\n\t }\n\t return defaultCallout;\n\t },\n\t\n\t __handleDependency: function (result, callout) {\n\t var self = this;\n\t var calloutConfig = _.isFunction(callout) ? callout(result) : _.extend({}, callout, self.__evaluateCalloutObject(result.resolved, callout.title));\n\t // remove existing callouts if any\n\t self.removeCallout();\n\t self.showCallout(calloutConfig, result.resolved);\n\t },\n\t\n\t __showInputDependencies: function () {\n\t var self = this;\n\t var fieldDependency = self.options.deps[self.getModelValue()];\n\t if (fieldDependency && _.isFunction(fieldDependency.func)) {\n\t fieldDependency.func()\n\t .done(function (data) {\n\t self.__handleDependency({resolved: true, data: data}, fieldDependency.callout);\n\t })\n\t .fail(function (data) {\n\t self.__handleDependency({resolved: false, data: data}, fieldDependency.callout);\n\t });\n\t } else {\n\t self.removeCallout();\n\t }\n\t },\n\t\n\t _isEdited: false,\n\t /**\n\t * updates the model with the input's value\n\t */\n\t update: function () {\n\t if (!this._isEdited && _.result(this.options, 'validateOnlyIfDirty')) {\n\t this._isEdited = true;\n\t this.addInlineValidation();\n\t }\n\t this.model.set(this.options.name, this.toModelValue());\n\t if (this.options.deps) {\n\t // check for dependencies\n\t this.__showInputDependencies();\n\t }\n\t },\n\t\n\t /**\n\t * Is the input in edit mode\n\t * @return {Boolean}\n\t */\n\t isEditMode: function () {\n\t var ret = !_.result(this.options, 'readOnly') &&\n\t (_.result(this.options, 'read') !== true || this.model.get('__edit__') === true);\n\t return ret;\n\t },\n\t\n\t /**\n\t * Renders the input\n\t * @readonly\n\t */\n\t render: function () {\n\t this.preRender();\n\t var params = this.options.params;\n\t this.options.params = _.resultCtx(this.options, 'params', this);\n\t\n\t if (this.isEditMode()) {\n\t this.editMode();\n\t if (_.resultCtx(this.options, 'disabled', this)) {\n\t this.disable();\n\t } else {\n\t this.enable();\n\t }\n\t }\n\t else {\n\t this.readMode();\n\t }\n\t\n\t this.options.params = params;\n\t this.addAriaLabel();\n\t this.postRender();\n\t\n\t return this;\n\t },\n\t\n\t /**\n\t * checks if the current value in the model is valid for this field\n\t */\n\t validate: function () {\n\t if (!this.model.get('__pending__') && this.isEditMode() && _.isFunction(this.model.validateField)) {\n\t var validationError = this.model.validateField(this.options.name);\n\t if (validationError) {\n\t _.delay(function () {\n\t this.model.trigger('form:clear-error:' + this.options.name);\n\t this.model.trigger('invalid', this.model, validationError, false);\n\t }.bind(this), 100);\n\t }\n\t }\n\t },\n\t\n\t /**\n\t * Add model event listeners\n\t */\n\t addModelListeners: function () {\n\t this.listenTo(this.model, 'form:field-error', function (name) {\n\t if (this.options.name === name) {\n\t this.__markError();\n\t }\n\t });\n\t this.listenTo(this.model, 'form:clear-errors change:' + this.options.name, this.__clearError);\n\t this.listenTo(this.model, 'form:clear-error:' + this.options.name, this.__clearError);\n\t },\n\t\n\t /**\n\t * The value of the input\n\t * @return {Mixed}\n\t */\n\t val: function () {\n\t throw new Error('val() is an abstract method');\n\t },\n\t\n\t /**\n\t * Set focus on the input\n\t */\n\t focus: function () {\n\t throw new Error('focus() is an abstract method');\n\t },\n\t\n\t /**\n\t * Default value in read mode\n\t * When model has no value for the field\n\t */\n\t defaultValue: function () {\n\t return '';\n\t },\n\t\n\t /**\n\t * Renders the input in edit mode\n\t */\n\t editMode: function () {\n\t var options = _.extend({}, this.options, {\n\t value: this.getModelValue()\n\t });\n\t this.$el.html(this.template(options));\n\t this.options.multi && this.$el.removeClass('margin-r');\n\t return this;\n\t },\n\t\n\t /**\n\t * Renders the readable value of the input in read mode\n\t */\n\t readMode: function () {\n\t this.$el.text(this.getReadModeString());\n\t this.$el.removeClass('error-field');\n\t this.options.multi && this.$el.addClass('margin-r');\n\t return this;\n\t },\n\t\n\t getReadModeString: function () {\n\t var readModeStr = _.resultCtx(this.options, 'readModeString', this);\n\t if (readModeStr) {\n\t return readModeStr;\n\t }\n\t return this.toStringValue();\n\t },\n\t\n\t /**\n\t * The model value off the field associated with the input\n\t * @return {Mixed}\n\t */\n\t getModelValue: function () {\n\t var value = this.model.get(this.options.name);\n\t\n\t if (_.isFunction(this.from)) {\n\t value = this.from.call(this, value);\n\t }\n\t if (_.isFunction(this.options.from)) {\n\t value = this.options.from.call(this, value);\n\t }\n\t return value;\n\t },\n\t\n\t /*\n\t * convenience method to get the textual value from the model\n\t * will return the textual label rather than value in case of select/radio\n\t * @return {String}\n\t */\n\t toStringValue: function () {\n\t var value = this.getModelValue();\n\t if (this.options.options) { // dropdown or radio\n\t value = this.options.options[value];\n\t }\n\t return value || this.defaultValue();\n\t },\n\t\n\t /**\n\t * Triggers a form:resize event in order to tell dialogs content size has changed\n\t */\n\t resize: function () {\n\t this.model.trigger('form:resize');\n\t },\n\t\n\t /**\n\t * Disable the input\n\t */\n\t disable: function () {\n\t this.$(':input').prop('disabled', true);\n\t },\n\t\n\t /**\n\t * Enable the input\n\t */\n\t enable: function () {\n\t this.$(':input').prop('disabled', false);\n\t },\n\t\n\t /**\n\t * Change the type of the input field. (e.g., text <--> password)\n\t * @param type\n\t */\n\t changeType: function (type) {\n\t this.$(':input').prop('type', type);\n\t // Update the options so that it keeps the uptodate state\n\t this.options.type = type;\n\t },\n\t\n\t getNameString: function () {\n\t if (_.isArray(this.options.name)) {\n\t return this.options.name.join('-');\n\t }\n\t return this.options.name;\n\t },\n\t\n\t /**\n\t * Get parameters, computing _.result\n\t * @param {[type]} options alternative options\n\t * @return {Object} the params\n\t */\n\t getParams: function (options) {\n\t var opts = options || this.options || {};\n\t return _.clone(_.resultCtx(opts, 'params', this) || {});\n\t },\n\t\n\t /**\n\t * get a parameter from options.params, compute _.result when needed.\n\t * @param {String} key\n\t * @param {Object} defaultValue\n\t * @return {Object} the params\n\t */\n\t getParam: function (key, defaultValue) {\n\t var result = _.resultCtx(this.getParams(), key, this);\n\t return !_.isUndefined(result) ? result : defaultValue;\n\t },\n\t\n\t /**\n\t * Get a parameter from options.params or if empty, object attribute.\n\t *\n\t * @param {String} key\n\t * @return {Object} the param or attribute\n\t */\n\t getParamOrAttribute: function (key) {\n\t return this.getParam(key) || _.result(this, key);\n\t },\n\t\n\t __markError: function () {\n\t this.$el.addClass('o-form-has-errors');\n\t },\n\t\n\t __clearError: function () {\n\t this.$el.removeClass('o-form-has-errors');\n\t }\n\t\n\t });\n\t\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 64 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(3),\n\t __webpack_require__(28),\n\t __webpack_require__(65)\n\t], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, BaseView, Time) {\n\t\n\t function getOption(callout, option) {\n\t return _.resultCtx(callout.options, option, callout) || _.result(callout, option);\n\t }\n\t\n\t function getTopClass(callout) {\n\t var klass = 'infobox clearfix infobox-' + getOption(callout, 'type');\n\t switch (getOption(callout, 'size')) {\n\t case 'standard':\n\t klass += '';\n\t break;\n\t case 'slim':\n\t klass += ' infobox-slim';\n\t break;\n\t case 'compact':\n\t klass += ' infobox-compact';\n\t break;\n\t case 'large':\n\t klass += ' infobox-md';\n\t break;\n\t\n\t }\n\t if (getOption(callout, 'dismissible')) {\n\t klass += ' infobox-dismiss';\n\t }\n\t return klass;\n\t }\n\t\n\t var events = {\n\t 'click .infobox-dismiss-link': function (e) {\n\t e.preventDefault();\n\t this.$el.fadeOut(Time.UNLOADING_FADE, _.bind(function () {\n\t this.trigger('dismissed');\n\t this.remove();\n\t }, this));\n\t }\n\t };\n\t\n\t var template = '\\\n\t {{#if dismissible}}\\\n\t \\\n\t \\\n\t \\\n\t {{/if}}\\\n\t \\\n\t {{#if title}}

            {{title}}

            {{/if}}\\\n\t {{#if subtitle}}

            {{subtitle}}

            {{/if}}\\\n\t {{#if bullets}}\\\n\t
              \\\n\t {{#each bullets}}
            • {{this}}
            • {{/each}}\\\n\t
            \\\n\t {{/if}}\\\n\t ';\n\t\n\t /**\n\t * @class src/views/components/Callout\n\t * @extends module:Okta.View\n\t */\n\t\n\t var Callout = BaseView.extend(/** @lends src/views/components/Callout.prototype */ {\n\t\n\t attributes: {\n\t 'data-se': 'callout'\n\t },\n\t\n\t /**\n\t * Custom HTML or view to inject to the callout\n\t * @type {String|Okta.View}\n\t */\n\t content: null,\n\t\n\t /**\n\t * Size of icon. options are standard, large, compact\n\t * @type {String}\n\t */\n\t size: 'standard',\n\t\n\t /**\n\t * Type of the callout. Valid values are: info, success, warning, error, tip\n\t * @type {String}\n\t */\n\t type: 'info',\n\t\n\t /**\n\t * Can the callout be dismissed\n\t * @type {Boolean}\n\t */\n\t dismissible: false,\n\t\n\t /**\n\t * Callout title\n\t * @type {String}\n\t */\n\t title: null,\n\t\n\t /**\n\t * Callout subtitle\n\t * @type {String}\n\t */\n\t subtitle: null,\n\t\n\t /**\n\t * Array of strings to render as bullet points\n\t * @type {Array}\n\t */\n\t bullets: null,\n\t\n\t /**\n\t * Fired after the callout is dismised - applies when \n\t * {@link module:Okta.internal.views.components.Callout|dismissible} is set to true\n\t * @event src/views/components/Callout#dismissed\n\t */\n\t\n\t constructor: function () {\n\t this.events = _.defaults(this.events || {}, events);\n\t\n\t BaseView.apply(this, arguments);\n\t\n\t this.$el.addClass(getTopClass(this));\n\t\n\t this.template = template;\n\t\n\t var content = getOption(this, 'content');\n\t if (content) {\n\t this.add(content);\n\t }\n\t },\n\t\n\t getTemplateData: function () {\n\t var icon = getOption(this, 'type');\n\t const size = getOption(this, 'size');\n\t if (icon === 'tip') { // css is inconsistent\n\t icon = 'light-bulb';\n\t }\n\t switch (size) {\n\t case 'slim':\n\t icon = '';\n\t break;\n\t case 'large':\n\t icon = [icon, '-', '24'].join('');\n\t break;\n\t default:\n\t icon = [icon, '-', '16'].join('');\n\t }\n\t return {\n\t icon,\n\t title: getOption(this, 'title'),\n\t subtitle: getOption(this, 'subtitle'),\n\t bullets: getOption(this, 'bullets'),\n\t dismissible: getOption(this, 'dismissible')\n\t };\n\t }\n\t });\n\t\n\t /**\n\t * @class module:Okta.internal.views.components.Callout\n\t */\n\t return /** @lends module:Okta.internal.views.components.Callout */ {\n\t /**\n\t * Creates a {@link src/views/components/Callout|Callout}.\n\t * @static\n\t * @param {Object} options\n\t * @param {String|Function} [options.size] Size of icon. options are standard, large, compact, slim\n\t * @param {String|Okta.View} [options.content] Custom HTML or view to inject to the callout\n\t * @param {String|Function} [options.title] Callout title\n\t * @param {String|Function} [options.subtitle] Callout subtitle\n\t * @param {Array|Function} [options.bullets] Array of strings to render as bullet points\n\t * @param {Boolean|Function} [options.dismissible] Can the callout be dismissed\n\t * @param {String|Function} [options.type] Callout type. Valid values are: info, success, warning, error, tip\n\t *\n\t * @return {src/views/components/Callout}\n\t */\n\t create: function (options) {\n\t return new Callout(options);\n\t }\n\t };\n\t\n\t\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 65 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t!(module.exports = {\n\t DEBOUNCE_DELAY: 200,\n\t LOADING_FADE: 400,\n\t UNLOADING_FADE: 400,\n\t ROW_EXPANDER_TRANSITION: 150,\n\t HIDE_ADD_MAPPING_FORM: 300\n\t});\n\n/***/ },\n/* 66 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// Chosen, a Select Box Enhancer for jQuery and Prototype\n\t// by Patrick Filler for Harvest, http://getharvest.com\n\t//\n\t// Version 0.11.1\n\t// Full source at https://github.com/harvesthq/chosen\n\t// Copyright (c) 2011 Harvest http://getharvest.com\n\t\n\t// MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md\n\t// This file is generated by `grunt build`, do not edit it by hand.\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(9)], __WEBPACK_AMD_DEFINE_RESULT__ = function (jQuery) {\n\t (function() {\n\t var SelectParser;\n\t\n\t SelectParser = (function() {\n\t function SelectParser() {\n\t this.options_index = 0;\n\t this.parsed = [];\n\t }\n\t\n\t SelectParser.prototype.add_node = function(child) {\n\t if (child.nodeName.toUpperCase() === \"OPTGROUP\") {\n\t return this.add_group(child);\n\t } else {\n\t return this.add_option(child);\n\t }\n\t };\n\t\n\t SelectParser.prototype.add_group = function(group) {\n\t var group_position, option, _i, _len, _ref, _results;\n\t\n\t group_position = this.parsed.length;\n\t this.parsed.push({\n\t array_index: group_position,\n\t group: true,\n\t label: group.label,\n\t children: 0,\n\t disabled: group.disabled\n\t });\n\t _ref = group.childNodes;\n\t _results = [];\n\t for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n\t option = _ref[_i];\n\t _results.push(this.add_option(option, group_position, group.disabled));\n\t }\n\t return _results;\n\t };\n\t\n\t SelectParser.prototype.add_option = function(option, group_position, group_disabled) {\n\t if (option.nodeName.toUpperCase() === \"OPTION\") {\n\t if (option.text !== \"\") {\n\t if (group_position != null) {\n\t this.parsed[group_position].children += 1;\n\t }\n\t this.parsed.push({\n\t array_index: this.parsed.length,\n\t options_index: this.options_index,\n\t value: option.value,\n\t text: option.text,\n\t html: option.innerHTML,\n\t selected: option.selected,\n\t disabled: group_disabled === true ? group_disabled : option.disabled,\n\t group_array_index: group_position,\n\t classes: option.className,\n\t style: option.style.cssText\n\t });\n\t } else {\n\t this.parsed.push({\n\t array_index: this.parsed.length,\n\t options_index: this.options_index,\n\t empty: true\n\t });\n\t }\n\t return this.options_index += 1;\n\t }\n\t };\n\t\n\t return SelectParser;\n\t\n\t })();\n\t\n\t SelectParser.select_to_array = function(select) {\n\t var child, parser, _i, _len, _ref;\n\t\n\t parser = new SelectParser();\n\t _ref = select.childNodes;\n\t for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n\t child = _ref[_i];\n\t parser.add_node(child);\n\t }\n\t return parser.parsed;\n\t };\n\t\n\t this.SelectParser = SelectParser;\n\t\n\t }).call(this);\n\t\n\t (function() {\n\t var AbstractChosen, root;\n\t\n\t root = this;\n\t\n\t AbstractChosen = (function() {\n\t function AbstractChosen(form_field, options) {\n\t this.form_field = form_field;\n\t this.options = options != null ? options : {};\n\t if (!AbstractChosen.browser_is_supported()) {\n\t return;\n\t }\n\t this.is_multiple = this.form_field.multiple;\n\t this.set_default_text();\n\t this.set_default_values();\n\t this.setup();\n\t this.set_up_html();\n\t this.register_observers();\n\t this.finish_setup();\n\t }\n\t\n\t AbstractChosen.prototype.set_default_values = function() {\n\t var _this = this;\n\t\n\t this.click_test_action = function(evt) {\n\t return _this.test_active_click(evt);\n\t };\n\t this.activate_action = function(evt) {\n\t return _this.activate_field(evt);\n\t };\n\t this.active_field = false;\n\t this.mouse_on_container = false;\n\t this.results_showing = false;\n\t this.result_highlighted = null;\n\t this.result_single_selected = null;\n\t 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\t this.disable_search_threshold = this.options.disable_search_threshold || 0;\n\t this.disable_search = this.options.disable_search || false;\n\t this.enable_split_word_search = this.options.enable_split_word_search != null ? this.options.enable_split_word_search : true;\n\t this.search_contains = this.options.search_contains || false;\n\t this.single_backstroke_delete = this.options.single_backstroke_delete || false;\n\t this.max_selected_options = this.options.max_selected_options || Infinity;\n\t return this.inherit_select_classes = this.options.inherit_select_classes || false;\n\t };\n\t\n\t AbstractChosen.prototype.set_default_text = function() {\n\t if (this.form_field.getAttribute(\"data-placeholder\")) {\n\t this.default_text = this.form_field.getAttribute(\"data-placeholder\");\n\t } else if (this.is_multiple) {\n\t this.default_text = this.options.placeholder_text_multiple || this.options.placeholder_text || AbstractChosen.default_multiple_text;\n\t } else {\n\t this.default_text = this.options.placeholder_text_single || this.options.placeholder_text || AbstractChosen.default_single_text;\n\t }\n\t return this.results_none_found = this.form_field.getAttribute(\"data-no_results_text\") || this.options.no_results_text || AbstractChosen.default_no_result_text;\n\t };\n\t\n\t AbstractChosen.prototype.mouse_enter = function() {\n\t return this.mouse_on_container = true;\n\t };\n\t\n\t AbstractChosen.prototype.mouse_leave = function() {\n\t return this.mouse_on_container = false;\n\t };\n\t\n\t AbstractChosen.prototype.input_focus = function(evt) {\n\t var _this = this;\n\t\n\t if (this.is_multiple) {\n\t if (!this.active_field) {\n\t return setTimeout((function() {\n\t return _this.container_mousedown();\n\t }), 50);\n\t }\n\t } else {\n\t if (!this.active_field) {\n\t return this.activate_field();\n\t }\n\t }\n\t };\n\t\n\t AbstractChosen.prototype.input_blur = function(evt) {\n\t var _this = this;\n\t\n\t if (!this.mouse_on_container) {\n\t this.active_field = false;\n\t return setTimeout((function() {\n\t return _this.blur_test();\n\t }), 100);\n\t }\n\t };\n\t\n\t AbstractChosen.prototype.result_add_option = function(option) {\n\t var classes, style;\n\t\n\t option.dom_id = this.container_id + \"_o_\" + option.array_index;\n\t classes = [];\n\t if (!option.disabled && !(option.selected && this.is_multiple)) {\n\t classes.push(\"active-result\");\n\t }\n\t if (option.disabled && !(option.selected && this.is_multiple)) {\n\t classes.push(\"disabled-result\");\n\t }\n\t if (option.selected) {\n\t classes.push(\"result-selected\");\n\t }\n\t if (option.group_array_index != null) {\n\t classes.push(\"group-option\");\n\t }\n\t if (option.classes !== \"\") {\n\t classes.push(option.classes);\n\t }\n\t style = option.style.cssText !== \"\" ? \" style=\\\"\" + option.style + \"\\\"\" : \"\";\n\t return '
          • ' + option.html + '
          • ';\n\t };\n\t\n\t AbstractChosen.prototype.results_update_field = function() {\n\t this.set_default_text();\n\t if (!this.is_multiple) {\n\t this.results_reset_cleanup();\n\t }\n\t this.result_clear_highlight();\n\t this.result_single_selected = null;\n\t return this.results_build();\n\t };\n\t\n\t AbstractChosen.prototype.results_toggle = function() {\n\t if (this.results_showing) {\n\t return this.results_hide();\n\t } else {\n\t return this.results_show();\n\t }\n\t };\n\t\n\t AbstractChosen.prototype.results_search = function(evt) {\n\t if (this.results_showing) {\n\t return this.winnow_results();\n\t } else {\n\t return this.results_show();\n\t }\n\t };\n\t\n\t AbstractChosen.prototype.choices_count = function() {\n\t var option, _i, _len, _ref;\n\t\n\t if (this.selected_option_count != null) {\n\t return this.selected_option_count;\n\t }\n\t this.selected_option_count = 0;\n\t _ref = this.form_field.options;\n\t for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n\t option = _ref[_i];\n\t if (option.selected) {\n\t this.selected_option_count += 1;\n\t }\n\t }\n\t return this.selected_option_count;\n\t };\n\t\n\t AbstractChosen.prototype.choices_click = function(evt) {\n\t evt.preventDefault();\n\t if (!(this.results_showing || this.is_disabled)) {\n\t return this.results_show();\n\t }\n\t };\n\t\n\t AbstractChosen.prototype.keyup_checker = function(evt) {\n\t var stroke, _ref;\n\t\n\t stroke = (_ref = evt.which) != null ? _ref : evt.keyCode;\n\t this.search_field_scale();\n\t switch (stroke) {\n\t case 8:\n\t if (this.is_multiple && this.backstroke_length < 1 && this.choices_count() > 0) {\n\t return this.keydown_backstroke();\n\t } else if (!this.pending_backstroke) {\n\t this.result_clear_highlight();\n\t return this.results_search();\n\t }\n\t break;\n\t case 13:\n\t evt.preventDefault();\n\t if (this.results_showing) {\n\t return this.result_select(evt);\n\t }\n\t break;\n\t case 27:\n\t if (this.results_showing) {\n\t this.results_hide();\n\t }\n\t return true;\n\t case 9:\n\t case 38:\n\t case 40:\n\t case 16:\n\t case 91:\n\t case 17:\n\t break;\n\t default:\n\t return this.results_search();\n\t }\n\t };\n\t\n\t AbstractChosen.prototype.generate_field_id = function() {\n\t var new_id;\n\t\n\t new_id = this.generate_random_id();\n\t this.form_field.id = new_id;\n\t return new_id;\n\t };\n\t\n\t AbstractChosen.prototype.generate_random_char = function() {\n\t var chars, newchar, rand;\n\t\n\t chars = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\";\n\t rand = Math.floor(Math.random() * chars.length);\n\t return newchar = chars.substring(rand, rand + 1);\n\t };\n\t\n\t AbstractChosen.prototype.container_width = function() {\n\t if (this.options.width != null) {\n\t return this.options.width;\n\t } else {\n\t return \"\" + this.form_field.offsetWidth + \"px\";\n\t }\n\t };\n\t\n\t AbstractChosen.browser_is_supported = function() {\n\t var _ref;\n\t\n\t if (window.navigator.appName === \"Microsoft Internet Explorer\") {\n\t return (null !== (_ref = document.documentMode) && _ref >= 8);\n\t }\n\t return true;\n\t };\n\t\n\t AbstractChosen.default_multiple_text = \"Select Some Options\";\n\t\n\t AbstractChosen.default_single_text = \"Select an Option\";\n\t\n\t AbstractChosen.default_no_result_text = \"No results match\";\n\t\n\t return AbstractChosen;\n\t\n\t })();\n\t\n\t root.AbstractChosen = AbstractChosen;\n\t\n\t }).call(this);\n\t\n\t (function() {\n\t var $, Chosen, root, _ref,\n\t __hasProp = {}.hasOwnProperty,\n\t __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\t\n\t root = this;\n\t\n\t // OKTA-93521 - plugin assumes root is global scope\n\t var AbstractChosen = root.AbstractChosen;\n\t\n\t $ = jQuery;\n\t\n\t $.fn.extend({\n\t chosen: function(options) {\n\t if (!AbstractChosen.browser_is_supported()) {\n\t return this;\n\t }\n\t return this.each(function(input_field) {\n\t var $this;\n\t\n\t $this = $(this);\n\t if (!$this.hasClass(\"chzn-done\")) {\n\t return $this.data('chosen', new Chosen(this, options));\n\t }\n\t });\n\t }\n\t });\n\t\n\t Chosen = (function(_super) {\n\t __extends(Chosen, _super);\n\t\n\t function Chosen() {\n\t _ref = Chosen.__super__.constructor.apply(this, arguments);\n\t return _ref;\n\t }\n\t\n\t Chosen.prototype.setup = function() {\n\t this.form_field_jq = $(this.form_field);\n\t this.current_selectedIndex = this.form_field.selectedIndex;\n\t return this.is_rtl = this.form_field_jq.hasClass(\"chzn-rtl\");\n\t };\n\t\n\t Chosen.prototype.finish_setup = function() {\n\t return this.form_field_jq.addClass(\"chzn-done\");\n\t };\n\t\n\t Chosen.prototype.set_up_html = function() {\n\t var container_classes, container_props;\n\t\n\t this.container_id = this.form_field.id.length ? this.form_field.id.replace(/[^\\w]/g, '_') : this.generate_field_id();\n\t this.container_id += \"_chzn\";\n\t container_classes = [\"chzn-container\"];\n\t container_classes.push(\"chzn-container-\" + (this.is_multiple ? \"multi\" : \"single\"));\n\t if (this.inherit_select_classes && this.form_field.className) {\n\t container_classes.push(this.form_field.className);\n\t }\n\t if (this.is_rtl) {\n\t container_classes.push(\"chzn-rtl\");\n\t }\n\t container_props = {\n\t 'id': this.container_id,\n\t 'class': container_classes.join(' '),\n\t 'style': \"width: \" + (this.container_width()) + \";\",\n\t 'title': this.form_field.title\n\t };\n\t this.container = $(\"
            \", container_props);\n\t if (this.is_multiple) {\n\t this.container.html('
              ');\n\t } else {\n\t this.container.html('' + this.default_text + '
                ');\n\t }\n\t this.form_field_jq.hide().after(this.container);\n\t this.dropdown = this.container.find('div.chzn-drop').first();\n\t this.search_field = this.container.find('input').first();\n\t this.search_results = this.container.find('ul.chzn-results').first();\n\t this.search_field_scale();\n\t this.search_no_results = this.container.find('li.no-results').first();\n\t if (this.is_multiple) {\n\t this.search_choices = this.container.find('ul.chzn-choices').first();\n\t this.search_container = this.container.find('li.search-field').first();\n\t } else {\n\t this.search_container = this.container.find('div.chzn-search').first();\n\t this.selected_item = this.container.find('.chzn-single').first();\n\t }\n\t this.results_build();\n\t this.set_tab_index();\n\t this.set_label_behavior();\n\t return this.form_field_jq.trigger(\"liszt:ready\", {\n\t chosen: this\n\t });\n\t };\n\t\n\t Chosen.prototype.register_observers = function() {\n\t var _this = this;\n\t\n\t this.container.mousedown(function(evt) {\n\t _this.container_mousedown(evt);\n\t });\n\t this.container.mouseup(function(evt) {\n\t _this.container_mouseup(evt);\n\t });\n\t this.container.mouseenter(function(evt) {\n\t _this.mouse_enter(evt);\n\t });\n\t this.container.mouseleave(function(evt) {\n\t _this.mouse_leave(evt);\n\t });\n\t this.search_results.mouseup(function(evt) {\n\t _this.search_results_mouseup(evt);\n\t });\n\t this.search_results.mouseover(function(evt) {\n\t _this.search_results_mouseover(evt);\n\t });\n\t this.search_results.mouseout(function(evt) {\n\t _this.search_results_mouseout(evt);\n\t });\n\t this.search_results.bind('mousewheel DOMMouseScroll', function(evt) {\n\t _this.search_results_mousewheel(evt);\n\t });\n\t this.form_field_jq.bind(\"liszt:updated\", function(evt) {\n\t _this.results_update_field(evt);\n\t });\n\t this.form_field_jq.bind(\"liszt:activate\", function(evt) {\n\t _this.activate_field(evt);\n\t });\n\t this.form_field_jq.bind(\"liszt:open\", function(evt) {\n\t _this.container_mousedown(evt);\n\t });\n\t this.search_field.blur(function(evt) {\n\t _this.input_blur(evt);\n\t });\n\t this.search_field.keyup(function(evt) {\n\t _this.keyup_checker(evt);\n\t });\n\t this.search_field.keydown(function(evt) {\n\t _this.keydown_checker(evt);\n\t });\n\t this.search_field.focus(function(evt) {\n\t _this.input_focus(evt);\n\t });\n\t if (this.is_multiple) {\n\t return this.search_choices.click(function(evt) {\n\t _this.choices_click(evt);\n\t });\n\t } else {\n\t return this.container.click(function(evt) {\n\t evt.preventDefault();\n\t });\n\t }\n\t };\n\t\n\t Chosen.prototype.search_field_disabled = function() {\n\t this.is_disabled = this.form_field_jq[0].disabled;\n\t if (this.is_disabled) {\n\t this.container.addClass('chzn-disabled');\n\t this.search_field[0].disabled = true;\n\t if (!this.is_multiple) {\n\t this.selected_item.unbind(\"focus\", this.activate_action);\n\t }\n\t return this.close_field();\n\t } else {\n\t this.container.removeClass('chzn-disabled');\n\t this.search_field[0].disabled = false;\n\t if (!this.is_multiple) {\n\t return this.selected_item.bind(\"focus\", this.activate_action);\n\t }\n\t }\n\t };\n\t\n\t Chosen.prototype.container_mousedown = function(evt) {\n\t if (!this.is_disabled) {\n\t if (evt && evt.type === \"mousedown\" && !this.results_showing) {\n\t evt.preventDefault();\n\t }\n\t if (!((evt != null) && ($(evt.target)).hasClass(\"search-choice-close\"))) {\n\t if (!this.active_field) {\n\t if (this.is_multiple) {\n\t this.search_field.val(\"\");\n\t }\n\t $(document).click(this.click_test_action);\n\t this.results_show();\n\t } else if (!this.is_multiple && evt && (($(evt.target)[0] === this.selected_item[0]) || $(evt.target).parents(\"a.chzn-single\").length)) {\n\t evt.preventDefault();\n\t this.results_toggle();\n\t }\n\t return this.activate_field();\n\t }\n\t }\n\t };\n\t\n\t Chosen.prototype.container_mouseup = function(evt) {\n\t if (evt.target.nodeName === \"ABBR\" && !this.is_disabled) {\n\t return this.results_reset(evt);\n\t }\n\t };\n\t\n\t Chosen.prototype.search_results_mousewheel = function(evt) {\n\t var delta, _ref1, _ref2;\n\t\n\t delta = -((_ref1 = evt.originalEvent) != null ? _ref1.wheelDelta : void 0) || ((_ref2 = evt.originialEvent) != null ? _ref2.detail : void 0);\n\t if (delta != null) {\n\t evt.preventDefault();\n\t if (evt.type === 'DOMMouseScroll') {\n\t delta = delta * 40;\n\t }\n\t return this.search_results.scrollTop(delta + this.search_results.scrollTop());\n\t }\n\t };\n\t\n\t Chosen.prototype.blur_test = function(evt) {\n\t if (!this.active_field && this.container.hasClass(\"chzn-container-active\")) {\n\t return this.close_field();\n\t }\n\t };\n\t\n\t Chosen.prototype.close_field = function() {\n\t $(document).unbind(\"click\", this.click_test_action);\n\t this.active_field = false;\n\t this.results_hide();\n\t this.container.removeClass(\"chzn-container-active\");\n\t this.clear_backstroke();\n\t this.show_search_field_default();\n\t return this.search_field_scale();\n\t };\n\t\n\t Chosen.prototype.activate_field = function() {\n\t this.container.addClass(\"chzn-container-active\");\n\t this.active_field = true;\n\t this.search_field.val(this.search_field.val());\n\t return this.search_field.focus();\n\t };\n\t\n\t Chosen.prototype.test_active_click = function(evt) {\n\t if ($(evt.target).parents('#' + this.container_id).length) {\n\t return this.active_field = true;\n\t } else {\n\t return this.close_field();\n\t }\n\t };\n\t\n\t Chosen.prototype.results_build = function() {\n\t var content, data, _i, _len, _ref1;\n\t\n\t this.parsing = true;\n\t this.selected_option_count = null;\n\t this.results_data = root.SelectParser.select_to_array(this.form_field);\n\t if (this.is_multiple) {\n\t this.search_choices.find(\"li.search-choice\").remove();\n\t } else if (!this.is_multiple) {\n\t this.selected_item.addClass(\"chzn-default\").find(\"span\").text(this.default_text);\n\t if (this.disable_search || this.form_field.options.length <= this.disable_search_threshold) {\n\t this.search_field[0].readOnly = true;\n\t this.container.addClass(\"chzn-container-single-nosearch\");\n\t } else {\n\t this.search_field[0].readOnly = false;\n\t this.container.removeClass(\"chzn-container-single-nosearch\");\n\t }\n\t }\n\t content = '';\n\t _ref1 = this.results_data;\n\t for (_i = 0, _len = _ref1.length; _i < _len; _i++) {\n\t data = _ref1[_i];\n\t if (data.group) {\n\t content += this.result_add_group(data);\n\t } else if (!data.empty) {\n\t content += this.result_add_option(data);\n\t if (data.selected && this.is_multiple) {\n\t this.choice_build(data);\n\t } else if (data.selected && !this.is_multiple) {\n\t this.selected_item.removeClass(\"chzn-default\").find(\"span\").text(data.text);\n\t if (this.allow_single_deselect) {\n\t this.single_deselect_control_build();\n\t }\n\t }\n\t }\n\t }\n\t this.search_field_disabled();\n\t this.show_search_field_default();\n\t this.search_field_scale();\n\t this.search_results.html(content);\n\t return this.parsing = false;\n\t };\n\t\n\t Chosen.prototype.result_add_group = function(group) {\n\t group.dom_id = this.container_id + \"_g_\" + group.array_index;\n\t return '
              • ' + $(\"
                \").text(group.label).html() + '
              • ';\n\t };\n\t\n\t Chosen.prototype.result_do_highlight = function(el) {\n\t var high_bottom, high_top, maxHeight, visible_bottom, visible_top;\n\t\n\t if (el.length) {\n\t this.result_clear_highlight();\n\t this.result_highlight = el;\n\t this.result_highlight.addClass(\"highlighted\");\n\t maxHeight = parseInt(this.search_results.css(\"maxHeight\"), 10);\n\t visible_top = this.search_results.scrollTop();\n\t visible_bottom = maxHeight + visible_top;\n\t high_top = this.result_highlight.position().top + this.search_results.scrollTop();\n\t high_bottom = high_top + this.result_highlight.outerHeight();\n\t if (high_bottom >= visible_bottom) {\n\t return this.search_results.scrollTop((high_bottom - maxHeight) > 0 ? high_bottom - maxHeight : 0);\n\t } else if (high_top < visible_top) {\n\t return this.search_results.scrollTop(high_top);\n\t }\n\t }\n\t };\n\t\n\t Chosen.prototype.result_clear_highlight = function() {\n\t if (this.result_highlight) {\n\t this.result_highlight.removeClass(\"highlighted\");\n\t }\n\t return this.result_highlight = null;\n\t };\n\t\n\t Chosen.prototype.results_show = function() {\n\t if (this.is_multiple && this.max_selected_options <= this.choices_count()) {\n\t this.form_field_jq.trigger(\"liszt:maxselected\", {\n\t chosen: this\n\t });\n\t return false;\n\t }\n\t this.container.addClass(\"chzn-with-drop\");\n\t this.form_field_jq.trigger(\"liszt:showing_dropdown\", {\n\t chosen: this\n\t });\n\t this.results_showing = true;\n\t this.search_field.focus();\n\t this.search_field.val(this.search_field.val());\n\t return this.winnow_results();\n\t };\n\t\n\t Chosen.prototype.results_hide = function() {\n\t if (this.results_showing) {\n\t this.result_clear_highlight();\n\t this.container.removeClass(\"chzn-with-drop\");\n\t this.form_field_jq.trigger(\"liszt:hiding_dropdown\", {\n\t chosen: this\n\t });\n\t }\n\t return this.results_showing = false;\n\t };\n\t\n\t Chosen.prototype.set_tab_index = function(el) {\n\t var ti;\n\t\n\t if (this.form_field_jq.attr(\"tabindex\")) {\n\t ti = this.form_field_jq.attr(\"tabindex\");\n\t this.form_field_jq.attr(\"tabindex\", -1);\n\t return this.search_field.attr(\"tabindex\", ti);\n\t }\n\t };\n\t\n\t Chosen.prototype.set_label_behavior = function() {\n\t var _this = this;\n\t\n\t this.form_field_label = this.form_field_jq.parents(\"label\");\n\t if (!this.form_field_label.length && this.form_field.id.length) {\n\t this.form_field_label = $(\"label[for='\" + this.form_field.id + \"']\");\n\t }\n\t if (this.form_field_label.length > 0) {\n\t return this.form_field_label.click(function(evt) {\n\t if (_this.is_multiple) {\n\t return _this.container_mousedown(evt);\n\t } else {\n\t return _this.activate_field();\n\t }\n\t });\n\t }\n\t };\n\t\n\t Chosen.prototype.show_search_field_default = function() {\n\t if (this.is_multiple && this.choices_count() < 1 && !this.active_field) {\n\t this.search_field.val(this.default_text);\n\t return this.search_field.addClass(\"default\");\n\t } else {\n\t this.search_field.val(\"\");\n\t return this.search_field.removeClass(\"default\");\n\t }\n\t };\n\t\n\t Chosen.prototype.search_results_mouseup = function(evt) {\n\t var target;\n\t\n\t target = $(evt.target).hasClass(\"active-result\") ? $(evt.target) : $(evt.target).parents(\".active-result\").first();\n\t if (target.length) {\n\t this.result_highlight = target;\n\t this.result_select(evt);\n\t return this.search_field.focus();\n\t }\n\t };\n\t\n\t Chosen.prototype.search_results_mouseover = function(evt) {\n\t var target;\n\t\n\t target = $(evt.target).hasClass(\"active-result\") ? $(evt.target) : $(evt.target).parents(\".active-result\").first();\n\t if (target) {\n\t return this.result_do_highlight(target);\n\t }\n\t };\n\t\n\t Chosen.prototype.search_results_mouseout = function(evt) {\n\t if ($(evt.target).hasClass(\"active-result\" || $(evt.target).parents('.active-result').first())) {\n\t return this.result_clear_highlight();\n\t }\n\t };\n\t\n\t Chosen.prototype.choice_build = function(item) {\n\t var choice, close_link,\n\t _this = this;\n\t\n\t choice = $('
              • ', {\n\t \"class\": \"search-choice\"\n\t }).html(\"\" + item.html + \"\");\n\t if (item.disabled) {\n\t choice.addClass('search-choice-disabled');\n\t } else {\n\t close_link = $('', {\n\t href: '#',\n\t \"class\": 'search-choice-close',\n\t rel: item.array_index\n\t });\n\t close_link.click(function(evt) {\n\t return _this.choice_destroy_link_click(evt);\n\t });\n\t choice.append(close_link);\n\t }\n\t return this.search_container.before(choice);\n\t };\n\t\n\t Chosen.prototype.choice_destroy_link_click = function(evt) {\n\t evt.preventDefault();\n\t evt.stopPropagation();\n\t if (!this.is_disabled) {\n\t return this.choice_destroy($(evt.target));\n\t }\n\t };\n\t\n\t Chosen.prototype.choice_destroy = function(link) {\n\t if (this.result_deselect(link.attr(\"rel\"))) {\n\t this.show_search_field_default();\n\t if (this.is_multiple && this.choices_count() > 0 && this.search_field.val().length < 1) {\n\t this.results_hide();\n\t }\n\t link.parents('li').first().remove();\n\t return this.search_field_scale();\n\t }\n\t };\n\t\n\t Chosen.prototype.results_reset = function() {\n\t this.form_field.options[0].selected = true;\n\t this.selected_option_count = null;\n\t this.selected_item.find(\"span\").text(this.default_text);\n\t if (!this.is_multiple) {\n\t this.selected_item.addClass(\"chzn-default\");\n\t }\n\t this.show_search_field_default();\n\t this.results_reset_cleanup();\n\t this.form_field_jq.trigger(\"change\");\n\t if (this.active_field) {\n\t return this.results_hide();\n\t }\n\t };\n\t\n\t Chosen.prototype.results_reset_cleanup = function() {\n\t this.current_selectedIndex = this.form_field.selectedIndex;\n\t return this.selected_item.find(\"abbr\").remove();\n\t };\n\t\n\t Chosen.prototype.result_select = function(evt) {\n\t var high, high_id, item, position;\n\t\n\t if (this.result_highlight) {\n\t high = this.result_highlight;\n\t high_id = high.attr(\"id\");\n\t this.result_clear_highlight();\n\t if (this.is_multiple && this.max_selected_options <= this.choices_count()) {\n\t this.form_field_jq.trigger(\"liszt:maxselected\", {\n\t chosen: this\n\t });\n\t return false;\n\t }\n\t if (this.is_multiple) {\n\t high.removeClass(\"active-result\");\n\t } else {\n\t this.search_results.find(\".result-selected\").removeClass(\"result-selected\");\n\t this.result_single_selected = high;\n\t this.selected_item.removeClass(\"chzn-default\");\n\t }\n\t high.addClass(\"result-selected\");\n\t position = high_id.substr(high_id.lastIndexOf(\"_\") + 1);\n\t item = this.results_data[position];\n\t item.selected = true;\n\t this.form_field.options[item.options_index].selected = true;\n\t this.selected_option_count = null;\n\t if (this.is_multiple) {\n\t this.choice_build(item);\n\t } else {\n\t this.selected_item.find(\"span\").first().text(item.text);\n\t if (this.allow_single_deselect) {\n\t this.single_deselect_control_build();\n\t }\n\t }\n\t if (!((evt.metaKey || evt.ctrlKey) && this.is_multiple)) {\n\t this.results_hide();\n\t }\n\t this.search_field.val(\"\");\n\t if (this.is_multiple || this.form_field.selectedIndex !== this.current_selectedIndex) {\n\t this.form_field_jq.trigger(\"change\", {\n\t 'selected': this.form_field.options[item.options_index].value\n\t });\n\t }\n\t this.current_selectedIndex = this.form_field.selectedIndex;\n\t return this.search_field_scale();\n\t }\n\t };\n\t\n\t Chosen.prototype.result_activate = function(el, option) {\n\t if (option.disabled) {\n\t return el.addClass(\"disabled-result\");\n\t } else if (this.is_multiple && option.selected) {\n\t return el.addClass(\"result-selected\");\n\t } else {\n\t return el.addClass(\"active-result\");\n\t }\n\t };\n\t\n\t Chosen.prototype.result_deactivate = function(el) {\n\t return el.removeClass(\"active-result result-selected disabled-result\");\n\t };\n\t\n\t Chosen.prototype.result_deselect = function(pos) {\n\t var result, result_data;\n\t\n\t result_data = this.results_data[pos];\n\t if (!this.form_field.options[result_data.options_index].disabled) {\n\t result_data.selected = false;\n\t this.form_field.options[result_data.options_index].selected = false;\n\t this.selected_option_count = null;\n\t result = $(\"#\" + this.container_id + \"_o_\" + pos);\n\t result.removeClass(\"result-selected\").addClass(\"active-result\").show();\n\t this.result_clear_highlight();\n\t this.winnow_results();\n\t this.form_field_jq.trigger(\"change\", {\n\t deselected: this.form_field.options[result_data.options_index].value\n\t });\n\t this.search_field_scale();\n\t return true;\n\t } else {\n\t return false;\n\t }\n\t };\n\t\n\t Chosen.prototype.single_deselect_control_build = function() {\n\t if (!this.allow_single_deselect) {\n\t return;\n\t }\n\t if (!this.selected_item.find(\"abbr\").length) {\n\t this.selected_item.find(\"span\").first().after(\"\");\n\t }\n\t return this.selected_item.addClass(\"chzn-single-with-deselect\");\n\t };\n\t\n\t Chosen.prototype.winnow_results = function() {\n\t var found, option, part, parts, regex, regexAnchor, result, result_id, results, searchText, startpos, text, zregex, _i, _j, _len, _len1, _ref1;\n\t\n\t this.no_results_clear();\n\t results = 0;\n\t searchText = this.search_field.val() === this.default_text ? \"\" : $('
                ').text($.trim(this.search_field.val())).html();\n\t regexAnchor = this.search_contains ? \"\" : \"^\";\n\t regex = new RegExp(regexAnchor + searchText.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, \"\\\\$&\"), 'i');\n\t zregex = new RegExp(searchText.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, \"\\\\$&\"), 'i');\n\t _ref1 = this.results_data;\n\t for (_i = 0, _len = _ref1.length; _i < _len; _i++) {\n\t option = _ref1[_i];\n\t if (!option.empty) {\n\t if (option.group) {\n\t $('#' + option.dom_id).css('display', 'none');\n\t } else {\n\t found = false;\n\t result_id = option.dom_id;\n\t result = $(\"#\" + result_id);\n\t if (regex.test(option.html)) {\n\t found = true;\n\t results += 1;\n\t } else if (this.enable_split_word_search && (option.html.indexOf(\" \") >= 0 || option.html.indexOf(\"[\") === 0)) {\n\t parts = option.html.replace(/\\[|\\]/g, \"\").split(\" \");\n\t if (parts.length) {\n\t for (_j = 0, _len1 = parts.length; _j < _len1; _j++) {\n\t part = parts[_j];\n\t if (regex.test(part)) {\n\t found = true;\n\t results += 1;\n\t }\n\t }\n\t }\n\t }\n\t if (found) {\n\t if (searchText.length) {\n\t startpos = option.html.search(zregex);\n\t text = option.html.substr(0, startpos + searchText.length) + '' + option.html.substr(startpos + searchText.length);\n\t text = text.substr(0, startpos) + '' + text.substr(startpos);\n\t } else {\n\t text = option.html;\n\t }\n\t result.html(text);\n\t this.result_activate(result, option);\n\t if (option.group_array_index != null) {\n\t $(\"#\" + this.results_data[option.group_array_index].dom_id).css('display', 'list-item');\n\t }\n\t } else {\n\t if (this.result_highlight && result_id === this.result_highlight.attr('id')) {\n\t this.result_clear_highlight();\n\t }\n\t this.result_deactivate(result);\n\t }\n\t }\n\t }\n\t }\n\t if (results < 1 && searchText.length) {\n\t return this.no_results(searchText);\n\t } else {\n\t return this.winnow_results_set_highlight();\n\t }\n\t };\n\t\n\t Chosen.prototype.winnow_results_set_highlight = function() {\n\t var do_high, selected_results;\n\t\n\t if (!this.result_highlight) {\n\t selected_results = !this.is_multiple ? this.search_results.find(\".result-selected.active-result\") : [];\n\t do_high = selected_results.length ? selected_results.first() : this.search_results.find(\".active-result\").first();\n\t if (do_high != null) {\n\t return this.result_do_highlight(do_high);\n\t }\n\t }\n\t };\n\t\n\t Chosen.prototype.no_results = function(terms) {\n\t var no_results_html;\n\t\n\t no_results_html = $('
              • ' + this.results_none_found + ' \"\"
              • ');\n\t no_results_html.find(\"span\").first().html(terms);\n\t return this.search_results.append(no_results_html);\n\t };\n\t\n\t Chosen.prototype.no_results_clear = function() {\n\t return this.search_results.find(\".no-results\").remove();\n\t };\n\t\n\t Chosen.prototype.keydown_arrow = function() {\n\t var next_sib;\n\t\n\t if (this.results_showing && this.result_highlight) {\n\t next_sib = this.result_highlight.nextAll(\"li.active-result\").first();\n\t if (next_sib) {\n\t return this.result_do_highlight(next_sib);\n\t }\n\t } else {\n\t return this.results_show();\n\t }\n\t };\n\t\n\t Chosen.prototype.keyup_arrow = function() {\n\t var prev_sibs;\n\t\n\t if (!this.results_showing && !this.is_multiple) {\n\t return this.results_show();\n\t } else if (this.result_highlight) {\n\t prev_sibs = this.result_highlight.prevAll(\"li.active-result\");\n\t if (prev_sibs.length) {\n\t return this.result_do_highlight(prev_sibs.first());\n\t } else {\n\t if (this.choices_count() > 0) {\n\t this.results_hide();\n\t }\n\t return this.result_clear_highlight();\n\t }\n\t }\n\t };\n\t\n\t Chosen.prototype.keydown_backstroke = function() {\n\t var next_available_destroy;\n\t\n\t if (this.pending_backstroke) {\n\t this.choice_destroy(this.pending_backstroke.find(\"a\").first());\n\t return this.clear_backstroke();\n\t } else {\n\t next_available_destroy = this.search_container.siblings(\"li.search-choice\").last();\n\t if (next_available_destroy.length && !next_available_destroy.hasClass(\"search-choice-disabled\")) {\n\t this.pending_backstroke = next_available_destroy;\n\t if (this.single_backstroke_delete) {\n\t return this.keydown_backstroke();\n\t } else {\n\t return this.pending_backstroke.addClass(\"search-choice-focus\");\n\t }\n\t }\n\t }\n\t };\n\t\n\t Chosen.prototype.clear_backstroke = function() {\n\t if (this.pending_backstroke) {\n\t this.pending_backstroke.removeClass(\"search-choice-focus\");\n\t }\n\t return this.pending_backstroke = null;\n\t };\n\t\n\t Chosen.prototype.keydown_checker = function(evt) {\n\t var stroke, _ref1;\n\t\n\t stroke = (_ref1 = evt.which) != null ? _ref1 : evt.keyCode;\n\t this.search_field_scale();\n\t if (stroke !== 8 && this.pending_backstroke) {\n\t this.clear_backstroke();\n\t }\n\t switch (stroke) {\n\t case 8:\n\t this.backstroke_length = this.search_field.val().length;\n\t break;\n\t case 9:\n\t if (this.results_showing && !this.is_multiple) {\n\t this.result_select(evt);\n\t }\n\t this.mouse_on_container = false;\n\t break;\n\t case 13:\n\t evt.preventDefault();\n\t break;\n\t case 38:\n\t evt.preventDefault();\n\t this.keyup_arrow();\n\t break;\n\t case 40:\n\t evt.preventDefault();\n\t this.keydown_arrow();\n\t break;\n\t }\n\t };\n\t\n\t Chosen.prototype.search_field_scale = function() {\n\t var div, h, style, style_block, styles, w, _i, _len;\n\t\n\t if (this.is_multiple) {\n\t h = 0;\n\t w = 0;\n\t style_block = \"position:absolute; left: -1000px; top: -1000px; display:none;\";\n\t styles = ['font-size', 'font-style', 'font-weight', 'font-family', 'line-height', 'text-transform', 'letter-spacing'];\n\t for (_i = 0, _len = styles.length; _i < _len; _i++) {\n\t style = styles[_i];\n\t style_block += style + \":\" + this.search_field.css(style) + \";\";\n\t }\n\t div = $('
                ', {\n\t 'style': style_block\n\t });\n\t div.text(this.search_field.val());\n\t $('body').append(div);\n\t w = div.width() + 25;\n\t div.remove();\n\t if (!this.f_width) {\n\t this.f_width = this.container.outerWidth();\n\t }\n\t if (w > this.f_width - 10) {\n\t w = this.f_width - 10;\n\t }\n\t return this.search_field.css({\n\t 'width': w + 'px'\n\t });\n\t }\n\t };\n\t\n\t Chosen.prototype.generate_random_id = function() {\n\t var string;\n\t\n\t string = \"sel\" + this.generate_random_char() + this.generate_random_char() + this.generate_random_char();\n\t while ($(\"#\" + string).length > 0) {\n\t string += this.generate_random_char();\n\t }\n\t return string;\n\t };\n\t\n\t return Chosen;\n\t\n\t })(AbstractChosen);\n\t\n\t root.Chosen = Chosen;\n\t\n\t }).call(this);\n\t\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 67 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(3),\n\t __webpack_require__(63),\n\t __webpack_require__(22),\n\t __webpack_require__(68)\n\t], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, BaseInput, SchemaUtil, DeletableBox) {\n\t\n\t return BaseInput.extend({\n\t className: 'array-input',\n\t\n\t template: 'Add Another',\n\t\n\t params: {\n\t itemType: 'string'\n\t },\n\t\n\t events: {\n\t 'click .array-inputs-button': function (e) {\n\t e.preventDefault();\n\t if (this.isEditMode()) {\n\t this.addNewElement();\n\t }\n\t }\n\t },\n\t\n\t initialize: function (options) {\n\t options || (options = {});\n\t this.params = _.defaults(options.params || {}, this.params);\n\t this.uniqueIdPrefix = 'array';\n\t },\n\t\n\t // api returns null for an array that does not have value\n\t // convert it to an empty array\n\t from: function (val) {\n\t if (!_.isArray(val)) {\n\t return [];\n\t }\n\t return val;\n\t },\n\t\n\t // @Override\n\t editMode: function () {\n\t this._setArrayObject();\n\t this.$el.html(this.template);\n\t _.each(this.arrayObject, _.bind(this._addDeletableBox, this));\n\t\n\t return this;\n\t },\n\t\n\t // @Override\n\t readMode: function () {\n\t this.editMode();\n\t this.$('.array-inputs-button').addClass('link-button-disabled');\n\t },\n\t\n\t // @Override\n\t // converts arrayObject to a plain array\n\t // for string type array, returns all values\n\t // for number/integer type array, returns values in number type\n\t val: function () {\n\t var values = _.values(this.arrayObject);\n\t if (_.contains([SchemaUtil.DATATYPE.number, SchemaUtil.DATATYPE.integer], this.params.itemType)) {\n\t values = _.filter(values, _.isNumber);\n\t }\n\t return values;\n\t },\n\t\n\t focus: function () {},\n\t\n\t addNewElement: function () {\n\t var value = '',\n\t key = _.uniqueId(this.uniqueIdPrefix);\n\t this.arrayObject[key] = value;\n\t this._addDeletableBox(value, key);\n\t // update is called to make sure an empty string value is added for string type array\n\t this.update();\n\t },\n\t\n\t _addDeletableBox: function (value, key) {\n\t var deletableBox = new DeletableBox(\n\t _.extend(\n\t _.pick(this.options, 'read', 'readOnly', 'model'), {key: key, value: value, itemType: this.params.itemType}\n\t )\n\t );\n\t this.listenTo(deletableBox, 'updateArray', function (updatedValue) {\n\t if (_.isNull(updatedValue)) {\n\t delete this.arrayObject[key];\n\t this.stopListening(deletableBox);\n\t } else {\n\t this.arrayObject[key] = updatedValue;\n\t }\n\t this.update();\n\t });\n\t\n\t deletableBox.render().$el.hide();\n\t this.$('.array-inputs-button').before(deletableBox.el);\n\t deletableBox.$el.slideDown();\n\t\n\t return deletableBox;\n\t },\n\t\n\t _setArrayObject: function () {\n\t var array = this.model.get(this.options.name);\n\t this.arrayObject = {};\n\t if (_.isArray(array) && !_.isEmpty(array)) {\n\t var keys = [],\n\t self = this;\n\t _(array.length).times(function () {\n\t keys.push(_.uniqueId(self.uniqueIdPrefix));\n\t });\n\t this.arrayObject = _.object(keys, array);\n\t }\n\t }\n\t });\n\t}.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, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* eslint max-params: [2, 6] */\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(3),\n\t __webpack_require__(28),\n\t __webpack_require__(22),\n\t __webpack_require__(10),\n\t __webpack_require__(25),\n\t __webpack_require__(65)\n\t], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, BaseView, SchemaUtil, StringUtil, TemplateUtil, Time) {\n\t\n\t var isVowel = function (string) {\n\t return (/^[aeiou]/).test(string);\n\t };\n\t\n\t var getArticle = function (string) {\n\t return isVowel(string) ? 'an' : 'a';\n\t };\n\t\n\t var template = TemplateUtil.tpl('\\\n\t
                \\\n\t \\\n\t \\\n\t \\\n\t \\\n\t \\\n\t \\\n\t
                \\\n\t

                \\\n\t {{errorExplain}}\\\n\t

                \\\n\t '),\n\t errorClass = 'o-form-has-errors',\n\t updateArrayEvent = 'updateArray';\n\t\n\t return BaseView.extend({\n\t\n\t tagName: 'div',\n\t\n\t className: 'o-form-input-group',\n\t\n\t events: {\n\t 'click a': function (e) {\n\t e.preventDefault();\n\t this.remove();\n\t },\n\t 'keyup input': function () {\n\t this.update();\n\t }\n\t },\n\t\n\t isEditMode: function () {\n\t return !this.options.readOnly && (this.options.read !== true || this.model.get('__edit__') === true);\n\t },\n\t\n\t initialize: function () {\n\t this.template = template(\n\t _.extend(this.options, {\n\t placeholder: this.getPlaceholderText(),\n\t errorExplain: this.getErrorExplainText()\n\t })\n\t );\n\t this.update = _.debounce(this.update, this.options.debounceDelay || Time.DEBOUNCE_DELAY);\n\t },\n\t\n\t render: function () {\n\t if (this.isEditMode()) {\n\t this.$el.html(this.template);\n\t }\n\t else {\n\t this.$el.text(this.options.value);\n\t this.$('a').hide();\n\t }\n\t return this;\n\t },\n\t\n\t remove: function () {\n\t this.trigger(updateArrayEvent, null);\n\t this.$el.slideUp(_.bind(function () {\n\t BaseView.prototype.remove.call(this, arguments);\n\t }, this));\n\t },\n\t\n\t update: function () {\n\t var updatedValue = this.$('input').val(),\n\t parseFunc = _.object(\n\t [SchemaUtil.DATATYPE.number, SchemaUtil.DATATYPE.integer],\n\t [StringUtil.parseFloat, this.parseInt]\n\t );\n\t if (_.has(parseFunc, this.options.itemType)) {\n\t updatedValue = parseFunc[this.options.itemType](updatedValue);\n\t !_.isNumber(updatedValue) ? this.markInvalid() : this.clearInvalid();\n\t }\n\t this.trigger(updateArrayEvent, updatedValue);\n\t },\n\t\n\t markInvalid: function () {\n\t this.$el.addClass(errorClass);\n\t },\n\t\n\t clearInvalid: function () {\n\t this.$el.removeClass(errorClass);\n\t },\n\t\n\t getPlaceholderText: function () {\n\t var text = ['Enter'];\n\t text.push(getArticle(this.options.itemType));\n\t text.push(this.options.itemType.toLowerCase());\n\t return text.join(' ');\n\t },\n\t\n\t getErrorExplainText: function () {\n\t var text = ['Value must be'];\n\t text.push(getArticle(this.options.itemType));\n\t text.push(this.options.itemType.toLowerCase());\n\t return text.join(' ');\n\t },\n\t\n\t parseInt: function (string) {\n\t // native javascript parseInt is aggressive\n\t // there're cases we don't want a string to be parsed even though it is convertable\n\t // so that we don't convert a string silently before warning a user the potential error\n\t // this is to make sure the string is in an integer format before we parse it\n\t if (/^-?\\d+$/.test(string)) {\n\t var num = parseInt(string, 10);\n\t return !_.isNaN(num) ? num : string;\n\t }\n\t return string;\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 69 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(8),\n\t __webpack_require__(25),\n\t __webpack_require__(63),\n\t __webpack_require__(46),\n\t __webpack_require__(70),\n\t __webpack_require__(43),\n\t], __WEBPACK_AMD_DEFINE_RESULT__ = function ($, TemplateUtil, BaseInput, Keys) {\n\t\n\t var className = 'okta-form-input-field input-fix';\n\t\n\t function hasTitleAndText(options) {\n\t var title = options.title,\n\t text = options.text;\n\t\n\t return title && text && title !== text;\n\t }\n\t\n\t // options may be a string or an object.\n\t function createQtipContent(options) {\n\t if (hasTitleAndText(options)) {\n\t return options;\n\t }\n\t return {text: options.text || options};\n\t }\n\t\n\t return BaseInput.extend({\n\t template: TemplateUtil.tpl('\\\n\t {{#if params.innerTooltip}}\\\n\t \\\n\t {{/if}}\\\n\t {{#if params.icon}}\\\n\t \\\n\t {{/if}}\\\n\t \\\n\t {{#if params.iconDivider}}\\\n\t \\\n\t {{/if}}\\\n\t '),\n\t /**\n\t * @Override\n\t */\n\t events: {\n\t 'input input': 'update',\n\t 'change input': 'update',\n\t 'keydown input': 'update',\n\t 'keyup input': function (e) {\n\t if (Keys.isEnter(e)) {\n\t this.model.trigger('form:save');\n\t }\n\t else if (Keys.isEsc(e)) {\n\t this.model.trigger('form:cancel');\n\t }\n\t }\n\t },\n\t\n\t constructor: function () {\n\t BaseInput.apply(this, arguments);\n\t this.$el.addClass('o-form-control');\n\t },\n\t\n\t /**\n\t * @Override\n\t */\n\t editMode: function () {\n\t this.$el.addClass(className);\n\t BaseInput.prototype.editMode.apply(this, arguments);\n\t this.$('input').placeholder();\n\t },\n\t\n\t /**\n\t * @Override\n\t */\n\t readMode: function () {\n\t BaseInput.prototype.readMode.apply(this, arguments);\n\t if (this.options.type == 'password') {\n\t this.$el.text('********');\n\t }\n\t this.$el.removeClass(className);\n\t },\n\t\n\t /**\n\t * @Override\n\t */\n\t val: function () {\n\t //IE will only read clear text pw if type=\"password\" is explicitly in selector\n\t var inputValue = this.$('input[type=\"' + this.options.type + '\"]').val();\n\t\n\t if (this.options.type !== 'password') {\n\t inputValue = $.trim(inputValue);\n\t }\n\t return inputValue;\n\t },\n\t\n\t /**\n\t * @Override\n\t */\n\t focus: function () {\n\t return this.$('input').focus();\n\t },\n\t\n\t postRender: function () {\n\t var params = this.options.params,\n\t content;\n\t\n\t if (params && params.innerTooltip) {\n\t content = createQtipContent(params.innerTooltip);\n\t this.$('.input-tooltip').qtip({\n\t content: content,\n\t style: {classes: 'okta-tooltip qtip-custom qtip-shadow'},\n\t position: {\n\t my: 'bottom left',\n\t // Note: qTip2 has a known issue calculating the tooltip offset when:\n\t // 1. A container element has both:\n\t // a) position: relative/absolute\n\t // b) overlay: value other than 'visible'\n\t // 2. The page is scrolled\n\t //\n\t // We set position:relative and overlay:auto on the body element,\n\t // where both are required for:\n\t // - Positioning the footer correctly\n\t // - Displaying long pages in embedded browsers\n\t //\n\t // The original design called for a fixed position relative to the\n\t // tooltip icon - this has been switched to \"relative to mouse, and\n\t // update position when mouse moves\" because of this constraint.\n\t target: 'mouse',\n\t adjust: {\n\t method: 'flip',\n\t mouse: true,\n\t y: -5,\n\t x: 5\n\t },\n\t viewport: $('body')\n\t }\n\t });\n\t }\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 70 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! http://mths.be/placeholder v2.0.7 by @mathias */\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(9)], __WEBPACK_AMD_DEFINE_RESULT__ = function($){\n\t\n\t\tvar isInputSupported = 'placeholder' in document.createElement('input'),\n\t\t isTextareaSupported = 'placeholder' in document.createElement('textarea'),\n\t\t prototype = $.fn,\n\t\t valHooks = $.valHooks,\n\t\t hooks,\n\t\t placeholder;\n\t\n\t\tif (isInputSupported && isTextareaSupported) {\n\t\n\t\t\tplaceholder = prototype.placeholder = function() {\n\t\t\t\treturn this;\n\t\t\t};\n\t\n\t\t\tplaceholder.input = placeholder.textarea = true;\n\t\n\t\t} else {\n\t\n\t\t\tplaceholder = prototype.placeholder = function() {\n\t\t\t\tvar $this = this;\n\t\t\t\t$this\n\t\t\t\t\t.filter((isInputSupported ? 'textarea' : ':input') + '[placeholder]')\n\t\t\t\t\t.not('.placeholder')\n\t\t\t\t\t.bind({\n\t\t\t\t\t\t'focus.placeholder': clearPlaceholder,\n\t\t\t\t\t\t'blur.placeholder': setPlaceholder\n\t\t\t\t\t})\n\t\t\t\t\t.data('placeholder-enabled', true)\n\t\t\t\t\t.trigger('blur.placeholder');\n\t\t\t\treturn $this;\n\t\t\t};\n\t\n\t\t\tplaceholder.input = isInputSupported;\n\t\t\tplaceholder.textarea = isTextareaSupported;\n\t\n\t\t\thooks = {\n\t\t\t\t'get': function(element) {\n\t\t\t\t\tvar $element = $(element);\n\t\t\t\t\treturn $element.data('placeholder-enabled') && $element.hasClass('placeholder') ? '' : element.value;\n\t\t\t\t},\n\t\t\t\t'set': function(element, value) {\n\t\t\t\t\tvar $element = $(element);\n\t\t\t\t\tif (!$element.data('placeholder-enabled')) {\n\t\t\t\t\t\treturn element.value = value;\n\t\t\t\t\t}\n\t\t\t\t\tif (value == '') {\n\t\t\t\t\t\telement.value = value;\n\t\t\t\t\t\t// Issue #56: Setting the placeholder causes problems if the element continues to have focus.\n\t\t\t\t\t\tif (element != document.activeElement) {\n\t\t\t\t\t\t\t// We can't use `triggerHandler` here because of dummy text/password inputs :(\n\t\t\t\t\t\t\tsetPlaceholder.call(element);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if ($element.hasClass('placeholder')) {\n\t\t\t\t\t\tclearPlaceholder.call(element, true, value) || (element.value = value);\n\t\t\t\t\t} else {\n\t\t\t\t\t\telement.value = value;\n\t\t\t\t\t}\n\t\t\t\t\t// `set` can not return `undefined`; see http://jsapi.info/jquery/1.7.1/val#L2363\n\t\t\t\t\treturn $element;\n\t\t\t\t}\n\t\t\t};\n\t\n\t\t\tisInputSupported || (valHooks.input = hooks);\n\t\t\tisTextareaSupported || (valHooks.textarea = hooks);\n\t\n\t\t\t$(function() {\n\t\t\t\t// Look for forms\n\t\t\t\t$(document).delegate('form', 'submit.placeholder', function() {\n\t\t\t\t\t// Clear the placeholder values so they don't get submitted\n\t\t\t\t\tvar $inputs = $('.placeholder', this).each(clearPlaceholder);\n\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\t$inputs.each(setPlaceholder);\n\t\t\t\t\t}, 10);\n\t\t\t\t});\n\t\t\t});\n\t\n\t\t\t// Clear placeholder values upon page reload\n\t\t\t$(window).bind('beforeunload.placeholder', function() {\n\t\t\t\t$('.placeholder').each(function() {\n\t\t\t\t\tthis.value = '';\n\t\t\t\t});\n\t\t\t});\n\t\n\t\t}\n\t\n\t\tfunction args(elem) {\n\t\t\t// Return an object of element attributes\n\t\t\tvar newAttrs = {},\n\t\t\t rinlinejQuery = /^jQuery\\d+$/;\n\t\t\t$.each(elem.attributes, function(i, attr) {\n\t\t\t\tif (attr.specified && !rinlinejQuery.test(attr.name)) {\n\t\t\t\t\tnewAttrs[attr.name] = attr.value;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn newAttrs;\n\t\t}\n\t\n\t\tfunction clearPlaceholder(event, value) {\n\t\t\tvar input = this,\n\t\t\t $input = $(input);\n\t\t\tif (input.value == $input.attr('placeholder') && $input.hasClass('placeholder')) {\n\t\t\t\tif ($input.data('placeholder-password')) {\n\t\t\t\t\t$input = $input.hide().next().show().attr('id', $input.removeAttr('id').data('placeholder-id'));\n\t\t\t\t\t// If `clearPlaceholder` was called from `$.valHooks.input.set`\n\t\t\t\t\tif (event === true) {\n\t\t\t\t\t\treturn $input[0].value = value;\n\t\t\t\t\t}\n\t\t\t\t\t$input.focus();\n\t\t\t\t} else {\n\t\t\t\t\tinput.value = '';\n\t\t\t\t\t$input.removeClass('placeholder');\n\t\t\t\t\tinput == document.activeElement && input.select();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\n\t\tfunction setPlaceholder() {\n\t\t\tvar $replacement,\n\t\t\t input = this,\n\t\t\t $input = $(input),\n\t\t\t $origInput = $input,\n\t\t\t id = this.id;\n\t\t\tif (input.value == '') {\n\t\t\t\tif (input.type == 'password') {\n\t\t\t\t\tif (!$input.data('placeholder-textinput')) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t$replacement = $input.clone().attr({ 'type': 'text' });\n\t\t\t\t\t\t} catch(e) {\n\t\t\t\t\t\t\t$replacement = $('').attr($.extend(args(this), { 'type': 'text' }));\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$replacement\n\t\t\t\t\t\t\t.removeAttr('name')\n\t\t\t\t\t\t\t.data({\n\t\t\t\t\t\t\t\t'placeholder-password': true,\n\t\t\t\t\t\t\t\t'placeholder-id': id\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.bind('focus.placeholder', clearPlaceholder);\n\t\t\t\t\t\t$input\n\t\t\t\t\t\t\t.data({\n\t\t\t\t\t\t\t\t'placeholder-textinput': $replacement,\n\t\t\t\t\t\t\t\t'placeholder-id': id\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.before($replacement);\n\t\t\t\t\t}\n\t\t\t\t\t$input = $input.removeAttr('id').hide().prev().attr('id', id).show();\n\t\t\t\t\t// Note: `$input[0] != input` now!\n\t\t\t\t}\n\t\t\t\t$input.addClass('placeholder');\n\t\t\t\t$input[0].value = $input.attr('placeholder');\n\t\t\t} else {\n\t\t\t\t$input.removeClass('placeholder');\n\t\t\t}\n\t\t}\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 71 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!\n\t * Copyright (c) 2015-2018, Okta, Inc. and/or its affiliates. All rights reserved.\n\t * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n\t *\n\t * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n\t * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t *\n\t * See the License for the specific language governing permissions and limitations under the License.\n\t */\n\t\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(3),\n\t __webpack_require__(25),\n\t __webpack_require__(69)\n\t], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, TemplateUtil, TextBox) {\n\t\n\t var toggleTemplate = TemplateUtil.tpl('\\\n\t \\\n\t \\\n\t \\\n\t \\\n\t ');\n\t\n\t var toggleTimeout = 30000;\n\t\n\t return TextBox.extend({\n\t initialize: function () {\n\t if (this.__showPasswordToggle()) {\n\t this.events['click .password-toggle .button-show'] = '__showPassword';\n\t this.events['click .password-toggle .button-hide'] = '__hidePassword';\n\t }\n\t this.delegateEvents();\n\t },\n\t\n\t postRender: function () {\n\t if (this.isEditMode() && this.__showPasswordToggle()) {\n\t this.$el.append(toggleTemplate);\n\t this.$el.find('input[type=\"password\"]').addClass('password-with-toggle');\n\t }\n\t TextBox.prototype.postRender.apply(this, arguments);\n\t },\n\t\n\t __showPasswordToggle: function () {\n\t return (this.options.params && this.options.params.showPasswordToggle);\n\t },\n\t\n\t __showPassword: function () {\n\t TextBox.prototype.changeType.apply(this, ['text']);\n\t this.$('.password-toggle .button-show').hide();\n\t this.$('.password-toggle .button-hide').show();\n\t this.passwordToggleTimer = _.delay(() => {\n\t this.__hidePassword();\n\t }, toggleTimeout);\n\t },\n\t\n\t __hidePassword: function () {\n\t TextBox.prototype.changeType.apply(this, ['password']);\n\t this.$('.password-toggle .button-show').show();\n\t this.$('.password-toggle .button-hide').hide();\n\t // clear timeout\n\t if (this.passwordToggleTimer) {\n\t clearTimeout(this.passwordToggleTimer);\n\t }\n\t }\n\t });\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ },\n/* 72 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(3),\n\t __webpack_require__(46),\n\t __webpack_require__(25),\n\t __webpack_require__(63),\n\t __webpack_require__(73)\n\t], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, Keys, TemplateUtil, BaseInput) {\n\t\n\t var template = TemplateUtil.tpl('\\\n\t \\\n\t \\\n\t ');\n\t\n\t return BaseInput.extend({\n\t template: template,\n\t /**\n\t * @Override\n\t */\n\t events: {\n\t 'change :checkbox': 'update',\n\t 'keyup': function (e) {\n\t if (Keys.isSpaceBar(e)) {\n\t this.$(':checkbox').click();\n\t }\n\t else if (Keys.isEnter(e)) {\n\t this.model.trigger('form:save');\n\t }\n\t }\n\t },\n\t\n\t /**\n\t * @Override\n\t */\n\t editMode: function () {\n\t var placeholder = _.resultCtx(this.options, 'placeholder', this);\n\t if (placeholder === '') {\n\t placeholder = _.resultCtx(this.options, 'label', this);\n\t } else if (placeholder === false) {\n\t placeholder = '';\n\t }\n\t\n\t this.$el.html(this.template(_.extend(_.omit(this.options, 'placeholder'), { placeholder: placeholder })));\n\t var $input = this.$(':checkbox');\n\t $input.prop('checked', this.getModelValue() || false);\n\t\n\t this.$('input').customInput();\n\t this.model.trigger('form:resize');\n\t\n\t return this;\n\t },\n\t\n\t /**\n\t * @Override\n\t */\n\t readMode: function () {\n\t this.editMode();\n\t this.$(':checkbox').prop('disabled', true);\n\t return this;\n\t },\n\t\n\t /**\n\t * @Override\n\t */\n\t val: function () {\n\t return this.$(':checkbox').prop('checked');\n\t },\n\t\n\t /**\n\t * @Override\n\t */\n\t focus: function () {\n\t return this.$(':checkbox').focus();\n\t }\n\t\n\t });\n\t\n\t}.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, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * There are following local modifications:\n\t * - Author: Uzi Kilon ukilon@okta.com\n\t * Bug: OKTA-20830 - solves the conflict when there are multiple labels\n\t */\n\t/**\n\t * --------------------------------------------------------------------\n\t * jQuery customInput plugin\n\t * Author: Maggie Costello Wachs maggie@filamentgroup.com, Scott Jehl, scott@filamentgroup.com\n\t * Copyright (c) 2009 Filament Group\n\t * licensed under MIT (filamentgroup.com/examples/mit-license.txt)\n\t * --------------------------------------------------------------------\n\t*/\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(9)], __WEBPACK_AMD_DEFINE_RESULT__ = function (jQuery) {\n\t var $ = jQuery;\n\t jQuery.fn.customInput = function(){\n\t return $(this).each(function(){\n\t if($(this).is('[type=checkbox],[type=radio]')){\n\t var input = $(this);\n\t\n\t // get the associated label using the input's id\n\t var label = input.siblings('label[for=\"'+input.attr('id')+'\"]:first');\n\t if (!label.length) {\n\t label = input.closest('label[for=\"'+input.attr('id')+'\"]:first');\n\t }\n\t // wrap the input + label in a div\n\t input.add(label).wrapAll('
                ');\n\t\n\t // necessary for browsers that don't support the :hover pseudo class on labels\n\t label.hover(\n\t function(){ $(this).addClass('hover'); },\n\t function(){ $(this).removeClass('hover'); }\n\t );\n\t\n\t //bind custom event, trigger it, bind click,focus,blur events\n\t input.bind('updateState', function(){\n\t input.is(':checked') ? label.addClass('checked') : label.removeClass('checked checkedHover checkedFocus');\n\t })\n\t .trigger('updateState')\n\t .click(function(){\n\t $('input[name=\"'+ $(this).attr('name') +'\"]').trigger('updateState');\n\t })\n\t .focus(function(){\n\t label.addClass('focus');\n\t if(input.is(':checked')){ $(this).addClass('checkedFocus'); }\n\t })\n\t .blur(function(){ label.removeClass('focus checkedFocus'); });\n\t }\n\t });\n\t };\n\t\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ },\n/* 74 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* eslint max-statements: [2, 12], max-params: [2, 6] */\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(3),\n\t __webpack_require__(8),\n\t __webpack_require__(46),\n\t __webpack_require__(39),\n\t __webpack_require__(63),\n\t __webpack_require__(28),\n\t __webpack_require__(73)\n\t], __WEBPACK_AMD_DEFINE_RESULT__ = function (_, $, Keys, Util, BaseInput, BaseView) {\n\t\n\t var isABaseView = Util.isABaseView;\n\t\n\t var RadioOption = BaseView.extend({\n\t template: '\\\n\t \\\n\t \\\n\t ',\n\t initialize: function (options) {\n\t var explain;\n\t\n\t explain = options.explain;\n\t if (_.isFunction(explain) && !isABaseView(explain)) {\n\t explain = _.resultCtx(this.options, 'explain', this);\n\t }\n\t if (!explain) {\n\t return;\n\t }\n\t\n\t if (isABaseView(explain)) {\n\t this.add('

                ', '.radio-label');\n\t this.add(explain, '.o-form-explain');\n\t }\n\t else {\n\t this.add('

                {{explain}}

                ', '.radio-label');\n\t }\n\t }\n\t });\n\t\n\t return BaseInput.extend({\n\t\n\t /**\n\t * @Override\n\t */\n\t events: {\n\t 'change :radio': 'update',\n\t 'keyup': function (e) {\n\t if (Keys.isSpaceBar(e)) {\n\t $(e.target).click();\n\t }\n\t else if (Keys.isEnter(e)) {\n\t this.model.trigger('form:save');\n\t }\n\t }\n\t },\n\t\n\t /**\n\t * @Override\n\t */\n\t editMode: function () {\n\t var templates = [];\n\t this.$el.empty();\n\t\n\t _.each(this.options.options, function (value, key) {\n\t var options = {\n\t optionId: _.uniqueId('option'),\n\t name: this.options.inputId,\n\t realName: this.options.name,\n\t value: key\n\t };\n\t\n\t if (!_.isObject(value)) {\n\t value = { label: value };\n\t }\n\t _.extend(options, value);\n\t\n\t templates.push(new RadioOption(options).render().el);\n\t }, this);\n\t this.$el.append(templates);\n\t var value = this.getModelValue();\n\t if (value) {\n\t this.$(':radio[value=' + value + ']').prop('checked', true);\n\t }\n\t\n\t this.$('input').customInput();\n\t this.model.trigger('form:resize');\n\t\n\t if (this.getParam('inline') === true) {\n\t this.$('div.custom-radio').addClass('inline');\n\t }\n\t\n\t return this;\n\t },\n\t\n\t /**\n\t * @Override\n\t */\n\t readMode: function () {\n\t this.editMode();\n\t this.$(':radio').prop('disabled', true);\n\t return this;\n\t },\n\t\n\t /**\n\t * @Override\n\t */\n\t val: function () {\n\t return this.$(':radio:checked').val();\n\t },\n\t\n\t /**\n\t * @Override\n\t */\n\t focus: function () {\n\t return this.$('label:eq(0)').focus();\n\t }\n\t\n\t });\n\t\n\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n\n/***/ }\n/******/ ])\n});\n;\n//# sourceMappingURL=courage-for-signin-widget.js.map\n\n\n/** WEBPACK FOOTER **\n ** ./packages/@okta/courage-for-signin-widget.js\n **/","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\tmodule.children = [];\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 = 332\n ** module chunks = 0\n **/","module.exports = { \"default\": require(\"core-js/library/fn/json/stringify\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/json/stringify.js\n ** module id = 333\n ** module chunks = 0\n **/","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 ** ./~/core-js/library/fn/json/stringify.js\n ** module id = 334\n ** module chunks = 0\n **/","var core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_core.js\n ** module id = 335\n ** module chunks = 0\n **/","\"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 ** ./~/babel-runtime/helpers/typeof.js\n ** module id = 336\n ** module chunks = 0\n **/","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/symbol/iterator.js\n ** module id = 337\n ** module chunks = 0\n **/","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 ** ./~/core-js/library/fn/symbol/iterator.js\n ** module id = 338\n ** module chunks = 0\n **/","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.string.iterator.js\n ** module id = 339\n ** module chunks = 0\n **/","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_string-at.js\n ** module id = 340\n ** module chunks = 0\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/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_to-integer.js\n ** module id = 341\n ** module chunks = 0\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/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_defined.js\n ** module id = 342\n ** module chunks = 0\n **/","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iter-define.js\n ** module id = 343\n ** module chunks = 0\n **/","module.exports = true;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_library.js\n ** module id = 344\n ** module chunks = 0\n **/","var global = require('./_global');\nvar core = require('./_core');\nvar ctx = require('./_ctx');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var IS_WRAP = type & $export.W;\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE];\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n var key, own, out;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if (own && has(exports, key)) continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function (C) {\n var F = function (a, b, c) {\n if (this instanceof C) {\n switch (arguments.length) {\n case 0: return new C();\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if (IS_PROTO) {\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_export.js\n ** module id = 345\n ** module chunks = 0\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/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_global.js\n ** module id = 346\n ** module chunks = 0\n **/","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_ctx.js\n ** module id = 347\n ** module chunks = 0\n **/","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 ** ./~/core-js/library/modules/_a-function.js\n ** module id = 348\n ** module chunks = 0\n **/","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_hide.js\n ** module id = 349\n ** module chunks = 0\n **/","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-dp.js\n ** module id = 350\n ** module chunks = 0\n **/","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_an-object.js\n ** module id = 351\n ** module chunks = 0\n **/","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_is-object.js\n ** module id = 352\n ** module chunks = 0\n **/","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_ie8-dom-define.js\n ** module id = 353\n ** module chunks = 0\n **/","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_descriptors.js\n ** module id = 354\n ** module chunks = 0\n **/","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 ** ./~/core-js/library/modules/_fails.js\n ** module id = 355\n ** module chunks = 0\n **/","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_dom-create.js\n ** module id = 356\n ** module chunks = 0\n **/","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_to-primitive.js\n ** module id = 357\n ** module chunks = 0\n **/","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_property-desc.js\n ** module id = 358\n ** module chunks = 0\n **/","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_has.js\n ** module id = 359\n ** module chunks = 0\n **/","module.exports = require('./_hide');\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_redefine.js\n ** module id = 360\n ** module chunks = 0\n **/","module.exports = {};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iterators.js\n ** module id = 361\n ** module chunks = 0\n **/","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iter-create.js\n ** module id = 362\n ** module chunks = 0\n **/","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-create.js\n ** module id = 363\n ** module chunks = 0\n **/","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 ** ./~/core-js/library/modules/_object-dps.js\n ** module id = 364\n ** module chunks = 0\n **/","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-keys.js\n ** module id = 365\n ** module chunks = 0\n **/","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-keys-internal.js\n ** module id = 366\n ** module chunks = 0\n **/","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_to-iobject.js\n ** module id = 367\n ** module chunks = 0\n **/","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iobject.js\n ** module id = 368\n ** module chunks = 0\n **/","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 ** ./~/core-js/library/modules/_cof.js\n ** module id = 369\n ** module chunks = 0\n **/","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_array-includes.js\n ** module id = 370\n ** module chunks = 0\n **/","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_to-length.js\n ** module id = 371\n ** module chunks = 0\n **/","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_to-absolute-index.js\n ** module id = 372\n ** module chunks = 0\n **/","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 ** ./~/core-js/library/modules/_shared-key.js\n ** module id = 373\n ** module chunks = 0\n **/","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2018 Denis Pushkarev (zloirock.ru)'\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_shared.js\n ** module id = 374\n ** module chunks = 0\n **/","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_uid.js\n ** module id = 375\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/library/modules/_enum-bug-keys.js\n ** module id = 376\n ** module chunks = 0\n **/","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_html.js\n ** module id = 377\n ** module chunks = 0\n **/","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_set-to-string-tag.js\n ** module id = 378\n ** module chunks = 0\n **/","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_wks.js\n ** module id = 379\n ** module chunks = 0\n **/","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-gpo.js\n ** module id = 380\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/library/modules/_to-object.js\n ** module id = 381\n ** module chunks = 0\n **/","require('./es6.array.iterator');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar TO_STRING_TAG = require('./_wks')('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n 'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n var NAME = DOMIterables[i];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/web.dom.iterable.js\n ** module id = 382\n ** module chunks = 0\n **/","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.array.iterator.js\n ** module id = 383\n ** module chunks = 0\n **/","module.exports = function () { /* empty */ };\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_add-to-unscopables.js\n ** module id = 384\n ** module chunks = 0\n **/","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iter-step.js\n ** module id = 385\n ** module chunks = 0\n **/","exports.f = require('./_wks');\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_wks-ext.js\n ** module id = 386\n ** module chunks = 0\n **/","module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/symbol.js\n ** module id = 387\n ** module chunks = 0\n **/","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/symbol/index.js\n ** module id = 388\n ** module chunks = 0\n **/","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar 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 $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';\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 require('./_object-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// 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 ** ./~/core-js/library/modules/es6.symbol.js\n ** module id = 389\n ** module chunks = 0\n **/","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_meta.js\n ** module id = 390\n ** module chunks = 0\n **/","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_wks-define.js\n ** module id = 391\n ** module chunks = 0\n **/","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_enum-keys.js\n ** module id = 392\n ** module chunks = 0\n **/","exports.f = Object.getOwnPropertySymbols;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-gops.js\n ** module id = 393\n ** module chunks = 0\n **/","exports.f = {}.propertyIsEnumerable;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-pie.js\n ** module id = 394\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/library/modules/_is-array.js\n ** module id = 395\n ** module chunks = 0\n **/","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-gopn-ext.js\n ** module id = 396\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/library/modules/_object-gopn.js\n ** module id = 397\n ** module chunks = 0\n **/","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-gopd.js\n ** module id = 398\n ** module chunks = 0\n **/","require('./_wks-define')('asyncIterator');\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es7.symbol.async-iterator.js\n ** module id = 400\n ** module chunks = 0\n **/","require('./_wks-define')('observable');\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es7.symbol.observable.js\n ** module id = 401\n ** module chunks = 0\n **/","/**!\n\n @license\n handlebars v4.0.11\n\nCopyright (C) 2011-2017 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__(35);\n\n\tvar _handlebarsCompilerAst2 = _interopRequireDefault(_handlebarsCompilerAst);\n\n\tvar _handlebarsCompilerBase = __webpack_require__(36);\n\n\tvar _handlebarsCompilerCompiler = __webpack_require__(41);\n\n\tvar _handlebarsCompilerJavascriptCompiler = __webpack_require__(42);\n\n\tvar _handlebarsCompilerJavascriptCompiler2 = _interopRequireDefault(_handlebarsCompilerJavascriptCompiler);\n\n\tvar _handlebarsCompilerVisitor = __webpack_require__(39);\n\n\tvar _handlebarsCompilerVisitor2 = _interopRequireDefault(_handlebarsCompilerVisitor);\n\n\tvar _handlebarsNoConflict = __webpack_require__(34);\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\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__(21);\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__(22);\n\n\tvar runtime = _interopRequireWildcard(_handlebarsRuntime);\n\n\tvar _handlebarsNoConflict = __webpack_require__(34);\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__(18);\n\n\tvar _logger = __webpack_require__(20);\n\n\tvar _logger2 = _interopRequireDefault(_logger);\n\n\tvar VERSION = '4.0.11';\n\texports.VERSION = VERSION;\n\tvar COMPILER_REVISION = 7;\n\n\texports.COMPILER_REVISION = 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'\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\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\n\tvar errorProps = ['description', 'fileName', 'lineNumber', 'message', 'name', 'number', 'stack'];\n\n\tfunction Exception(message, node) {\n\t var loc = node && node.loc,\n\t line = undefined,\n\t column = undefined;\n\t if (loc) {\n\t line = loc.start.line;\n\t column = loc.start.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\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 } else {\n\t this.column = column;\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\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__(13);\n\n\tvar _helpersHelperMissing2 = _interopRequireDefault(_helpersHelperMissing);\n\n\tvar _helpersIf = __webpack_require__(14);\n\n\tvar _helpersIf2 = _interopRequireDefault(_helpersIf);\n\n\tvar _helpersLog = __webpack_require__(15);\n\n\tvar _helpersLog2 = _interopRequireDefault(_helpersLog);\n\n\tvar _helpersLookup = __webpack_require__(16);\n\n\tvar _helpersLookup2 = _interopRequireDefault(_helpersLookup);\n\n\tvar _helpersWith = __webpack_require__(17);\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/***/ }),\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'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('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 {\n\t var priorKey = undefined;\n\n\t for (var key in context) {\n\t if (context.hasOwnProperty(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 }\n\t if (priorKey !== undefined) {\n\t execIteration(priorKey, i - 1, true);\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\n/***/ }),\n/* 13 */\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/* 14 */\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('if', function (conditional, options) {\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 return instance.helpers['if'].call(this, conditional, { fn: options.inverse, inverse: options.fn, hash: options.hash });\n\t });\n\t};\n\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 15 */\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/* 16 */\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) {\n\t return obj && obj[field];\n\t });\n\t};\n\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 17 */\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('with', function (context, options) {\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/* 18 */\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__(19);\n\n\tvar _decoratorsInline2 = _interopRequireDefault(_decoratorsInline);\n\n\tfunction registerDefaultDecorators(instance) {\n\t _decoratorsInline2['default'](instance);\n\t}\n\n/***/ }),\n/* 19 */\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/* 20 */\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 if (!console[method]) {\n\t // eslint-disable-line no-console\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/* 21 */\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/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar _Object$seal = __webpack_require__(23)['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\tfunction checkRevision(compilerInfo) {\n\t var compilerRevision = compilerInfo && compilerInfo[0] || 1,\n\t currentRevision = _base.COMPILER_REVISION;\n\n\t if (compilerRevision !== currentRevision) {\n\t if (compilerRevision < currentRevision) {\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\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 psuedo-supported APIs.\n\t env.VM.checkRevision(templateSpec.compiler);\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\n\t partial = env.VM.resolvePartial.call(this, partial, context, options);\n\t var result = env.VM.invokePartial.call(this, partial, context, options);\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, options);\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) {\n\t if (!(name in obj)) {\n\t throw new _exception2['default']('\"' + name + '\" not defined in ' + obj);\n\t }\n\t return obj[name];\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 if (depths[i] && depths[i][name] != 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 merge: function merge(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\t main = executeDecorators(templateSpec.main, main, container, options.depths || [], data, blockParams);\n\t return main(context, options);\n\t }\n\t ret.isTop = true;\n\n\t ret._setup = function (options) {\n\t if (!options.partial) {\n\t container.helpers = container.merge(options.helpers, env.helpers);\n\n\t if (templateSpec.usePartial) {\n\t container.partials = container.merge(options.partials, env.partials);\n\t }\n\t if (templateSpec.usePartial || templateSpec.useDecorators) {\n\t container.decorators = container.merge(options.decorators, env.decorators);\n\t }\n\t } else {\n\t container.helpers = options.helpers;\n\t container.partials = options.partials;\n\t container.decorators = options.decorators;\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\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/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(24), __esModule: true };\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(25);\n\tmodule.exports = __webpack_require__(30).Object.seal;\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.17 Object.seal(O)\n\tvar isObject = __webpack_require__(26);\n\n\t__webpack_require__(27)('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/* 26 */\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/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// most Object methods by ES6 should accept primitives\n\tvar $export = __webpack_require__(28)\n\t , core = __webpack_require__(30)\n\t , fails = __webpack_require__(33);\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/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar global = __webpack_require__(29)\n\t , core = __webpack_require__(30)\n\t , ctx = __webpack_require__(31)\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/* 29 */\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/* 30 */\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/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// optional / simple context binding\n\tvar aFunction = __webpack_require__(32);\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/* 32 */\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/* 33 */\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/* 34 */\n/***/ (function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {/* global window */\n\t'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/* 35 */\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/* 36 */\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.parse = parse;\n\n\tvar _parser = __webpack_require__(37);\n\n\tvar _parser2 = _interopRequireDefault(_parser);\n\n\tvar _whitespaceControl = __webpack_require__(38);\n\n\tvar _whitespaceControl2 = _interopRequireDefault(_whitespaceControl);\n\n\tvar _helpers = __webpack_require__(40);\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 parse(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 strip = new _whitespaceControl2['default'](options);\n\t return strip.accept(_parser2['default'].parse(input));\n\t}\n\n/***/ }),\n/* 37 */\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_repetition_plus0\": 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, 1], [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\t /**/) {\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.$ = [$$[$0]];\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] }, { 13: 40, 15: [1, 20], 17: 39 }, { 20: 42, 56: 41, 64: 43, 65: [1, 44], 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: 45, 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: 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: 48, 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: 42, 56: 49, 64: 43, 65: [1, 44], 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: 50, 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, 51] }, { 72: [1, 35], 86: 52 }, { 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: 53, 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: 54, 38: 56, 39: [1, 58], 43: 57, 44: [1, 59], 45: 55, 47: [2, 54] }, { 28: 60, 43: 61, 44: [1, 59], 47: [2, 56] }, { 13: 63, 15: [1, 20], 18: [1, 62] }, { 15: [2, 48], 18: [2, 48] }, { 33: [2, 86], 57: 64, 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: 65, 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: 66, 47: [1, 67] }, { 30: 68, 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: 69, 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: 70, 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: 71, 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: 75, 33: [2, 80], 50: 72, 63: 73, 64: 76, 65: [1, 44], 69: 74, 70: 77, 71: 78, 72: [1, 79], 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, 80] }, { 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, 51] }, { 20: 75, 53: 81, 54: [2, 84], 63: 82, 64: 76, 65: [1, 44], 69: 83, 70: 77, 71: 78, 72: [1, 79], 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: 84, 47: [1, 67] }, { 47: [2, 55] }, { 4: 85, 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: 86, 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: 87, 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: 88, 47: [1, 67] }, { 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: 75, 33: [2, 88], 58: 89, 63: 90, 64: 76, 65: [1, 44], 69: 91, 70: 77, 71: 78, 72: [1, 79], 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: 92, 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: 93, 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: 75, 31: 94, 33: [2, 60], 63: 95, 64: 76, 65: [1, 44], 69: 96, 70: 77, 71: 78, 72: [1, 79], 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: 75, 33: [2, 66], 36: 97, 63: 98, 64: 76, 65: [1, 44], 69: 99, 70: 77, 71: 78, 72: [1, 79], 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: 75, 22: 100, 23: [2, 52], 63: 101, 64: 76, 65: [1, 44], 69: 102, 70: 77, 71: 78, 72: [1, 79], 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: 75, 33: [2, 92], 62: 103, 63: 104, 64: 76, 65: [1, 44], 69: 105, 70: 77, 71: 78, 72: [1, 79], 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, 106] }, { 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: 107, 72: [1, 108], 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, 109], 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, 110] }, { 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: 56, 39: [1, 58], 43: 57, 44: [1, 59], 45: 112, 46: 111, 47: [2, 76] }, { 33: [2, 70], 40: 113, 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, 114] }, { 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: 75, 63: 116, 64: 76, 65: [1, 44], 67: 115, 68: [2, 96], 69: 117, 70: 77, 71: 78, 72: [1, 79], 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, 118] }, { 32: 119, 33: [2, 62], 74: 120, 75: [1, 121] }, { 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: 122, 74: 123, 75: [1, 121] }, { 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, 124] }, { 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, 125] }, { 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, 109] }, { 20: 75, 63: 126, 64: 76, 65: [1, 44], 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: 75, 33: [2, 72], 41: 127, 63: 128, 64: 76, 65: [1, 44], 69: 129, 70: 77, 71: 78, 72: [1, 79], 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, 130] }, { 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, 131] }, { 33: [2, 63] }, { 72: [1, 133], 76: 132 }, { 33: [1, 134] }, { 33: [2, 69] }, { 15: [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: 135, 74: 136, 75: [1, 121] }, { 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, 138], 77: [1, 137] }, { 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, 139] }, { 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], 55: [2, 55], 57: [2, 20], 61: [2, 57], 74: [2, 81], 83: [2, 85], 87: [2, 18], 91: [2, 89], 102: [2, 53], 105: [2, 93], 111: [2, 19], 112: [2, 77], 117: [2, 97], 120: [2, 63], 123: [2, 69], 124: [2, 12], 136: [2, 75], 137: [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\t /**/) {\n\n\t function strip(start, end) {\n\t return yy_.yytext = yy_.yytext.substr(start, yy_.yyleng - end);\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 yy_.yytext = yy_.yytext.substr(5, yy_.yyleng - 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/* 38 */\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__(39);\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 preceeded 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/* 39 */\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/* 40 */\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.substr(1, token.length - 2);\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\t depthString = '';\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 depthString += '../';\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/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* eslint-disable new-cap */\n\n\t'use strict';\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__(35);\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 // These changes will propagate to the other compiler components\n\t var knownHelpers = options.knownHelpers;\n\t options.knownHelpers = {\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 };\n\t if (knownHelpers) {\n\t for (var _name in knownHelpers) {\n\t /* istanbul ignore else */\n\t if (_name in knownHelpers) {\n\t this.options.knownHelpers[_name] = knownHelpers[_name];\n\t }\n\t }\n\t }\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({ opcode: name, args: slice.call(arguments, 1), loc: this.sourceNode[0].loc });\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 _name2 = sexpr.path.parts[0],\n\t options = this.options;\n\n\t if (options.knownHelpers[_name2]) {\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/* 42 */\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 _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__(43);\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 if (JavaScriptCompiler.isValidJavaScriptVariableName(name)) {\n\t return [parent, '.', name];\n\t } else {\n\t return [parent, '[', JSON.stringify(name), ']'];\n\t }\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\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;\\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 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 for (var alias in this.aliases) {\n\t // eslint-disable-line guard-for-in\n\t var node = this.aliases[alias];\n\n\t if (this.aliases.hasOwnProperty(alias) && 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 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 // [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('helpers.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('helpers.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 _this = 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 = _this.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\t simple = isSimple ? [helper.name, ' || '] : '';\n\n\t var lookup = ['('].concat(simple, nonHelper);\n\t if (!this.options.strict) {\n\t lookup.push(' || ', this.aliasable('helpers.helperMissing'));\n\t }\n\t lookup.push(')');\n\n\t this.push(this.source.functionCall(lookup, 'call', helper.callParams));\n\t },\n\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('helpers.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 = 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\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]), ')'];\n\t } else {\n\t return stack;\n\t }\n\t}\n\n\texports['default'] = JavaScriptCompiler;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* global define */\n\t'use strict';\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 var pairs = [];\n\n\t for (var key in obj) {\n\t if (obj.hasOwnProperty(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\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 ** ./~/handlebars/dist/handlebars.js\n ** module id = 402\n ** module chunks = 0\n **/","// 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 ** ./~/backbone/backbone.js\n ** module id = 403\n ** module chunks = 0\n **/","/*!\n * jQuery JavaScript Library v1.12.1\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: 2016-02-22T19:07Z\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.1\",\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\tif ( 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 = \"\" +\n\t\t\t\t\"\";\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: ) 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 = \"\";\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 = \"\";\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 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 = \"

                a\";\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>\";\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 = \"\";\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, \"\" ],\n\tlegend: [ 1, \"
                \", \"
                \" ],\n\tarea: [ 1, \"\", \"\" ],\n\n\t// Support: IE8\n\tparam: [ 1, \"\", \"\" ],\n\tthead: [ 1, \"\", \"
                \" ],\n\ttr: [ 2, \"\", \"
                \" ],\n\tcol: [ 2, \"\", \"
                \" ],\n\ttd: [ 3, \"\", \"
                \" ],\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
                \", \"
                \" ]\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 = / from table fragments\n\t\t\t\tif ( !support.tbody ) {\n\n\t\t\t\t\t// String was a , *may* have spurious \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 or \n\t\t\t\t\t\twrap[ 1 ] === \"
                \" && !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 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 = /\\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>\" );\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( \"';\n\nfunction Ie6(api) {\n\tthis._ns = 'ie6';\n\n\tthis.qtip = api;\n\tthis.init(api);\n}\n\n$.extend(Ie6.prototype, {\n\t_scroll : function() {\n\t\tvar overlay = this.qtip.elements.overlay;\n\t\toverlay && (overlay[0].style.top = $(window).scrollTop() + 'px');\n\t},\n\n\tinit: function(qtip) {\n\t\tvar tooltip = qtip.tooltip;\n\n\t\t// Create the BGIFrame element if needed\n\t\tif($('select, object').length < 1) {\n\t\t\tthis.bgiframe = qtip.elements.bgiframe = $(BGIFRAME).appendTo(tooltip);\n\n\t\t\t// Update BGIFrame on tooltip move\n\t\t\tqtip._bind(tooltip, 'tooltipmove', this.adjustBGIFrame, this._ns, this);\n\t\t}\n\n\t\t// redraw() container for width/height calculations\n\t\tthis.redrawContainer = $('
                ', { id: NAMESPACE+'-rcontainer' })\n\t\t\t.appendTo(document.body);\n\n\t\t// Fixup modal plugin if present too\n\t\tif( qtip.elements.overlay && qtip.elements.overlay.addClass('qtipmodal-ie6fix') ) {\n\t\t\tqtip._bind(window, ['scroll', 'resize'], this._scroll, this._ns, this);\n\t\t\tqtip._bind(tooltip, ['tooltipshow'], this._scroll, this._ns, this);\n\t\t}\n\n\t\t// Set dimensions\n\t\tthis.redraw();\n\t},\n\n\tadjustBGIFrame: function() {\n\t\tvar tooltip = this.qtip.tooltip,\n\t\t\tdimensions = {\n\t\t\t\theight: tooltip.outerHeight(FALSE),\n\t\t\t\twidth: tooltip.outerWidth(FALSE)\n\t\t\t},\n\t\t\tplugin = this.qtip.plugins.tip,\n\t\t\ttip = this.qtip.elements.tip,\n\t\t\ttipAdjust, offset;\n\n\t\t// Adjust border offset\n\t\toffset = parseInt(tooltip.css('borderLeftWidth'), 10) || 0;\n\t\toffset = { left: -offset, top: -offset };\n\n\t\t// Adjust for tips plugin\n\t\tif(plugin && tip) {\n\t\t\ttipAdjust = plugin.corner.precedance === 'x' ? [WIDTH, LEFT] : [HEIGHT, TOP];\n\t\t\toffset[ tipAdjust[1] ] -= tip[ tipAdjust[0] ]();\n\t\t}\n\n\t\t// Update bgiframe\n\t\tthis.bgiframe.css(offset).css(dimensions);\n\t},\n\n\t// Max/min width simulator function\n\tredraw: function() {\n\t\tif(this.qtip.rendered < 1 || this.drawing) { return this; }\n\n\t\tvar tooltip = this.qtip.tooltip,\n\t\t\tstyle = this.qtip.options.style,\n\t\t\tcontainer = this.qtip.options.position.container,\n\t\t\tperc, width, max, min;\n\n\t\t// Set drawing flag\n\t\tthis.qtip.drawing = 1;\n\n\t\t// If tooltip has a set height/width, just set it... like a boss!\n\t\tif(style.height) { tooltip.css(HEIGHT, style.height); }\n\t\tif(style.width) { tooltip.css(WIDTH, style.width); }\n\n\t\t// Simulate max/min width if not set width present...\n\t\telse {\n\t\t\t// Reset width and add fluid class\n\t\t\ttooltip.css(WIDTH, '').appendTo(this.redrawContainer);\n\n\t\t\t// Grab our tooltip width (add 1 if odd so we don't get wrapping problems.. huzzah!)\n\t\t\twidth = tooltip.width();\n\t\t\tif(width % 2 < 1) { width += 1; }\n\n\t\t\t// Grab our max/min properties\n\t\t\tmax = tooltip.css('maxWidth') || '';\n\t\t\tmin = tooltip.css('minWidth') || '';\n\n\t\t\t// Parse into proper pixel values\n\t\t\tperc = (max + min).indexOf('%') > -1 ? container.width() / 100 : 0;\n\t\t\tmax = (max.indexOf('%') > -1 ? perc : 1 * parseInt(max, 10)) || width;\n\t\t\tmin = (min.indexOf('%') > -1 ? perc : 1 * parseInt(min, 10)) || 0;\n\n\t\t\t// Determine new dimension size based on max/min/current values\n\t\t\twidth = max + min ? Math.min(Math.max(width, min), max) : width;\n\n\t\t\t// Set the newly calculated width and remvoe fluid class\n\t\t\ttooltip.css(WIDTH, Math.round(width)).appendTo(container);\n\t\t}\n\n\t\t// Set drawing flag\n\t\tthis.drawing = 0;\n\n\t\treturn this;\n\t},\n\n\tdestroy: function() {\n\t\t// Remove iframe\n\t\tthis.bgiframe && this.bgiframe.remove();\n\n\t\t// Remove bound events\n\t\tthis.qtip._unbind([window, this.qtip.tooltip], this._ns);\n\t}\n});\n\nIE6 = PLUGINS.ie6 = function(api) {\n\t// Proceed only if the browser is IE6\n\treturn BROWSER.ie === 6 ? new Ie6(api) : FALSE;\n};\n\nIE6.initialize = 'render';\n\nCHECKS.ie6 = {\n\t'^content|style$': function() {\n\t\tthis.redraw();\n\t}\n};\n;}));\n}( window, document ));\n\n\n\n/** WEBPACK FOOTER **\n ** ./packages/@okta/qtip2/dist/jquery.qtip.js\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\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\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 ** ./target/js/util/Enums.js\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(['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 return {\n ConfigError: ConfigError,\n UnsupportedBrowserError: UnsupportedBrowserError,\n OAuthError: OAuthError,\n RegistrationError: RegistrationError,\n AuthStopPollInitiationError: AuthStopPollInitiationError\n };\n\n});\n\n\n\n/** WEBPACK FOOTER **\n ** ./target/js/util/Errors.js\n **/","var jqueryRequest = require('./jqueryRequest');\nmodule.exports = require('../lib/clientBuilder')(jqueryRequest);\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/@okta/okta-auth-js/jquery/index.js\n ** module id = 415\n ** module chunks = 0\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\nvar $ = require('jquery');\n\nfunction jqueryRequest(method, url, args) {\n var deferred = $.Deferred();\n $.ajax({\n type: method,\n url: url,\n headers: args.headers,\n data: JSON.stringify(args.data),\n xhrFields: {\n withCredentials: true\n }\n })\n .then(function(data, textStatus, jqXHR) {\n delete jqXHR.then;\n deferred.resolve(jqXHR);\n }, function(jqXHR) {\n delete jqXHR.then;\n deferred.reject(jqXHR);\n });\n return deferred;\n}\n\nmodule.exports = jqueryRequest;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/@okta/okta-auth-js/jquery/jqueryRequest.js\n ** module id = 416\n ** module chunks = 0\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-disable complexity */\n/* eslint-disable max-statements */\n\nrequire('./vendor/polyfills');\n\nvar Q = require('q');\nvar oauthUtil = require('./oauthUtil');\nvar util = require('./util');\nvar tx = require('./tx');\nvar session = require('./session');\nvar cookies = require('./cookies');\nvar token = require('./token');\nvar AuthSdkError = require('./errors/AuthSdkError');\nvar config = require('./config');\nvar TokenManager = require('./TokenManager');\nvar http = require('./http');\n\nfunction OktaAuthBuilder(args) {\n var sdk = this;\n\n if (!args) {\n throw new AuthSdkError('No arguments passed to constructor. ' +\n 'Required usage: new OktaAuth(args)');\n }\n\n if (!args.url) {\n throw new AuthSdkError('No url passed to constructor. ' +\n 'Required usage: new OktaAuth({url: \"https://sample.okta.com\"})');\n }\n\n if (args.url.indexOf('-admin.') !== -1) {\n throw new AuthSdkError('URL passed to constructor contains \"-admin\" in subdomain. ' +\n 'Required usage: new OktaAuth({url: \"https://dev-12345.okta.com})');\n }\n\n this.options = {\n url: util.removeTrailingSlash(args.url),\n clientId: args.clientId,\n issuer: util.removeTrailingSlash(args.issuer),\n authorizeUrl: util.removeTrailingSlash(args.authorizeUrl),\n userinfoUrl: util.removeTrailingSlash(args.userinfoUrl),\n redirectUri: args.redirectUri,\n ajaxRequest: args.ajaxRequest,\n transformErrorXHR: args.transformErrorXHR,\n headers: args.headers\n };\n\n this.userAgent = 'okta-auth-js-' + config.SDK_VERSION;\n\n // Digital clocks will drift over time, so the server\n // can misalign with the time reported by the browser.\n // The maxClockSkew allows relaxing the time-based\n // validation of tokens (in seconds, not milliseconds).\n // It currently defaults to 300, because 5 min is the\n // default maximum tolerance allowed by Kerberos.\n // (https://technet.microsoft.com/en-us/library/cc976357.aspx)\n if (!args.maxClockSkew && args.maxClockSkew !== 0) {\n this.options.maxClockSkew = config.DEFAULT_MAX_CLOCK_SKEW;\n } else {\n this.options.maxClockSkew = args.maxClockSkew;\n }\n\n sdk.session = {\n close: util.bind(session.closeSession, null, sdk),\n exists: util.bind(session.sessionExists, null, sdk),\n get: util.bind(session.getSession, null, sdk),\n refresh: util.bind(session.refreshSession, null, sdk),\n setCookieAndRedirect: util.bind(session.setCookieAndRedirect, null, sdk)\n };\n\n sdk.tx = {\n status: util.bind(tx.transactionStatus, null, sdk),\n resume: util.bind(tx.resumeTransaction, null, sdk),\n exists: util.bind(tx.transactionExists, null, sdk)\n };\n\n // This is exposed so we can mock document.cookie in our tests\n sdk.tx.exists._getCookie = function(name) {\n return cookies.getCookie(name);\n };\n\n sdk.idToken = {\n authorize: util.deprecateWrap('Use token.getWithoutPrompt, token.getWithPopup, or token.getWithRedirect ' +\n 'instead of idToken.authorize.', util.bind(token.getToken, null, sdk)),\n verify: util.deprecateWrap('Use token.verify instead of idToken.verify', util.bind(token.verifyIdToken, null, sdk)),\n refresh: util.deprecateWrap('Use token.refresh instead of idToken.refresh',\n util.bind(token.refreshIdToken, null, sdk)),\n decode: util.deprecateWrap('Use token.decode instead of idToken.decode', token.decodeToken)\n };\n\n // This is exposed so we can mock window.location.href in our tests\n sdk.idToken.authorize._getLocationHref = function() {\n return window.location.href;\n };\n\n sdk.token = {\n getWithoutPrompt: util.bind(token.getWithoutPrompt, null, sdk),\n getWithPopup: util.bind(token.getWithPopup, null, sdk),\n getWithRedirect: util.bind(token.getWithRedirect, null, sdk),\n parseFromUrl: util.bind(token.parseFromUrl, null, sdk),\n decode: token.decodeToken,\n refresh: util.bind(token.refreshToken, null, sdk),\n getUserInfo: util.bind(token.getUserInfo, null, sdk),\n verify: util.bind(token.verifyToken, null, sdk)\n };\n\n // This is exposed so we can set window.location in our tests\n sdk.token.getWithRedirect._setLocation = function(url) {\n window.location = url;\n };\n\n // This is exposed so we can mock getting window.history in our tests\n sdk.token.parseFromUrl._getHistory = function() {\n return window.history;\n };\n\n // This is exposed so we can mock getting window.location in our tests\n sdk.token.parseFromUrl._getLocation = function() {\n return window.location;\n };\n\n // This is exposed so we can mock getting window.document in our tests\n sdk.token.parseFromUrl._getDocument = function() {\n return window.document;\n };\n\n sdk.fingerprint._getUserAgent = function() {\n return navigator.userAgent;\n };\n\n var isWindowsPhone = /windows phone|iemobile|wpdesktop/i;\n sdk.features.isFingerprintSupported = function() {\n var agent = sdk.fingerprint._getUserAgent();\n return agent && !isWindowsPhone.test(agent);\n };\n\n sdk.tokenManager = new TokenManager(sdk, args.tokenManager);\n}\n\nvar proto = OktaAuthBuilder.prototype;\n\nproto.features = {};\n\nproto.features.isPopupPostMessageSupported = function() {\n var isIE8or9 = document.documentMode && document.documentMode < 10;\n if (window.postMessage && !isIE8or9) {\n return true;\n }\n return false;\n};\n\nproto.features.isTokenVerifySupported = function() {\n return typeof crypto !== 'undefined' && crypto.subtle && typeof Uint8Array !== 'undefined';\n};\n\n// { username, password, (relayState), (context) }\nproto.signIn = function (opts) {\n var sdk = this;\n opts = util.clone(opts || {});\n function postToTransaction(options) {\n delete opts.sendFingerprint;\n return tx.postToTransaction(sdk, '/api/v1/authn', opts, options);\n }\n if (!opts.sendFingerprint) {\n return postToTransaction();\n }\n return sdk.fingerprint()\n .then(function(fingerprint) {\n return postToTransaction({\n headers: {\n 'X-Device-Fingerprint': fingerprint\n }\n });\n });\n};\n\nproto.signOut = function () {\n return this.session.close();\n};\n\n// { username, (relayState) }\nproto.forgotPassword = function (opts) {\n return tx.postToTransaction(this, '/api/v1/authn/recovery/password', opts);\n};\n\n// { username, (relayState) }\nproto.unlockAccount = function (opts) {\n return tx.postToTransaction(this, '/api/v1/authn/recovery/unlock', opts);\n};\n\n// { recoveryToken }\nproto.verifyRecoveryToken = function (opts) {\n return tx.postToTransaction(this, '/api/v1/authn/recovery/token', opts);\n};\n\n// { resource, (rel), (requestContext)}\nproto.webfinger = function (opts) {\n var url = '/.well-known/webfinger' + util.toQueryParams(opts);\n var options = {\n headers: {\n 'Accept': 'application/jrd+json'\n }\n };\n return http.get(this, url, options);\n};\n\nproto.fingerprint = function(options) {\n options = options || {};\n var sdk = this;\n if (!sdk.features.isFingerprintSupported()) {\n return Q.reject(new AuthSdkError('Fingerprinting is not supported on this device'));\n }\n\n var deferred = Q.defer();\n\n var iframe = document.createElement('iframe');\n iframe.style.display = 'none';\n\n function listener(e) {\n if (!e || !e.data || e.origin !== sdk.options.url) {\n return;\n }\n\n try {\n var msg = JSON.parse(e.data);\n } catch (err) {\n return deferred.reject(new AuthSdkError('Unable to parse iframe response'));\n }\n\n if (!msg) { return; }\n if (msg.type === 'FingerprintAvailable') {\n return deferred.resolve(msg.fingerprint);\n }\n if (msg.type === 'FingerprintServiceReady') {\n e.source.postMessage(JSON.stringify({\n type: 'GetFingerprint'\n }), e.origin);\n }\n }\n oauthUtil.addListener(window, 'message', listener);\n\n iframe.src = sdk.options.url + '/auth/services/devicefingerprint';\n document.body.appendChild(iframe);\n\n var timeout = setTimeout(function() {\n deferred.reject(new AuthSdkError('Fingerprinting timed out'));\n }, options.timeout || 15000);\n\n return deferred.promise.fin(function() {\n clearTimeout(timeout);\n oauthUtil.removeListener(window, 'message', listener);\n if (document.body.contains(iframe)) {\n iframe.parentElement.removeChild(iframe);\n }\n });\n};\n\nmodule.exports = function(ajaxRequest) {\n function OktaAuth(args) {\n if (!(this instanceof OktaAuth)) {\n return new OktaAuth(args);\n }\n\n if (args && !args.ajaxRequest) {\n args.ajaxRequest = ajaxRequest;\n }\n util.bind(OktaAuthBuilder, this)(args);\n }\n OktaAuth.prototype = OktaAuthBuilder.prototype;\n OktaAuth.prototype.constructor = OktaAuth;\n\n return OktaAuth;\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/@okta/okta-auth-js/lib/clientBuilder.js\n ** module id = 417\n ** module chunks = 0\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\nrequire('Base64');\n\n// Production steps of ECMA-262, Edition 5, 15.4.4.14\n// Reference: http://es5.github.io/#x15.4.4.14\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf#Polyfill\nif (!Array.prototype.indexOf) {\n Array.prototype.indexOf = function(searchElement, fromIndex) {\n\n var k;\n\n // 1. Let o be the result of calling ToObject passing\n // the this value as the argument.\n if (this == null) {\n throw new TypeError('\"this\" is null or not defined');\n }\n\n var o = Object(this);\n\n // 2. Let lenValue be the result of calling the Get\n // internal method of o with the argument \"length\".\n // 3. Let len be ToUint32(lenValue).\n var len = o.length >>> 0;\n\n // 4. If len is 0, return -1.\n if (len === 0) {\n return -1;\n }\n\n // 5. If argument fromIndex was passed let n be\n // ToInteger(fromIndex); else let n be 0.\n var n = +fromIndex || 0;\n\n if (Math.abs(n) === Infinity) {\n n = 0;\n }\n\n // 6. If n >= len, return -1.\n if (n >= len) {\n return -1;\n }\n\n // 7. If n >= 0, then Let k be n.\n // 8. Else, n<0, Let k be len - abs(n).\n // If k is less than 0, then let k be 0.\n k = Math.max(n >= 0 ? n : len - Math.abs(n), 0);\n\n // 9. Repeat, while k < len\n while (k < len) {\n // a. Let Pk be ToString(k).\n // This is implicit for LHS operands of the in operator\n // b. Let kPresent be the result of calling the\n // HasProperty internal method of o with argument Pk.\n // This step can be combined with c\n // c. If kPresent is true, then\n // i. Let elementK be the result of calling the Get\n // internal method of o with the argument ToString(k).\n // ii. Let same be the result of applying the\n // Strict Equality Comparison Algorithm to\n // searchElement and elementK.\n // iii. If same is true, return k.\n if (k in o && o[k] === searchElement) {\n return k;\n }\n k++;\n }\n return -1;\n };\n}\n\nif (!Array.isArray) {\n Array.isArray = function(obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n };\n}\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/@okta/okta-auth-js/lib/vendor/polyfills.js\n ** module id = 418\n ** module chunks = 0\n **/",";(function () {\n\n var object = typeof exports != 'undefined' ? exports : this; // #8: web workers\n var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\n function InvalidCharacterError(message) {\n this.message = message;\n }\n InvalidCharacterError.prototype = new Error;\n InvalidCharacterError.prototype.name = 'InvalidCharacterError';\n\n // encoder\n // [https://gist.github.com/999166] by [https://github.com/nignag]\n object.btoa || (\n object.btoa = function (input) {\n var str = String(input);\n for (\n // initialize result and counter\n var block, charCode, idx = 0, map = chars, output = '';\n // if the next str index does not exist:\n // change the mapping table to \"=\"\n // check if d has no fractional digits\n str.charAt(idx | 0) || (map = '=', idx % 1);\n // \"8 - idx % 1 * 8\" generates the sequence 2, 4, 6, 8\n output += map.charAt(63 & block >> 8 - idx % 1 * 8)\n ) {\n charCode = str.charCodeAt(idx += 3/4);\n if (charCode > 0xFF) {\n throw new InvalidCharacterError(\"'btoa' failed: The string to be encoded contains characters outside of the Latin1 range.\");\n }\n block = block << 8 | charCode;\n }\n return output;\n });\n\n // decoder\n // [https://gist.github.com/1020396] by [https://github.com/atk]\n object.atob || (\n object.atob = function (input) {\n var str = String(input).replace(/=+$/, '');\n if (str.length % 4 == 1) {\n throw new InvalidCharacterError(\"'atob' failed: The string to be decoded is not correctly encoded.\");\n }\n for (\n // initialize result and counters\n var bc = 0, bs, buffer, idx = 0, output = '';\n // get next character\n buffer = str.charAt(idx++);\n // character found in table? initialize bit storage and add its ascii value;\n ~buffer && (bs = bc % 4 ? bs * 64 + buffer : buffer,\n // and if not first of each 4 characters,\n // convert the first 8 bits to one ascii character\n bc++ % 4) ? output += String.fromCharCode(255 & bs >> (-2 * bc & 6)) : 0\n ) {\n // try to find character in table (0-63, not found => -1)\n buffer = chars.indexOf(buffer);\n }\n return output;\n });\n\n}());\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/Base64/base64.js\n ** module id = 419\n ** module chunks = 0\n **/","/* eslint-disable complexity, max-statements */\nvar http = require('./http');\nvar util = require('./util');\nvar storageUtil = require('./storageUtil');\nvar AuthSdkError = require('./errors/AuthSdkError');\n\nvar httpCache = storageUtil.getHttpCache();\n\nfunction isToken(obj) {\n if (obj &&\n (obj.accessToken || obj.idToken) &&\n Array.isArray(obj.scopes)) {\n return true;\n }\n return false;\n}\n\nfunction addListener(eventTarget, name, fn) {\n if (eventTarget.addEventListener) {\n eventTarget.addEventListener(name, fn);\n } else {\n eventTarget.attachEvent('on' + name, fn);\n }\n}\n\nfunction removeListener(eventTarget, name, fn) {\n if (eventTarget.removeEventListener) {\n eventTarget.removeEventListener(name, fn);\n } else {\n eventTarget.detachEvent('on' + name, fn);\n }\n}\n\nfunction loadFrame(src) {\n var iframe = document.createElement('iframe');\n iframe.style.display = 'none';\n iframe.src = src;\n\n return document.body.appendChild(iframe);\n}\n\nfunction loadPopup(src, options) {\n var title = options.popupTitle || 'External Identity Provider User Authentication';\n var appearance = 'toolbar=no, scrollbars=yes, resizable=yes, ' +\n 'top=100, left=500, width=600, height=600';\n\n if (util.isIE11OrLess()) {\n // IE<=11 doesn't fully support postMessage at time of writting.\n // the following simple solution happened to solve the issue\n // without adding another proxy layer which makes flow more complecated.\n var winEl = window.open('/', title, appearance);\n winEl.location.href = src;\n return winEl;\n } else {\n return window.open(src, title, appearance);\n }\n}\n\nfunction getWellKnown(sdk, issuer) {\n return http.get(sdk, (issuer || sdk.options.url) + '/.well-known/openid-configuration', {\n cacheResponse: true\n });\n}\n\nfunction getKey(sdk, issuer, kid) {\n return getWellKnown(sdk, issuer)\n .then(function(wellKnown) {\n var jwksUri = wellKnown['jwks_uri'];\n\n // Check our kid against the cached version (if it exists and isn't expired)\n var cacheContents = httpCache.getStorage();\n var cachedResponse = cacheContents[jwksUri];\n if (cachedResponse && Date.now()/1000 < cachedResponse.expiresAt) {\n var cachedKey = util.find(cachedResponse.response.keys, {\n kid: kid\n });\n\n if (cachedKey) {\n return cachedKey;\n }\n }\n\n // Remove cache for the key\n httpCache.clearStorage(jwksUri);\n\n // Pull the latest keys if the key wasn't in the cache\n return http.get(sdk, jwksUri, {\n cacheResponse: true\n })\n .then(function(res) {\n var key = util.find(res.keys, {\n kid: kid\n });\n\n if (key) {\n return key;\n }\n\n throw new AuthSdkError('The key id, ' + kid + ', was not found in the server\\'s keys');\n });\n });\n}\n\nfunction validateClaims(sdk, claims, aud, iss, nonce) {\n if (!claims || !iss || !aud) {\n throw new AuthSdkError('The jwt, iss, and aud arguments are all required');\n }\n\n if (nonce && claims.nonce !== nonce) {\n throw new AuthSdkError('OAuth flow response nonce doesn\\'t match request nonce');\n }\n\n var now = Math.floor(new Date().getTime()/1000);\n\n if (claims.iss !== iss) {\n throw new AuthSdkError('The issuer [' + claims.iss + '] ' +\n 'does not match [' + iss + ']');\n }\n\n if (claims.aud !== aud) {\n throw new AuthSdkError('The audience [' + claims.aud + '] ' +\n 'does not match [' + aud + ']');\n }\n\n if (claims.iat > claims.exp) {\n throw new AuthSdkError('The JWT expired before it was issued');\n }\n\n if ((now - sdk.options.maxClockSkew) > claims.exp) {\n throw new AuthSdkError('The JWT expired and is no longer valid');\n }\n\n if (claims.iat > (now + sdk.options.maxClockSkew)) {\n throw new AuthSdkError('The JWT was issued in the future');\n }\n}\n\nfunction getOAuthUrls(sdk, oauthParams, options) {\n options = options || {};\n\n // Get user-supplied arguments\n var authorizeUrl = util.removeTrailingSlash(options.authorizeUrl) || sdk.options.authorizeUrl;\n var issuer = util.removeTrailingSlash(options.issuer) || sdk.options.issuer;\n var userinfoUrl = util.removeTrailingSlash(options.userinfoUrl) || sdk.options.userinfoUrl;\n\n // If an issuer exists but it's not a url, assume it's an authServerId\n if (issuer && !(/^https?:/.test(issuer))) {\n // Make it a url\n issuer = sdk.options.url + '/oauth2/' + issuer;\n }\n\n // If an authorizeUrl is supplied without an issuer, and an id_token is requested\n if (!issuer && authorizeUrl &&\n oauthParams.responseType.indexOf('id_token') !== -1) {\n // The issuer is ambiguous, so we won't be able to validate the id_token jwt\n throw new AuthSdkError('Cannot request idToken with an authorizeUrl without an issuer');\n }\n\n // If a token is requested without an issuer\n if (!issuer && oauthParams.responseType.indexOf('token') !== -1) {\n // If an authorizeUrl is supplied without a userinfoUrl\n if (authorizeUrl && !userinfoUrl) {\n // The userinfoUrl is ambiguous, so we won't be able to call getUserInfo\n throw new AuthSdkError('Cannot request accessToken with an authorizeUrl without an issuer or userinfoUrl');\n }\n\n // If a userinfoUrl is supplied without a authorizeUrl\n if (userinfoUrl && !authorizeUrl) {\n // The authorizeUrl is ambiguous, so we won't be able to call the authorize endpoint\n throw new AuthSdkError('Cannot request token with an userinfoUrl without an issuer or authorizeUrl');\n }\n }\n\n var sharedResourceServerRegex = new RegExp('^https?://.*?/oauth2/.+');\n\n // Default the issuer to our baseUrl\n issuer = issuer || sdk.options.url;\n\n // A shared resource server issuer looks like:\n // https://example.okta.com/oauth2/aus8aus76q8iphupD0h7\n if (sharedResourceServerRegex.test(issuer)) {\n // A shared resource server authorizeUrl looks like:\n // https://example.okta.com/oauth2/aus8aus76q8iphupD0h7/v1/authorize\n authorizeUrl = authorizeUrl || issuer + '/v1/authorize';\n // Shared resource server userinfoUrls look like:\n // https://example.okta.com/oauth2/aus8aus76q8iphupD0h7/v1/userinfo\n userinfoUrl = userinfoUrl || issuer + '/v1/userinfo';\n\n // Normally looks like:\n // https://example.okta.com\n } else {\n // Normal authorizeUrls look like:\n // https://example.okta.com/oauth2/v1/authorize\n authorizeUrl = authorizeUrl || issuer + '/oauth2/v1/authorize';\n // Normal userinfoUrls look like:\n // https://example.okta.com/oauth2/v1/userinfo\n userinfoUrl = userinfoUrl || issuer + '/oauth2/v1/userinfo';\n }\n\n return {\n issuer: issuer,\n authorizeUrl: authorizeUrl,\n userinfoUrl: userinfoUrl\n };\n}\n\nfunction hashToObject(hash) {\n // Predefine regexs for parsing hash\n var plus2space = /\\+/g;\n var paramSplit = /([^&=]+)=?([^&]*)/g;\n\n // Remove the leading hash\n var fragment = hash.substring(1);\n\n var obj = {};\n\n // Loop until we have no more params\n var param;\n while (true) { // eslint-disable-line no-constant-condition\n param = paramSplit.exec(fragment);\n if (!param) { break; }\n\n var key = param[1];\n var value = param[2];\n\n // id_token should remain base64url encoded\n if (key === 'id_token' || key === 'access_token' || key === 'code') {\n obj[key] = value;\n } else {\n obj[key] = decodeURIComponent(value.replace(plus2space, ' '));\n }\n }\n return obj;\n}\n\nmodule.exports = {\n getWellKnown: getWellKnown,\n getKey: getKey,\n validateClaims: validateClaims,\n getOAuthUrls: getOAuthUrls,\n loadFrame: loadFrame,\n loadPopup: loadPopup,\n hashToObject: hashToObject,\n isToken: isToken,\n addListener: addListener,\n removeListener: removeListener\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/@okta/okta-auth-js/lib/oauthUtil.js\n ** module id = 420\n ** module chunks = 0\n **/","/* eslint-disable complexity */\nvar util = require('./util');\nvar cookies = require('./cookies');\nvar storageUtil = require('./storageUtil');\nvar Q = require('q');\nvar AuthApiError = require('./errors/AuthApiError');\nvar config = require('./config');\n\nfunction httpRequest(sdk, options) {\n options = options || {};\n var url = options.url,\n method = options.method,\n args = options.args,\n saveAuthnState = options.saveAuthnState,\n accessToken = options.accessToken,\n httpCache = storageUtil.getHttpCache();\n\n if (options.cacheResponse) {\n var cacheContents = httpCache.getStorage();\n var cachedResponse = cacheContents[url];\n if (cachedResponse && Date.now()/1000 < cachedResponse.expiresAt) {\n return Q.resolve(cachedResponse.response);\n }\n }\n\n var headers = {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json',\n 'X-Okta-User-Agent-Extended': sdk.userAgent\n };\n util.extend(headers, sdk.options.headers, options.headers);\n\n if (accessToken && util.isString(accessToken)) {\n headers['Authorization'] = 'Bearer ' + accessToken;\n }\n\n var ajaxOptions = {\n headers: headers,\n data: args || undefined\n };\n\n var err, res;\n return new Q(sdk.options.ajaxRequest(method, url, ajaxOptions))\n .then(function(resp) {\n res = resp.responseText;\n if (res && util.isString(res)) {\n res = JSON.parse(res);\n }\n\n if (saveAuthnState) {\n if (!res.stateToken) {\n cookies.deleteCookie(config.STATE_TOKEN_COOKIE_NAME);\n }\n }\n\n if (res && res.stateToken && res.expiresAt) {\n cookies.setCookie(config.STATE_TOKEN_COOKIE_NAME, res.stateToken, res.expiresAt);\n }\n\n if (res && options.cacheResponse) {\n httpCache.updateStorage(url, {\n expiresAt: Math.floor(Date.now()/1000) + config.DEFAULT_CACHE_DURATION,\n response: res\n });\n }\n\n return res;\n })\n .fail(function(resp) {\n var serverErr = resp.responseText || {};\n if (util.isString(serverErr)) {\n try {\n serverErr = JSON.parse(serverErr);\n } catch (e) {\n serverErr = {\n errorSummary: 'Unknown error'\n };\n }\n }\n\n if (resp.status >= 500) {\n serverErr.errorSummary = 'Unknown error';\n }\n\n if (sdk.options.transformErrorXHR) {\n resp = sdk.options.transformErrorXHR(util.clone(resp));\n }\n\n err = new AuthApiError(serverErr, resp);\n\n if (err.errorCode === 'E0000011') {\n cookies.deleteCookie(config.STATE_TOKEN_COOKIE_NAME);\n }\n\n throw err;\n });\n}\n\nfunction get(sdk, url, options) {\n url = util.isAbsoluteUrl(url) ? url : sdk.options.url + url;\n var getOptions = {\n url: url,\n method: 'GET'\n };\n util.extend(getOptions, options);\n return httpRequest(sdk, getOptions);\n}\n\nfunction post(sdk, url, args, options) {\n url = util.isAbsoluteUrl(url) ? url : sdk.options.url + url;\n var postOptions = {\n url: url,\n method: 'POST',\n args: args,\n saveAuthnState: true\n };\n util.extend(postOptions, options);\n return httpRequest(sdk, postOptions);\n}\n\nmodule.exports = {\n get: get,\n post: post,\n httpRequest: httpRequest\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/@okta/okta-auth-js/lib/http.js\n ** module id = 421\n ** module chunks = 0\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-env es6 */\nvar util = module.exports;\n\nutil.base64UrlToBase64 = function(b64u) {\n return b64u.replace(/\\-/g, '+').replace(/_/g, '/');\n};\n\nutil.base64UrlToString = function(b64u) {\n var b64 = util.base64UrlToBase64(b64u);\n switch (b64.length % 4) {\n case 0:\n break;\n case 2:\n b64 += '==';\n break;\n case 3:\n b64 += '=';\n break;\n default:\n throw 'Not a valid Base64Url';\n }\n var utf8 = atob(b64);\n try {\n return decodeURIComponent(escape(utf8));\n } catch (e) {\n return utf8;\n }\n};\n\nutil.stringToBuffer = function(str) {\n var buffer = new Uint8Array(str.length);\n for (var i = 0; i < str.length; i++) {\n buffer[i] = str.charCodeAt(i);\n }\n return buffer;\n};\n\nutil.base64UrlDecode = function(str) {\n return atob(util.base64UrlToBase64(str));\n};\n\nutil.bind = function(fn, ctx) {\n var additionalArgs = Array.prototype.slice.call(arguments, 2);\n return function() {\n var args = Array.prototype.slice.call(arguments);\n args = additionalArgs.concat(args);\n return fn.apply(ctx, args);\n };\n};\n\nutil.isAbsoluteUrl = function(url) {\n return /^(?:[a-z]+:)?\\/\\//i.test(url);\n};\n\nutil.isString = function(obj) {\n return Object.prototype.toString.call(obj) === '[object String]';\n};\n\nutil.isObject = function(obj) {\n return Object.prototype.toString.call(obj) === '[object Object]';\n};\n\nutil.isNumber = function(obj) {\n return Object.prototype.toString.call(obj) === '[object Number]';\n};\n\nutil.isArray = function(obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n};\n\nutil.isoToUTCString = function(str) {\n var parts = str.match(/\\d+/g),\n isoTime = Date.UTC(parts[0], parts[1] - 1, parts[2], parts[3], parts[4], parts[5]),\n isoDate = new Date(isoTime);\n\n return isoDate.toUTCString();\n};\n\nutil.toQueryParams = function(obj) {\n var str = [];\n if (obj !== null) {\n for (var key in obj) {\n if (obj.hasOwnProperty(key) &&\n obj[key] !== undefined &&\n obj[key] !== null) {\n str.push(key + '=' + encodeURIComponent(obj[key]));\n }\n }\n }\n if (str.length) {\n return '?' + str.join('&');\n } else {\n return '';\n }\n};\n\nutil.genRandomString = function(length) {\n var randomCharset = 'abcdefghijklnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';\n var random = '';\n for (var c = 0, cl = randomCharset.length; c < length; ++c) {\n random += randomCharset[Math.floor(Math.random() * cl)];\n }\n return random;\n};\n\nutil.extend = function() {\n var obj1 = arguments[0];\n var objArray = [].slice.call(arguments, 1);\n objArray.forEach(function(obj) {\n for (var prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n obj1[prop] = obj[prop];\n }\n }\n });\n};\n\nutil.removeNils = function(obj) {\n var cleaned = {};\n for (var prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n var value = obj[prop];\n if (value !== null && value !== undefined) {\n cleaned[prop] = value;\n }\n }\n }\n return cleaned;\n};\n\nutil.clone = function(obj) {\n if (obj) {\n var str = JSON.stringify(obj);\n if (str) {\n return JSON.parse(str);\n }\n }\n return obj;\n};\n\n// Analogous to _.omit\nutil.omit = function(obj) {\n var props = Array.prototype.slice.call(arguments, 1);\n var newobj = {};\n for (var p in obj) {\n if (obj.hasOwnProperty(p) && props.indexOf(p) == -1) {\n newobj[p] = obj[p];\n }\n }\n return util.clone(newobj);\n};\n\nutil.find = function(collection, searchParams) {\n var c = collection.length;\n while (c--) {\n var item = collection[c];\n var found = true;\n for (var prop in searchParams) {\n if (!searchParams.hasOwnProperty(prop)) {\n continue;\n }\n if (item[prop] !== searchParams[prop]) {\n found = false;\n break;\n }\n }\n if (found) {\n return item;\n }\n }\n};\n\nutil.getLink = function(obj, linkName, altName) {\n if (!obj || !obj._links) {\n return;\n }\n \n var link = util.clone(obj._links[linkName]);\n\n // If a link has a name and we have an altName, return if they match\n if (link && link.name && altName) {\n if (link.name === altName) {\n return link;\n }\n } else {\n return link;\n }\n};\n\nutil.getNativeConsole = function() {\n return window.console;\n};\n\nutil.getConsole = function() {\n var nativeConsole = util.getNativeConsole();\n if (nativeConsole && nativeConsole.log) {\n return nativeConsole;\n }\n return {\n log: function() {}\n };\n};\n\nutil.warn = function(text) {\n /* eslint-disable no-console */\n util.getConsole().log('[okta-auth-sdk] WARN: ' + text);\n /* eslint-enable */\n};\n\nutil.deprecate = function(text) {\n /* eslint-disable no-console */\n util.getConsole().log('[okta-auth-sdk] DEPRECATION: ' + text);\n /* eslint-enable */\n};\n\nutil.deprecateWrap = function(text, fn) {\n return function() {\n util.deprecate(text);\n return fn.apply(null, arguments);\n };\n};\n\nutil.removeTrailingSlash = function(path) {\n if (!path) {\n return;\n }\n if (path.slice(-1) === '/') {\n return path.slice(0, -1);\n }\n return path;\n};\n\nutil.isIE11OrLess = function() {\n return !!document.documentMode && document.documentMode <= 11;\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/@okta/okta-auth-js/lib/util.js\n ** module id = 422\n ** module chunks = 0\n **/","var util = require('./util');\n\nfunction setCookie(name, value, expiresAt) {\n var expiresText = '';\n if (expiresAt) {\n expiresText = ' expires=' + util.isoToUTCString(expiresAt) + ';';\n }\n\n var cookieText = name + '=' + value + '; path=/;' + expiresText;\n setCookie._setDocumentCookie(cookieText);\n\n return cookieText;\n}\n\n// Exposed for testing\nsetCookie._setDocumentCookie = function(cookieText) {\n document.cookie = cookieText;\n};\n\nfunction getCookie(name) {\n var pattern = new RegExp(name + '=([^;]*)'),\n matched = getCookie._getDocumentCookie().match(pattern);\n\n if (matched) {\n var cookie = matched[1];\n return cookie;\n }\n}\n\n// Exposed for testing\ngetCookie._getDocumentCookie = function() {\n return document.cookie;\n};\n\nfunction deleteCookie(name) {\n setCookie(name, '', '1970-01-01T00:00:00Z');\n}\n\nmodule.exports = {\n setCookie: setCookie,\n getCookie: getCookie,\n deleteCookie: deleteCookie\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/@okta/okta-auth-js/lib/cookies.js\n ** module id = 423\n ** module chunks = 0\n **/","var cookies = require('./cookies');\nvar storageBuilder = require('./storageBuilder');\nvar config = require('./config');\n\n// Building this as an object allows us to mock the functions in our tests\nvar storageUtil = {};\n\n// IE11 bug that Microsoft doesn't plan to fix\n// https://connect.microsoft.com/IE/Feedback/Details/1496040\nstorageUtil.browserHasLocalStorage = function() {\n try {\n if (storageUtil.getLocalStorage()) {\n return true;\n } else {\n return false;\n }\n } catch (e) {\n return false;\n }\n};\n\nstorageUtil.browserHasSessionStorage = function() {\n try {\n if (storageUtil.getSessionStorage()) {\n return true;\n } else {\n return false;\n }\n } catch (e) {\n return false;\n }\n};\n\nstorageUtil.getHttpCache = function() {\n if (storageUtil.browserHasLocalStorage()) {\n return storageBuilder(storageUtil.getLocalStorage(), config.CACHE_STORAGE_NAME);\n } else if (storageUtil.browserHasSessionStorage()) {\n return storageBuilder(storageUtil.getSessionStorage(), config.CACHE_STORAGE_NAME);\n } else {\n return storageBuilder(storageUtil.getCookieStorage(), config.CACHE_STORAGE_NAME);\n }\n};\n\nstorageUtil.getLocalStorage = function() {\n return localStorage;\n};\n\nstorageUtil.getSessionStorage = function() {\n return sessionStorage;\n};\n\n// Provides webStorage-like interface for cookies\nstorageUtil.getCookieStorage = function() {\n return {\n getItem: cookies.getCookie,\n setItem: function(key, value) {\n // Cookie shouldn't expire\n cookies.setCookie(key, value, '2038-01-19T03:14:07.000Z');\n }\n };\n};\n\nmodule.exports = storageUtil;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/@okta/okta-auth-js/lib/storageUtil.js\n ** module id = 424\n ** module chunks = 0\n **/","var AuthSdkError = require('./errors/AuthSdkError');\n\n// storage must have getItem and setItem\nfunction storageBuilder(webstorage, storageName) {\n function getStorage() {\n var storageString = webstorage.getItem(storageName);\n storageString = storageString || '{}';\n try {\n return JSON.parse(storageString);\n } catch(e) {\n throw new AuthSdkError('Unable to parse storage string: ' + storageName);\n }\n }\n\n function setStorage(storage) {\n try {\n var storageString = JSON.stringify(storage);\n webstorage.setItem(storageName, storageString);\n } catch(e) {\n throw new AuthSdkError('Unable to set storage: ' + storageName);\n }\n }\n\n function clearStorage(key) {\n if (!key) {\n setStorage({});\n }\n var storage = getStorage();\n delete storage[key];\n setStorage(storage);\n }\n\n function updateStorage(key, value) {\n var storage = getStorage();\n storage[key] = value;\n setStorage(storage);\n }\n\n return {\n getStorage: getStorage,\n setStorage: setStorage,\n clearStorage: clearStorage,\n updateStorage: updateStorage\n };\n}\n\nmodule.exports = storageBuilder;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/@okta/okta-auth-js/lib/storageBuilder.js\n ** module id = 425\n ** module chunks = 0\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\nfunction AuthSdkError(msg, xhr) {\n this.name = 'AuthSdkError';\n this.message = msg;\n\n this.errorCode = 'INTERNAL';\n this.errorSummary = msg;\n this.errorLink = 'INTERNAL';\n this.errorId = 'INTERNAL';\n this.errorCauses = [];\n if (xhr) {\n this.xhr = xhr;\n }\n}\nAuthSdkError.prototype = new Error();\n\nmodule.exports = AuthSdkError;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/@okta/okta-auth-js/lib/errors/AuthSdkError.js\n ** module id = 426\n ** module chunks = 0\n **/","module.exports = {\n \"STATE_TOKEN_COOKIE_NAME\": \"oktaStateToken\",\n \"DEFAULT_POLLING_DELAY\": 500,\n \"DEFAULT_MAX_CLOCK_SKEW\": 300,\n \"DEFAULT_CACHE_DURATION\": 86400,\n \"FRAME_ID\": \"okta-oauth-helper-frame\",\n \"REDIRECT_OAUTH_PARAMS_COOKIE_NAME\": \"okta-oauth-redirect-params\",\n \"REDIRECT_STATE_COOKIE_NAME\": \"okta-oauth-state\",\n \"REDIRECT_NONCE_COOKIE_NAME\": \"okta-oauth-nonce\",\n \"TOKEN_STORAGE_NAME\": \"okta-token-storage\",\n \"CACHE_STORAGE_NAME\": \"okta-cache-storage\",\n \"SDK_VERSION\": \"1.16.0\"\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/@okta/okta-auth-js/lib/config.js\n ** module id = 427\n ** module chunks = 0\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\nfunction AuthApiError(err, xhr) {\n this.name = 'AuthApiError';\n this.message = err.errorSummary;\n this.errorSummary = err.errorSummary;\n this.errorCode = err.errorCode;\n this.errorLink = err.errorLink;\n this.errorId = err.errorId;\n this.errorCauses = err.errorCauses;\n\n if (xhr) {\n this.xhr = xhr;\n }\n}\nAuthApiError.prototype = new Error();\n\nmodule.exports = AuthApiError;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/@okta/okta-auth-js/lib/errors/AuthApiError.js\n ** module id = 428\n ** module chunks = 0\n **/","/* eslint-disable complexity, max-statements */\nvar http = require('./http');\nvar util = require('./util');\nvar Q = require('q');\nvar AuthSdkError = require('./errors/AuthSdkError');\nvar AuthPollStopError = require('./errors/AuthPollStopError');\nvar config = require('./config');\n\nfunction addStateToken(res, options) {\n var builtArgs = {};\n util.extend(builtArgs, options);\n\n // Add the stateToken if one isn't passed and we have one\n if (!builtArgs.stateToken && res.stateToken) {\n builtArgs.stateToken = res.stateToken;\n }\n\n return builtArgs;\n}\n\nfunction getStateToken(res) {\n return addStateToken(res);\n}\n\nfunction transactionStatus(sdk, args) {\n args = addStateToken(sdk, args);\n return http.post(sdk, sdk.options.url + '/api/v1/authn', args);\n}\n\nfunction resumeTransaction(sdk, args) {\n if (!args || !args.stateToken) {\n var stateToken = sdk.tx.exists._getCookie(config.STATE_TOKEN_COOKIE_NAME);\n if (stateToken) {\n args = {\n stateToken: stateToken\n };\n } else {\n return Q.reject(new AuthSdkError('No transaction to resume'));\n }\n }\n return sdk.tx.status(args)\n .then(function(res) {\n return new AuthTransaction(sdk, res);\n });\n}\n\nfunction transactionExists(sdk) {\n // We have a cookie state token\n return !!sdk.tx.exists._getCookie(config.STATE_TOKEN_COOKIE_NAME);\n}\n\nfunction postToTransaction(sdk, url, args, options) {\n return http.post(sdk, url, args, options)\n .then(function(res) {\n return new AuthTransaction(sdk, res);\n });\n}\n\nfunction getPollFn(sdk, res, ref) {\n return function (options) {\n var delay;\n var rememberDevice;\n var autoPush;\n\n if (util.isNumber(options)) {\n delay = options;\n } else if (util.isObject(options)) {\n delay = options.delay;\n rememberDevice = options.rememberDevice;\n autoPush = options.autoPush;\n }\n\n if (!delay && delay !== 0) {\n delay = config.DEFAULT_POLLING_DELAY;\n }\n\n // Get the poll function\n var pollLink = util.getLink(res, 'next', 'poll');\n function pollFn() {\n var opts = {};\n if (typeof autoPush === 'function') {\n try {\n opts.autoPush = !!autoPush();\n }\n catch (e) {\n return Q.reject(new AuthSdkError('AutoPush resulted in an error.'));\n }\n }\n else if (autoPush !== undefined && autoPush !== null) {\n opts.autoPush = !!autoPush;\n }\n if (typeof rememberDevice === 'function') {\n try {\n opts.rememberDevice = !!rememberDevice();\n }\n catch (e) {\n return Q.reject(new AuthSdkError('RememberDevice resulted in an error.'));\n }\n }\n else if (rememberDevice !== undefined && rememberDevice !== null) {\n opts.rememberDevice = !!rememberDevice;\n }\n\n var href = pollLink.href + util.toQueryParams(opts);\n return http.post(sdk, href, getStateToken(res), {\n saveAuthnState: false \n });\n }\n\n ref.isPolling = true;\n\n var retryCount = 0;\n var recursivePoll = function () {\n // If the poll was manually stopped during the delay\n if (!ref.isPolling) {\n return Q.reject(new AuthPollStopError());\n }\n return pollFn()\n .then(function (pollRes) {\n // Reset our retry counter on success\n retryCount = 0;\n\n // If we're still waiting\n if (pollRes.factorResult && pollRes.factorResult === 'WAITING') {\n\n // If the poll was manually stopped while the pollFn was called\n if (!ref.isPolling) {\n throw new AuthPollStopError();\n }\n\n // Continue poll\n return Q.delay(delay)\n .then(recursivePoll);\n\n } else {\n // Any non-waiting result, even if polling was stopped\n // during a request, will return\n ref.isPolling = false;\n return new AuthTransaction(sdk, pollRes);\n }\n })\n .fail(function(err) {\n // Exponential backoff, up to 16 seconds\n if (err.xhr &&\n (err.xhr.status === 0 || err.xhr.status === 429) &&\n retryCount <= 4) {\n var delayLength = Math.pow(2, retryCount) * 1000;\n retryCount++;\n return Q.delay(delayLength)\n .then(recursivePoll);\n }\n throw err;\n });\n };\n return recursivePoll()\n .fail(function(err) {\n ref.isPolling = false;\n throw err;\n });\n };\n}\n\nfunction link2fn(sdk, res, obj, link, ref) {\n if (Array.isArray(link)) {\n return function(name, opts) {\n if (!name) {\n throw new AuthSdkError('Must provide a link name');\n }\n\n var lk = util.find(link, {name: name});\n if (!lk) {\n throw new AuthSdkError('No link found for that name');\n }\n\n return link2fn(sdk, res, obj, lk, ref)(opts);\n };\n\n } else if (link.hints &&\n link.hints.allow &&\n link.hints.allow.length === 1) {\n var method = link.hints.allow[0];\n switch (method) {\n\n case 'GET':\n return function() {\n return http.get(sdk, link.href);\n };\n\n case 'POST':\n return function(opts) {\n if (ref && ref.isPolling) {\n ref.isPolling = false;\n }\n\n var data = addStateToken(res, opts);\n\n if (res.status === 'MFA_ENROLL') {\n // Add factorType and provider\n util.extend(data, {\n factorType: obj.factorType,\n provider: obj.provider\n });\n }\n\n var params = {};\n var autoPush = data.autoPush;\n if (autoPush !== undefined) {\n if (typeof autoPush === 'function') {\n try {\n params.autoPush = !!autoPush();\n }\n catch (e) {\n return Q.reject(new AuthSdkError('AutoPush resulted in an error.'));\n }\n }\n else if (autoPush !== null) {\n params.autoPush = !!autoPush;\n }\n data = util.omit(data, 'autoPush');\n }\n\n var rememberDevice = data.rememberDevice;\n if (rememberDevice !== undefined) {\n if (typeof rememberDevice === 'function') {\n try {\n params.rememberDevice = !!rememberDevice();\n }\n catch (e) {\n return Q.reject(new AuthSdkError('RememberDevice resulted in an error.'));\n }\n }\n else if (rememberDevice !== null) {\n params.rememberDevice = !!rememberDevice;\n }\n data = util.omit(data, 'rememberDevice');\n\n } else if (data.profile &&\n data.profile.updatePhone !== undefined) {\n if (data.profile.updatePhone) {\n params.updatePhone = true;\n }\n data.profile = util.omit(data.profile, 'updatePhone');\n }\n var href = link.href + util.toQueryParams(params);\n return postToTransaction(sdk, href, data);\n };\n }\n }\n}\n\nfunction links2fns(sdk, res, obj, ref) {\n var fns = {};\n for (var linkName in obj._links) {\n if (!obj._links.hasOwnProperty(linkName)) {\n continue;\n }\n\n var link = obj._links[linkName];\n \n if (linkName === 'next') {\n linkName = link.name;\n }\n\n if (link.type) {\n fns[linkName] = link;\n continue;\n }\n\n switch (linkName) {\n // poll is only found at the transaction\n // level, so we don't need to pass the link\n case 'poll':\n fns.poll = getPollFn(sdk, res, ref);\n break;\n\n default:\n var fn = link2fn(sdk, res, obj, link, ref);\n if (fn) {\n fns[linkName] = fn;\n }\n }\n }\n return fns;\n}\n\nfunction flattenEmbedded(sdk, res, obj, ref) {\n obj = obj || res;\n obj = util.clone(obj);\n\n if (Array.isArray(obj)) {\n var objArr = [];\n for (var o = 0, ol = obj.length; o < ol; o++) {\n objArr.push(flattenEmbedded(sdk, res, obj[o], ref));\n }\n return objArr;\n }\n\n var embedded = obj._embedded || {};\n\n for (var key in embedded) {\n if (!embedded.hasOwnProperty(key)) {\n continue;\n }\n\n // Flatten any nested _embedded objects\n if (util.isObject(embedded[key]) || Array.isArray(embedded[key])) {\n embedded[key] = flattenEmbedded(sdk, res, embedded[key], ref);\n }\n }\n\n // Convert any links on the embedded object\n var fns = links2fns(sdk, res, obj, ref);\n util.extend(embedded, fns);\n\n obj = util.omit(obj, '_embedded', '_links');\n util.extend(obj, embedded);\n return obj;\n}\n\nfunction AuthTransaction(sdk, res) {\n if (res) {\n this.data = res;\n util.extend(this, flattenEmbedded(sdk, res, res, {}));\n delete this.stateToken;\n\n // RECOVERY_CHALLENGE has some responses without _links.\n // Without _links, we emulate cancel to make it intuitive\n // to return to the starting state. We may remove this\n // when OKTA-75434 is resolved\n if (res.status === 'RECOVERY_CHALLENGE' && !res._links) {\n this.cancel = function() {\n return new Q(new AuthTransaction(sdk));\n };\n }\n }\n}\n\nmodule.exports = {\n transactionStatus: transactionStatus,\n resumeTransaction: resumeTransaction,\n transactionExists: transactionExists,\n postToTransaction: postToTransaction\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/@okta/okta-auth-js/lib/tx.js\n ** module id = 429\n ** module chunks = 0\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\nfunction AuthPollStopError() {\n this.name = 'AuthPollStopError';\n this.message = 'The poll was stopped by the sdk';\n}\nAuthPollStopError.prototype = new Error();\n\nmodule.exports = AuthPollStopError;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/@okta/okta-auth-js/lib/errors/AuthPollStopError.js\n ** module id = 430\n ** module chunks = 0\n **/","var util = require('./util');\nvar http = require('./http');\n\nfunction sessionExists(sdk) {\n return sdk.session.get()\n .then(function(res) {\n if (res.status === 'ACTIVE') {\n return true;\n }\n return false;\n })\n .fail(function() {\n return false;\n });\n}\n\nfunction getSession(sdk) { \n return http.get(sdk, '/api/v1/sessions/me')\n .then(function(session) {\n var res = util.omit(session, '_links');\n\n res.refresh = function() {\n return http.post(sdk, util.getLink(session, 'refresh').href);\n };\n\n res.user = function() {\n return http.get(sdk, util.getLink(session, 'user').href);\n };\n\n return res;\n })\n .fail(function() {\n // Return INACTIVE status on failure\n return {status: 'INACTIVE'};\n });\n}\n\nfunction closeSession(sdk) {\n return http.httpRequest(sdk, {\n url: sdk.options.url + '/api/v1/sessions/me',\n method: 'DELETE'\n });\n}\n\nfunction refreshSession(sdk) {\n return http.post(sdk, '/api/v1/sessions/me/lifecycle/refresh');\n}\n\nfunction setCookieAndRedirect(sdk, sessionToken, redirectUrl) {\n redirectUrl = redirectUrl || window.location.href;\n window.location = sdk.options.url + '/login/sessionCookieRedirect' +\n util.toQueryParams({\n checkAccountSetupComplete: true,\n token: sessionToken,\n redirectUrl: redirectUrl\n });\n}\n\nmodule.exports = {\n sessionExists: sessionExists,\n getSession: getSession,\n closeSession: closeSession,\n refreshSession: refreshSession,\n setCookieAndRedirect: setCookieAndRedirect\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/@okta/okta-auth-js/lib/session.js\n ** module id = 431\n ** module chunks = 0\n **/","/* eslint-disable complexity, max-statements */\nvar http = require('./http');\nvar util = require('./util');\nvar oauthUtil = require('./oauthUtil');\nvar Q = require('q');\nvar sdkCrypto = require('./crypto');\nvar AuthSdkError = require('./errors/AuthSdkError');\nvar OAuthError = require('./errors/OAuthError');\nvar config = require('./config');\nvar cookies = require('./cookies');\n\nfunction decodeToken(token) {\n var jwt = token.split('.');\n var decodedToken;\n\n try {\n decodedToken = {\n header: JSON.parse(util.base64UrlToString(jwt[0])),\n payload: JSON.parse(util.base64UrlToString(jwt[1])),\n signature: jwt[2]\n };\n } catch(e) {\n throw new AuthSdkError('Malformed token');\n }\n\n return decodedToken;\n}\n\nfunction verifyIdToken(sdk, idToken, options) {\n options = options || {};\n\n if (!sdk.features.isTokenVerifySupported()) {\n return Q.reject(new AuthSdkError('This browser doesn\\'t support crypto.subtle'));\n }\n\n function isExpired(jwtExp) {\n var expirationTime;\n if (options.expirationTime || options.expirationTime === 0) {\n expirationTime = options.expirationTime;\n } else {\n expirationTime = Math.floor(Date.now()/1000);\n }\n if (jwtExp &&\n jwtExp > expirationTime) {\n return true;\n }\n }\n\n function hasAudience(jwtAudience) {\n if (!options.audience) {\n return true;\n }\n var audiences = Array.isArray(options.audience) ? options.audience : [options.audience];\n var jwtAudiences = Array.isArray(jwtAudience) ? jwtAudience : [jwtAudience];\n var ai = audiences.length;\n while (ai--) {\n var aud = audiences[ai];\n if (jwtAudiences.indexOf(aud) !== -1) {\n return true;\n }\n }\n }\n\n return oauthUtil.getWellKnown(sdk)\n .then(function(res) {\n return http.get(sdk, res['jwks_uri']);\n })\n .then(function(res) {\n var key = res.keys[0];\n return sdkCrypto.verifyToken(idToken, key);\n })\n .then(function(res) {\n if (!res) {\n return false;\n }\n var jwt = sdk.token.decode(idToken);\n\n if (isExpired(jwt.payload.exp)) {\n return false;\n }\n\n if (!hasAudience(jwt.payload.aud)) {\n return false;\n }\n\n if (options.issuer &&\n options.issuer !== jwt.payload.iss) {\n return false;\n }\n\n return true;\n });\n}\n\nfunction verifyToken(sdk, token, nonce, ignoreSignature) {\n return new Q()\n .then(function() {\n if (!token || !token.idToken) {\n throw new AuthSdkError('Only idTokens may be verified');\n }\n\n var jwt = decodeToken(token.idToken);\n\n // Standard claim validation\n oauthUtil.validateClaims(sdk, jwt.payload, token.clientId, token.issuer, nonce);\n\n // If the browser doesn't support native crypto or we choose not \n // to verify the signature, bail early\n if (ignoreSignature || !sdk.features.isTokenVerifySupported()) {\n return token;\n }\n\n return oauthUtil.getKey(sdk, token.issuer, jwt.header.kid)\n .then(function(key) {\n return sdkCrypto.verifyToken(token.idToken, key);\n })\n .then(function(valid) {\n if (!valid) {\n throw new AuthSdkError('The token signature is not valid');\n }\n return token;\n });\n });\n}\n\nfunction refreshIdToken(sdk, options) {\n options = options || {};\n options.display = null;\n options.prompt = 'none';\n return getToken(sdk, options);\n}\n\nfunction addPostMessageListener(sdk, timeout, state) {\n var deferred = Q.defer();\n\n function responseHandler(e) {\n if (!e.data ||\n e.origin !== sdk.options.url ||\n (e.data && util.isString(state) && e.data.state !== state)) {\n return;\n }\n deferred.resolve(e.data);\n }\n\n oauthUtil.addListener(window, 'message', responseHandler);\n\n return deferred.promise.timeout(timeout || 120000, new AuthSdkError('OAuth flow timed out'))\n .fin(function() {\n oauthUtil.removeListener(window, 'message', responseHandler);\n });\n}\n\nfunction addFragmentListener(sdk, windowEl, timeout) {\n var deferred = Q.defer();\n\n function hashChangeHandler() {\n /*\n We are only able to access window.location.hash on a window\n that has the same domain. A try/catch is necessary because\n there's no other way to determine that the popup is in\n another domain. When we try to access a window on another \n domain, an error is thrown.\n */\n try {\n if (windowEl &&\n windowEl.location &&\n windowEl.location.hash) {\n deferred.resolve(oauthUtil.hashToObject(windowEl.location.hash));\n } else if (windowEl && !windowEl.closed) {\n setTimeout(hashChangeHandler, 500);\n }\n } catch (err) {\n setTimeout(hashChangeHandler, 500);\n }\n }\n\n hashChangeHandler();\n\n return deferred.promise.timeout(timeout || 120000, new AuthSdkError('OAuth flow timed out'));\n}\n\nfunction handleOAuthResponse(sdk, oauthParams, res, urls) {\n urls = urls || {};\n\n var tokenTypes = oauthParams.responseType;\n var scopes = util.clone(oauthParams.scopes);\n var clientId = oauthParams.clientId || sdk.options.clientId;\n\n return new Q()\n .then(function() {\n if (res['error'] || res['error_description']) {\n throw new OAuthError(res['error'], res['error_description']);\n }\n\n if (res.state !== oauthParams.state) {\n throw new AuthSdkError('OAuth flow response state doesn\\'t match request state');\n }\n\n var tokenDict = {};\n \n if (res['access_token']) {\n tokenDict['token'] = {\n accessToken: res['access_token'],\n expiresAt: Number(res['expires_in']) + Math.floor(Date.now()/1000),\n tokenType: res['token_type'],\n scopes: scopes,\n authorizeUrl: urls.authorizeUrl,\n userinfoUrl: urls.userinfoUrl\n };\n }\n\n if (res['code']) {\n tokenDict['code'] = {\n authorizationCode: res['code']\n };\n }\n\n if (res['id_token']) {\n var jwt = sdk.token.decode(res['id_token']);\n\n var idToken = {\n idToken: res['id_token'],\n claims: jwt.payload,\n expiresAt: jwt.payload.exp,\n scopes: scopes,\n authorizeUrl: urls.authorizeUrl,\n issuer: urls.issuer,\n clientId: clientId\n };\n\n return verifyToken(sdk, idToken, oauthParams.nonce, true)\n .then(function() {\n tokenDict['id_token'] = idToken;\n return tokenDict;\n });\n }\n\n return tokenDict;\n })\n .then(function(tokenDict) {\n if (!Array.isArray(tokenTypes)) {\n return tokenDict[tokenTypes];\n }\n\n if (!tokenDict['token'] && !tokenDict['id_token']) {\n throw new AuthSdkError('Unable to parse OAuth flow response');\n }\n\n // Create token array in the order of the responseType array\n return tokenTypes.map(function(item) {\n return tokenDict[item];\n });\n });\n}\n\nfunction getDefaultOAuthParams(sdk, oauthOptions) {\n oauthOptions = util.clone(oauthOptions) || {};\n\n if (oauthOptions.scope) {\n util.deprecate('The param \"scope\" is equivalent to \"scopes\". Use \"scopes\" instead.');\n oauthOptions.scopes = oauthOptions.scope;\n delete oauthOptions.scope;\n }\n\n var defaults = {\n clientId: sdk.options.clientId,\n redirectUri: sdk.options.redirectUri || window.location.href,\n responseType: 'id_token',\n responseMode: 'okta_post_message',\n state: util.genRandomString(64),\n nonce: util.genRandomString(64),\n scopes: ['openid', 'email']\n };\n util.extend(defaults, oauthOptions);\n return defaults;\n}\n\nfunction convertOAuthParamsToQueryParams(oauthParams) {\n // Quick validation\n if (!oauthParams.clientId) {\n throw new AuthSdkError('A clientId must be specified in the OktaAuth constructor to get a token');\n }\n\n if (util.isString(oauthParams.responseType) && oauthParams.responseType.indexOf(' ') !== -1) {\n throw new AuthSdkError('Multiple OAuth responseTypes must be defined as an array');\n }\n\n // Convert our params to their actual OAuth equivalents\n var oauthQueryParams = util.removeNils({\n 'client_id': oauthParams.clientId,\n 'redirect_uri': oauthParams.redirectUri,\n 'response_type': oauthParams.responseType,\n 'response_mode': oauthParams.responseMode,\n 'state': oauthParams.state,\n 'nonce': oauthParams.nonce,\n 'prompt': oauthParams.prompt,\n 'display': oauthParams.display,\n 'sessionToken': oauthParams.sessionToken,\n 'idp': oauthParams.idp,\n 'max_age': oauthParams.maxAge\n });\n\n if (Array.isArray(oauthQueryParams['response_type'])) {\n oauthQueryParams['response_type'] = oauthQueryParams['response_type'].join(' ');\n }\n\n if (oauthParams.responseType.indexOf('id_token') !== -1 &&\n oauthParams.scopes.indexOf('openid') === -1) {\n throw new AuthSdkError('openid scope must be specified in the scopes argument when requesting an id_token');\n } else {\n oauthQueryParams.scope = oauthParams.scopes.join(' ');\n }\n\n return oauthQueryParams;\n}\n\nfunction buildAuthorizeParams(oauthParams) {\n var oauthQueryParams = convertOAuthParamsToQueryParams(oauthParams);\n return util.toQueryParams(oauthQueryParams);\n}\n\n/*\n * Retrieve an idToken from an Okta or a third party idp\n * \n * Two main flows:\n *\n * 1) Exchange a sessionToken for a token\n * \n * Required:\n * clientId: passed via the OktaAuth constructor or into getToken\n * sessionToken: 'yourtoken'\n *\n * Optional:\n * redirectUri: defaults to window.location.href\n * scopes: defaults to ['openid', 'email']\n *\n * Forced:\n * prompt: 'none'\n * responseMode: 'okta_post_message'\n * display: undefined\n *\n * 2) Get a token from an idp\n *\n * Required:\n * clientId: passed via the OktaAuth constructor or into getToken\n *\n * Optional:\n * redirectUri: defaults to window.location.href\n * scopes: defaults to ['openid', 'email']\n * idp: defaults to Okta as an idp\n * prompt: no default. Pass 'none' to throw an error if user is not signed in\n *\n * Forced:\n * display: 'popup'\n *\n * Only common optional params shown. Any OAuth parameters not explicitly forced are available to override\n *\n * @param {Object} oauthOptions\n * @param {String} [oauthOptions.clientId] ID of this client\n * @param {String} [oauthOptions.redirectUri] URI that the iframe or popup will go to once authenticated\n * @param {String[]} [oauthOptions.scopes] OAuth 2.0 scopes to request (openid must be specified)\n * @param {String} [oauthOptions.idp] ID of an external IdP to use for user authentication\n * @param {String} [oauthOptions.sessionToken] Bootstrap Session Token returned by the Okta Authentication API\n * @param {String} [oauthOptions.prompt] Determines whether the Okta login will be displayed on failure.\n * Use 'none' to prevent this behavior\n *\n * @param {Object} options\n * @param {Integer} [options.timeout] Time in ms before the flow is automatically terminated. Defaults to 120000\n * @param {String} [options.popupTitle] Title dispayed in the popup.\n * Defaults to 'External Identity Provider User Authentication'\n */\nfunction getToken(sdk, oauthOptions, options) {\n oauthOptions = oauthOptions || {};\n options = options || {};\n\n // Default OAuth query params\n var oauthParams = getDefaultOAuthParams(sdk, oauthOptions);\n\n // Start overriding any options that don't make sense\n var sessionTokenOverrides = {\n prompt: 'none',\n responseMode: 'okta_post_message',\n display: null\n };\n\n var idpOverrides = {\n display: 'popup'\n };\n\n if (oauthOptions.sessionToken) {\n util.extend(oauthParams, sessionTokenOverrides);\n } else if (oauthOptions.idp) {\n util.extend(oauthParams, idpOverrides);\n }\n\n // Use the query params to build the authorize url\n var requestUrl,\n urls;\n try {\n // Get authorizeUrl and issuer\n urls = oauthUtil.getOAuthUrls(sdk, oauthParams, options);\n requestUrl = urls.authorizeUrl + buildAuthorizeParams(oauthParams);\n } catch (e) {\n return Q.reject(e);\n }\n\n // Determine the flow type\n var flowType;\n if (oauthParams.sessionToken || oauthParams.display === null) {\n flowType = 'IFRAME';\n } else if (oauthParams.display === 'popup') {\n flowType = 'POPUP';\n } else {\n flowType = 'IMPLICIT';\n }\n\n function getOrigin(url) {\n var originRegex = /^(https?\\:\\/\\/)?([^:\\/?#]*(?:\\:[0-9]+)?)/;\n return originRegex.exec(url)[0];\n }\n\n // Execute the flow type\n switch (flowType) {\n case 'IFRAME':\n var iframePromise = addPostMessageListener(sdk, options.timeout, oauthParams.state);\n var iframeEl = oauthUtil.loadFrame(requestUrl);\n return iframePromise\n .then(function(res) {\n return handleOAuthResponse(sdk, oauthParams, res, urls);\n })\n .fin(function() {\n if (document.body.contains(iframeEl)) {\n iframeEl.parentElement.removeChild(iframeEl);\n }\n });\n\n case 'POPUP': // eslint-disable-line no-case-declarations\n var popupPromise;\n\n // Add listener on postMessage before window creation, so\n // postMessage isn't triggered before we're listening\n if (oauthParams.responseMode === 'okta_post_message') {\n if (!sdk.features.isPopupPostMessageSupported()) {\n return Q.reject(new AuthSdkError('This browser doesn\\'t have full postMessage support'));\n }\n popupPromise = addPostMessageListener(sdk, options.timeout, oauthParams.state);\n }\n\n // Create the window\n var windowOptions = {\n popupTitle: options.popupTitle\n };\n var windowEl = oauthUtil.loadPopup(requestUrl, windowOptions);\n\n // Poll until we get a valid hash fragment\n if (oauthParams.responseMode === 'fragment') {\n var windowOrigin = getOrigin(sdk.idToken.authorize._getLocationHref());\n var redirectUriOrigin = getOrigin(oauthParams.redirectUri);\n if (windowOrigin !== redirectUriOrigin) {\n return Q.reject(new AuthSdkError('Using fragment, the redirectUri origin (' + redirectUriOrigin +\n ') must match the origin of this page (' + windowOrigin + ')'));\n }\n popupPromise = addFragmentListener(sdk, windowEl, options.timeout);\n }\n\n // Both postMessage and fragment require a poll to see if the popup closed\n var popupDeferred = Q.defer();\n function hasClosed(win) { // eslint-disable-line no-inner-declarations\n if (win.closed) {\n popupDeferred.reject(new AuthSdkError('Unable to parse OAuth flow response'));\n }\n }\n var closePoller = setInterval(function() {\n hasClosed(windowEl);\n }, 500);\n\n // Proxy the promise results into the deferred\n popupPromise\n .then(function(res) {\n popupDeferred.resolve(res);\n })\n .fail(function(err) {\n popupDeferred.reject(err);\n });\n\n return popupDeferred.promise\n .then(function(res) {\n return handleOAuthResponse(sdk, oauthParams, res, urls);\n })\n .fin(function() {\n if (!windowEl.closed) {\n clearInterval(closePoller);\n windowEl.close();\n }\n });\n\n default:\n return Q.reject(new AuthSdkError('The full page redirect flow is not supported'));\n }\n}\n\nfunction getWithoutPrompt(sdk, oauthOptions, options) {\n var oauthParams = util.clone(oauthOptions) || {};\n util.extend(oauthParams, {\n prompt: 'none',\n responseMode: 'okta_post_message',\n display: null\n });\n return getToken(sdk, oauthParams, options);\n}\n\nfunction getWithPopup(sdk, oauthOptions, options) {\n var oauthParams = util.clone(oauthOptions) || {};\n util.extend(oauthParams, {\n display: 'popup'\n });\n return getToken(sdk, oauthParams, options);\n}\n\nfunction getWithRedirect(sdk, oauthOptions, options) {\n oauthOptions = util.clone(oauthOptions) || {};\n var oauthParams = getDefaultOAuthParams(sdk, oauthOptions);\n // If the user didn't specify a responseMode\n if (!oauthOptions.responseMode) {\n // And it's only an auth code request (responseType could be an array)\n var respType = oauthParams.responseType;\n if (respType.indexOf('code') !== -1 &&\n (util.isString(respType) || (Array.isArray(respType) && respType.length === 1))) {\n // Default the responseMode to query\n util.extend(oauthParams, {\n responseMode: 'query'\n });\n // Otherwise, default to fragment\n } else {\n util.extend(oauthParams, {\n responseMode: 'fragment'\n });\n }\n }\n \n var urls = oauthUtil.getOAuthUrls(sdk, oauthParams, options);\n var requestUrl = urls.authorizeUrl + buildAuthorizeParams(oauthParams);\n\n // Set session cookie to store the oauthParams\n cookies.setCookie(config.REDIRECT_OAUTH_PARAMS_COOKIE_NAME, JSON.stringify({\n responseType: oauthParams.responseType,\n state: oauthParams.state,\n nonce: oauthParams.nonce,\n scopes: oauthParams.scopes,\n urls: urls\n }));\n\n // Set nonce cookie for servers to validate nonce in id_token\n cookies.setCookie(config.REDIRECT_NONCE_COOKIE_NAME, oauthParams.nonce);\n\n // Set state cookie for servers to validate state\n cookies.setCookie(config.REDIRECT_STATE_COOKIE_NAME, oauthParams.state);\n\n sdk.token.getWithRedirect._setLocation(requestUrl);\n}\n\nfunction refreshToken(sdk, token) {\n if (!oauthUtil.isToken(token)) {\n return Q.reject(new AuthSdkError('Refresh must be passed a token with ' +\n 'an array of scopes and an accessToken or idToken'));\n }\n\n var responseType;\n if (token.accessToken) {\n responseType = 'token';\n } else {\n responseType = 'id_token';\n }\n return sdk.token.getWithoutPrompt({\n responseType: responseType,\n scopes: token.scopes\n }, {\n authorizeUrl: token.authorizeUrl,\n userinfoUrl: token.userinfoUrl,\n issuer: token.issuer\n });\n}\n\nfunction removeHash(sdk) {\n var nativeHistory = sdk.token.parseFromUrl._getHistory();\n var nativeDoc = sdk.token.parseFromUrl._getDocument();\n var nativeLoc = sdk.token.parseFromUrl._getLocation();\n if (nativeHistory && nativeHistory.replaceState) {\n nativeHistory.replaceState(null, nativeDoc.title, nativeLoc.pathname + nativeLoc.search);\n } else {\n nativeLoc.hash = '';\n }\n}\n\nfunction parseFromUrl(sdk, url) {\n var nativeLoc = sdk.token.parseFromUrl._getLocation();\n var hash = nativeLoc.hash;\n if (url) {\n hash = url.substring(url.indexOf('#'));\n }\n\n var oauthParamsCookie = cookies.getCookie(config.REDIRECT_OAUTH_PARAMS_COOKIE_NAME);\n if (!hash || !oauthParamsCookie) {\n return Q.reject(new AuthSdkError('Unable to parse a token from the url'));\n }\n try {\n var oauthParams = JSON.parse(oauthParamsCookie);\n var urls = oauthParams.urls;\n delete oauthParams.urls;\n cookies.deleteCookie(config.REDIRECT_OAUTH_PARAMS_COOKIE_NAME);\n } catch(e) {\n return Q.reject(new AuthSdkError('Unable to parse the ' + \n config.REDIRECT_OAUTH_PARAMS_COOKIE_NAME + ' cookie: ' + e.message));\n }\n\n return Q.resolve(oauthUtil.hashToObject(hash))\n .then(function(res) {\n if (!url) {\n // Remove the hash from the url\n removeHash(sdk);\n }\n return handleOAuthResponse(sdk, oauthParams, res, urls);\n });\n}\n\nfunction getUserInfo(sdk, accessTokenObject) {\n if (!accessTokenObject ||\n (!oauthUtil.isToken(accessTokenObject) && !accessTokenObject.accessToken && !accessTokenObject.userinfoUrl)) {\n return Q.reject(new AuthSdkError('getUserInfo requires an access token object'));\n }\n return http.httpRequest(sdk, {\n url: accessTokenObject.userinfoUrl,\n method: 'GET',\n accessToken: accessTokenObject.accessToken\n })\n .fail(function(err) {\n if (err.xhr && (err.xhr.status === 401 || err.xhr.status === 403)) {\n var authenticateHeader = err.xhr.getResponseHeader('WWW-Authenticate');\n if (authenticateHeader) {\n var errorMatches = authenticateHeader.match(/error=\"(.*?)\"/) || [];\n var errorDescriptionMatches = authenticateHeader.match(/error_description=\"(.*?)\"/) || [];\n var error = errorMatches[1];\n var errorDescription = errorDescriptionMatches[1];\n if (error && errorDescription) {\n err = new OAuthError(error, errorDescription);\n }\n }\n }\n throw err;\n });\n}\n\nmodule.exports = {\n getToken: getToken,\n getWithoutPrompt: getWithoutPrompt,\n getWithPopup: getWithPopup,\n getWithRedirect: getWithRedirect,\n parseFromUrl: parseFromUrl,\n refreshIdToken: refreshIdToken,\n decodeToken: decodeToken,\n verifyIdToken: verifyIdToken,\n refreshToken: refreshToken,\n getUserInfo: getUserInfo,\n verifyToken: verifyToken\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/@okta/okta-auth-js/lib/token.js\n ** module id = 432\n ** module chunks = 0\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\nvar util = require('./util');\n\nfunction verifyToken(idToken, key) {\n key = util.clone(key);\n\n var format = 'jwk';\n var algo = {\n name: 'RSASSA-PKCS1-v1_5',\n hash: { name: 'SHA-256' }\n };\n var extractable = true;\n var usages = ['verify'];\n\n // https://connect.microsoft.com/IE/feedback/details/2242108/webcryptoapi-importing-jwk-with-use-field-fails\n // This is a metadata tag that specifies the intent of how the key should be used.\n // It's not necessary to properly verify the jwt's signature.\n delete key.use;\n\n return crypto.subtle.importKey(\n format,\n key,\n algo,\n extractable,\n usages\n )\n .then(function(cryptoKey) {\n var jwt = idToken.split('.');\n var payload = util.stringToBuffer(jwt[0] + '.' + jwt[1]);\n var b64Signature = util.base64UrlDecode(jwt[2]);\n var signature = util.stringToBuffer(b64Signature);\n\n return crypto.subtle.verify(\n algo,\n cryptoKey,\n signature,\n payload\n );\n });\n}\n\nmodule.exports = {\n verifyToken: verifyToken\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/@okta/okta-auth-js/lib/crypto.js\n ** module id = 433\n ** module chunks = 0\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\nfunction OAuthError(errorCode, summary) {\n this.name = 'OAuthError';\n this.message = summary;\n\n this.errorCode = errorCode;\n this.errorSummary = summary;\n}\nOAuthError.prototype = new Error();\n\nmodule.exports = OAuthError;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/@okta/okta-auth-js/lib/errors/OAuthError.js\n ** module id = 434\n ** module chunks = 0\n **/","/* eslint complexity:[0,8] max-statements:[0,21] */\nvar util = require('./util');\nvar AuthSdkError = require('./errors/AuthSdkError');\nvar storageUtil = require('./storageUtil');\nvar Q = require('q');\nvar Emitter = require('tiny-emitter');\nvar config = require('./config');\nvar storageBuilder = require('./storageBuilder');\n\nfunction emitExpired(tokenMgmtRef, key, token) {\n tokenMgmtRef.emitter.emit('expired', key, token);\n}\n\nfunction clearRefreshTimeout(tokenMgmtRef, key) {\n clearTimeout(tokenMgmtRef.refreshTimeouts[key]);\n delete tokenMgmtRef.refreshTimeouts[key];\n}\n\nfunction clearRefreshTimeoutAll(tokenMgmtRef) {\n var refreshTimeouts = tokenMgmtRef.refreshTimeouts;\n for(var key in refreshTimeouts) {\n if (!refreshTimeouts.hasOwnProperty(key)) {\n continue;\n }\n clearRefreshTimeout(tokenMgmtRef, key);\n }\n tokenMgmtRef.refreshTimeouts = {};\n}\n\nfunction setRefreshTimeout(sdk, tokenMgmtRef, storage, key, token) {\n var refreshWait = (token.expiresAt * 1000) - Date.now();\n if (refreshWait < 0) {\n // Already expired\n refreshWait = 0;\n }\n var refreshTimeout = setTimeout(function() {\n if (tokenMgmtRef.autoRefresh) {\n return refresh(sdk, tokenMgmtRef, storage, key);\n } else if (token.expiresAt * 1000 <= Date.now()) {\n remove(tokenMgmtRef, storage, key);\n emitExpired(tokenMgmtRef, key, token);\n }\n }, refreshWait);\n\n // Clear any existing timeout\n clearRefreshTimeout(tokenMgmtRef, key);\n\n // Add a new timeout\n tokenMgmtRef.refreshTimeouts[key] = refreshTimeout;\n}\n\nfunction setRefreshTimeoutAll(sdk, tokenMgmtRef, storage) {\n try {\n var tokenStorage = storage.getStorage();\n } catch(e) {\n // Any errors thrown on instantiation will not be caught,\n // because there are no listeners yet\n tokenMgmtRef.emitter.emit('error', e);\n return;\n }\n\n for(var key in tokenStorage) {\n if (!tokenStorage.hasOwnProperty(key)) {\n continue;\n }\n var token = tokenStorage[key];\n setRefreshTimeout(sdk, tokenMgmtRef, storage, key, token);\n }\n}\n\nfunction add(sdk, tokenMgmtRef, storage, key, token) {\n var tokenStorage = storage.getStorage();\n if (!util.isObject(token) ||\n !token.scopes ||\n (!token.expiresAt && token.expiresAt !== 0) ||\n (!token.idToken && !token.accessToken)) {\n throw new AuthSdkError('Token must be an Object with scopes, expiresAt, and an idToken or accessToken properties');\n }\n tokenStorage[key] = token;\n storage.setStorage(tokenStorage);\n setRefreshTimeout(sdk, tokenMgmtRef, storage, key, token);\n}\n\nfunction get(storage, key) {\n var tokenStorage = storage.getStorage();\n return tokenStorage[key];\n}\n\nfunction remove(tokenMgmtRef, storage, key) {\n // Clear any listener for this token\n clearRefreshTimeout(tokenMgmtRef, key);\n\n // Remove it from storage\n var tokenStorage = storage.getStorage();\n delete tokenStorage[key];\n storage.setStorage(tokenStorage);\n}\n\nfunction refresh(sdk, tokenMgmtRef, storage, key) {\n try {\n var token = get(storage, key);\n if (!token) {\n throw new AuthSdkError('The tokenManager has no token for the key: ' + key);\n }\n } catch (e) {\n return Q.reject(e);\n }\n\n // Remove existing autoRefresh timeout for this key\n clearRefreshTimeout(tokenMgmtRef, key);\n\n return sdk.token.refresh(token)\n .then(function(freshToken) {\n add(sdk, tokenMgmtRef, storage, key, freshToken);\n tokenMgmtRef.emitter.emit('refreshed', key, freshToken, token);\n return freshToken;\n })\n .fail(function(err) {\n if (err.name === 'OAuthError') {\n remove(tokenMgmtRef, storage, key);\n emitExpired(tokenMgmtRef, key, token);\n }\n throw err;\n });\n}\n\nfunction clear(tokenMgmtRef, storage) {\n clearRefreshTimeoutAll(tokenMgmtRef);\n storage.clearStorage();\n}\n\nfunction TokenManager(sdk, options) {\n options = options || {};\n options.storage = options.storage || 'localStorage';\n if (!options.autoRefresh && options.autoRefresh !== false) {\n options.autoRefresh = true;\n }\n\n if (options.storage === 'localStorage' && !storageUtil.browserHasLocalStorage()) {\n util.warn('This browser doesn\\'t support localStorage. Switching to sessionStorage.');\n options.storage = 'sessionStorage';\n }\n\n if (options.storage === 'sessionStorage' && !storageUtil.browserHasSessionStorage()) {\n util.warn('This browser doesn\\'t support sessionStorage. Switching to cookie-based storage.');\n options.storage = 'cookie';\n }\n\n var storage;\n switch(options.storage) {\n case 'localStorage':\n storage = storageBuilder(localStorage, config.TOKEN_STORAGE_NAME);\n break;\n case 'sessionStorage':\n storage = storageBuilder(sessionStorage, config.TOKEN_STORAGE_NAME);\n break;\n case 'cookie':\n storage = storageBuilder(storageUtil.getCookieStorage(), config.TOKEN_STORAGE_NAME);\n break;\n default:\n throw new AuthSdkError('Unrecognized storage option');\n }\n\n var tokenMgmtRef = {\n emitter: new Emitter(),\n autoRefresh: options.autoRefresh,\n refreshTimeouts: {}\n };\n\n this.add = util.bind(add, this, sdk, tokenMgmtRef, storage);\n this.get = util.bind(get, this, storage);\n this.remove = util.bind(remove, this, tokenMgmtRef, storage);\n this.clear = util.bind(clear, this, tokenMgmtRef, storage);\n this.refresh = util.bind(refresh, this, sdk, tokenMgmtRef, storage);\n this.on = util.bind(tokenMgmtRef.emitter.on, tokenMgmtRef.emitter);\n this.off = util.bind(tokenMgmtRef.emitter.off, tokenMgmtRef.emitter);\n \n setRefreshTimeoutAll(sdk, tokenMgmtRef, storage);\n}\n\nmodule.exports = TokenManager;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/@okta/okta-auth-js/lib/TokenManager.js\n ** module id = 435\n ** module chunks = 0\n **/","function E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/tiny-emitter/index.js\n ** module id = 436\n ** module chunks = 0\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] */\ndefine(['okta', 'util/Logger'], function (Okta, Logger) {\n\n var Util = {};\n var _ = Okta._;\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 try {\n xhr.responseJSON = JSON.parse(xhr.responseText);\n } catch (parseException) {\n xhr.responseJSON = { errorSummary: Okta.loc('oform.error.unexpected', 'login') };\n return xhr;\n }\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 return Util;\n\n});\n\n\n\n/** WEBPACK FOOTER **\n ** ./target/js/util/Util.js\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, 50] */\ndefine([\n 'util/BaseLoginRouter',\n 'IDPDiscoveryController',\n 'PrimaryAuthController',\n 'VerifyDuoController',\n 'MfaVerifyController',\n 'VerifyWindowsHelloController',\n 'VerifyU2FController',\n 'VerifyWebauthnController',\n 'VerifyCustomFactorController',\n 'EnrollChoicesController',\n 'EnrollDuoController',\n 'EnrollQuestionController',\n 'EnrollWindowsHelloController',\n 'EnrollCallAndSmsController',\n 'EnrollOnPremController',\n 'EnrollSymantecVipController',\n 'EnrollYubikeyController',\n 'EnrollTotpController',\n 'EnrollU2FController',\n 'EnrollWebauthnController',\n 'EnrollCustomFactorController',\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 'views/shared/SecurityBeacon',\n 'views/shared/FactorBeacon',\n 'views/consent/ConsentBeacon'\n],\nfunction (BaseLoginRouter,\n IDPDiscoveryController,\n PrimaryAuthController,\n VerifyDuoController,\n MfaVerifyController,\n VerifyWindowsHelloController,\n VerifyU2FController,\n VerifyWebauthnController,\n VerifyCustomFactorController,\n EnrollChoicesController,\n EnrollDuoController,\n EnrollQuestionController,\n EnrollWindowsHelloController,\n EnrollCallAndSmsController,\n EnrollOnPremController,\n EnrollSymantecVipController,\n EnrollYubikeyController,\n EnrollTotpController,\n EnrollU2FController,\n EnrollWebauthnController,\n EnrollCustomFactorController,\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 SecurityBeacon,\n FactorBeacon,\n ConsentBeacon) {\n return BaseLoginRouter.extend({\n\n routes: {\n '': 'defaultAuth',\n 'signin': 'primaryAuth',\n 'signin/verify/duo/web': 'verifyDuo',\n 'signin/verify/fido/webauthn': 'verifyWebauthn',\n 'signin/verify/fido/u2f': 'verifyU2F',\n 'signin/verify/generic_saml/assertion:saml2': 'verifySAMLFactor',\n 'signin/verify/generic_oidc/assertion:oidc': 'verifyOIDCFactor',\n 'signin/verify/:provider/:factorType': 'verify',\n 'signin/enroll': 'enrollChoices',\n 'signin/enroll/duo/web': 'enrollDuo',\n 'signin/enroll/okta/question': 'enrollQuestion',\n 'signin/enroll/okta/sms': 'enrollSms',\n 'signin/enroll/okta/call': 'enrollCall',\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/:provider/:factorType': 'enrollTotpFactor',\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/: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 '*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'\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 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 verify: function (provider, factorType) {\n this.render(MfaVerifyController, {\n provider: provider.toUpperCase(),\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 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 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 enrollTotpFactor: function (provider, factorType) {\n this.render(EnrollTotpController, {\n provider: provider.toUpperCase(),\n factorType: factorType,\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, { Beacon: ConsentBeacon });\n }\n\n });\n\n});\n\n\n\n/** WEBPACK FOOTER **\n ** ./target/js/LoginRouter.js\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 '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 ** ./target/js/ActivateTotpController.js\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 './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.footer = new this.Footer(this.toJSON());\n this.add(this.footer);\n }\n\n this.addListeners();\n initialize.apply(this, arguments);\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 ** ./target/js/util/FormController.js\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(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 ** ./target/js/util/FormType.js\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(['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 this.trigger('pageRendered', {page: this.className});\n }\n });\n\n});\n\n\n\n/** WEBPACK FOOTER **\n ** ./target/js/util/BaseLoginController.js\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/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 return;\n }\n self.trigger('setTransactionError', err);\n self.trigger('error', self, err.xhr);\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 return;\n }\n self.trigger('setTransactionError', err);\n self.trigger('error', self, err.xhr);\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('setTransactionError', err);\n self.trigger('error', self, err.xhr);\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 ** ./target/js/models/BaseLoginModel.js\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 'util/FactorUtil',\n 'util/FormType',\n 'views/shared/TextBox'\n], function (Okta, FactorUtil, FormType, 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 name: 'passCode',\n input: TextBox,\n type: 'tel',\n placeholder: Okta.loc('mfa.challenge.enterCode.placeholder', 'login'),\n params: {\n innerTooltip: Okta.loc('mfa.challenge.enterCode.tooltip', 'login')\n }\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 ** ./target/js/views/enroll-factors/EnterPasscodeForm.js\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, 35], max-statements: [2, 36] */\ndefine([\n 'okta'\n],\nfunction (Okta) {\n\n var { TimeUtil } = Okta.internal.util;\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: 'factor.u2f.description',\n iconClassName: 'mfa-u2f',\n sortOrder: 2\n },\n 'WINDOWS_HELLO': {\n label: 'factor.windowsHello',\n description: 'factor.windowsHello.signin.description',\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 'SMS': {\n label: 'factor.sms',\n description: 'factor.sms.description',\n iconClassName: 'mfa-okta-sms',\n sortOrder: 6\n },\n 'CALL': {\n label: 'factor.call',\n description: 'factor.call.description',\n iconClassName: 'mfa-okta-call',\n sortOrder: 7\n },\n 'EMAIL': {\n label: 'factor.email',\n description: '',\n iconClassName: 'mfa-okta-email',\n sortOrder: 8\n },\n 'QUESTION': {\n label: 'factor.securityQuestion',\n description: 'factor.securityQuestion.description',\n iconClassName: 'mfa-okta-security-question',\n sortOrder: 9\n },\n 'DUO': {\n label: 'factor.duo',\n description: 'factor.duo.description',\n iconClassName: 'mfa-duo',\n sortOrder: 10\n },\n 'SYMANTEC_VIP': {\n label: 'factor.totpHard.symantecVip',\n description: 'factor.totpHard.description',\n iconClassName: 'mfa-symantec',\n sortOrder: 11\n },\n 'RSA_SECURID': {\n label: 'factor.totpHard.rsaSecurId',\n description: 'factor.totpHard.description',\n iconClassName: 'mfa-rsa',\n sortOrder: 12\n },\n 'ON_PREM': {\n label: '',\n description: 'factor.totpHard.description',\n iconClassName: 'mfa-onprem',\n sortOrder: 13\n },\n 'PASSWORD': {\n label: 'factor.password',\n description: '',\n iconClassName: 'mfa-okta-password',\n sortOrder: 14\n },\n 'GENERIC_SAML': {\n label: '',\n description: 'factor.customFactor.description',\n iconClassName: 'mfa-custom-factor',\n sortOrder: 15\n },\n 'GENERIC_OIDC': {\n label: '',\n description: 'factor.customFactor.description',\n iconClassName: 'mfa-custom-factor',\n sortOrder: 16\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 === 'FIDO' && factorType === 'webauthn') {\n if (this.settings.get('features.webauthn')) {\n return 'U2F';\n } else {\n return 'WINDOWS_HELLO';\n }\n }\n if (provider === 'FIDO' && factorType === 'u2f') {\n return 'U2F';\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 };\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 key = factorData[fn.getFactorName.apply(this, [provider, factorType])].description;\n return Okta.loc(key, 'login');\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\n return fn;\n});\n\n\n\n/** WEBPACK FOOTER **\n ** ./target/js/util/FactorUtil.js\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\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 ** ./target/js/views/shared/TextBox.js\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(['okta', 'util/Enums'], function (Okta, Enums) {\n\n return Okta.View.extend({\n template: '\\\n \\\n {{i18n code=\"mfa.backToFactors\" bundle=\"login\"}}\\\n \\\n ',\n className: 'auth-footer',\n events: {\n 'click .js-back' : function (e) {\n e.preventDefault();\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 ** ./target/js/views/enroll-factors/Footer.js\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, 12], 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 './RouterUtil',\n './Animations',\n './Errors',\n 'util/Bundles',\n 'util/Logger'\n],\nfunction (Okta, BrowserFeatures, Settings,\n Header, SecurityBeacon, AuthContainer, AppState, RouterUtil, Animations,\n Errors, 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 = '#okta-sign-in';\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.routeAfterAuthStatusChange(this, err);\n });\n\n this.listenTo(this.appState, 'change:transaction', function (appState, trans) {\n RouterUtil.routeAfterAuthStatusChange(this, null, 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 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: flashError\n }\n });\n this.appState.unset('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 ** ./target/js/util/BaseLoginRouter.js\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 '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 var compile = Okta.Handlebars.compile;\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 = compile('{{baseUrl}}/login/getimage?username={{username}}');\n\n function getSecurityImage (baseUrl, username, deviceFingerprint) {\n var url = securityImageUrlTpl({ baseUrl: baseUrl, username: username });\n\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 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 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 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 },\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 var self = this;\n if (res._embedded && res._embedded.policy) {\n this.set('policy', res._embedded.policy);\n }\n if (res._embedded && res._embedded.factors) {\n var settings = this.settings;\n var factors = _.map(res._embedded.factors, function (factor) {\n factor.settings = settings;\n factor.appState = self;\n return factor;\n });\n this.set('factors', new Factor.Collection(factors, { parse: true }));\n }\n this.set('lastAuthResponse', res);\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';\n }\n },\n 'isMfaEnroll': {\n deps: ['lastAuthResponse'],\n fn: function (res) {\n return res.status === 'MFA_ENROLL';\n }\n },\n 'isMfaChallenge': {\n deps: ['lastAuthResponse'],\n fn: function (res) {\n return res.status === 'MFA_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';\n }\n },\n 'isWaitingForActivation': {\n deps: ['isMfaEnrollActivate', 'lastAuthResponse'],\n fn: function (isMfaEnrollActivate, res) {\n return isMfaEnrollActivate && res.factorResult === 'WAITING';\n }\n },\n 'hasMultipleFactorsAvailable': {\n deps: ['lastAuthResponse', 'factors'],\n fn: function (res, factors) {\n if (res.status !== 'MFA_REQUIRED' && res.status !== 'MFA_CHALLENGE'\n && res.status !== 'UNAUTHENTICATED') {\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 '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 '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 },\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 ** ./target/js/models/AppState.js\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/FactorUtil',\n 'util/Util',\n 'util/Errors',\n './BaseLoginModel'\n],\nfunction (Okta, Q, factorUtil, Util, Errors, BaseLoginModel) {\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 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:hardware',\n 'question',\n 'push',\n 'u2f',\n 'password',\n 'assertion:saml2',\n 'assertion:oidc'\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 '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 },\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'], 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 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 },\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 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\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 {\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 or UNAUTHENTICATED with factors (passwordlessAuth)\n if (transaction.status === 'MFA_REQUIRED' || this.appState.get('promptForFactorInUnauthenticated')) {\n var factor = _.findWhere(transaction.factors, {\n id: this.get('id')\n });\n promise = factor.verify(data);\n }\n\n // MFA_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 };\n setTransaction(trans);\n // In Okta verify case we initiate poll.\n if (trans.status === 'MFA_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 setTransaction(trans);\n });\n });\n }\n });\n });\n },\n\n pushFactorHasAutoPush: function () {\n return this.settings.get('features.autoPush') && this.get('factorType') === 'push';\n }\n });\n\n var Factors = Okta.Collection.extend({\n\n model: Factor,\n comparator: 'sortOrder',\n\n // One override necessary here - Okta Verify with Push is treated like\n // one factor. In the beacon menu, there's only one option - only in the\n // view can you choose to enable the other factor (which will be exposed\n // by the backupFactor property)\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 if (!oktaPushFactor) {\n return factors;\n }\n var totpFactor = _.findWhere(factors, { provider: 'OKTA', factorType: 'token:software:totp' });\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 });\n\n return {\n Model: Factor,\n Collection: Factors\n };\n\n});\n\n\n\n/** WEBPACK FOOTER **\n ** ./target/js/models/Factor.js\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 'util/OAuth2Util',\n 'json!config/config'\n],\nfunction (Okta, Q, Errors, BrowserFeatures, Util, Logger, OAuth2Util, 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 $ = 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.windowsVerify': ['boolean', true, false],\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.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\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\n derived: {\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 // filters the idps passed into the widget to include only the ones we support.\n configuredSocialIdps: {\n deps: ['idps'],\n fn: function (idps) {\n return _.filter(idps, function (idp) {\n return _.contains(supportedIdps, idp.type.toLowerCase());\n });\n },\n cache: true\n },\n // social auth buttons order - 'above'/'below' the primary auth form (boolean)\n socialAuthPositionTop: {\n deps: ['configuredSocialIdps', 'idpDisplay'],\n fn: function (configuredSocialIdps, idpDisplay) {\n return !_.isEmpty(configuredSocialIdps) && idpDisplay.toUpperCase() === 'PRIMARY';\n },\n cache: true\n },\n // merges social auth and custom buttons into one array\n configuredButtons: {\n deps: ['configuredSocialIdps', 'customButtons'],\n fn: function (configuredSocialIdps, customButtons) {\n var self = this;\n var buttonArray = [];\n _.each(configuredSocialIdps, function (idp) {\n var type = idp.type.toLowerCase();\n var dataAttr = 'social-auth-' + type + '-button';\n var socialAuthButton = {\n id: idp.id,\n type: idp.type,\n dataAttr: dataAttr,\n className: 'social-auth-button ' + dataAttr,\n title: function () {\n return Okta.loc('socialauth.' + type + '.label');\n },\n click: function (e) {\n e.preventDefault();\n if (self.get('oauth2Enabled')) {\n OAuth2Util.getTokens(self, {idp: idp.id});\n } else {\n const baseUrl = self.get('baseUrl');\n const params = $.param({\n fromURI: self.get('relayState'),\n });\n const targetUri = `${baseUrl}/sso/idps/${idp.id}?${params}`;\n SharedUtil.redirect(targetUri);\n }\n }\n };\n buttonArray.push(socialAuthButton);\n });\n if(_.isArray(customButtons)) {\n _.each(customButtons, function (button) {\n var customConfiguredButton = {\n title: button.title,\n className: button.className + ' default-custom-button',\n click: button.click\n };\n buttonArray.push(customConfiguredButton);\n });\n }\n return buttonArray;\n },\n cache: true\n },\n //checks if there are any configured buttons\n hasConfiguredButtons: {\n deps: ['configuredButtons'],\n fn: function (configuredButtons) {\n return !_.isEmpty(configuredButtons);\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 (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 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 ** ./target/js/models/Settings.js\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 '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 \\\n
                \\\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 ** ./target/js/views/shared/Header.js\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\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 ** ./target/js/util/Animations.js\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(['okta'], function (Okta) {\n\n return Okta.View.extend({\n\n template: '\\\n
                \\\n
                \\\n \\\n ',\n\n equals: function (Beacon) {\n return Beacon && this instanceof Beacon;\n }\n\n });\n});\n\n\n\n/** WEBPACK FOOTER **\n ** ./target/js/views/shared/LoadingBeacon.js\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(['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
                \\\n
                \\\n
                \\\n
                \\\n
                \\\n
                \\\n
                \\\n \\\n \\\n
                \\\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 ** ./target/js/views/shared/SecurityBeacon.js\n **/","module.exports = require(\"regenerator-runtime\");\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/regenerator/index.js\n ** module id = 456\n ** module chunks = 0\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 = 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 ** ./~/babel-runtime/~/regenerator-runtime/runtime-module.js\n ** module id = 457\n ** module chunks = 0\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/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/~/regenerator-runtime/runtime.js\n ** module id = 458\n ** module chunks = 0\n **/","\"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 ** ./~/babel-runtime/helpers/asyncToGenerator.js\n ** module id = 459\n ** module chunks = 0\n **/","module.exports = { \"default\": require(\"core-js/library/fn/promise\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/promise.js\n ** module id = 460\n ** module chunks = 0\n **/","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.promise');\nrequire('../modules/es7.promise.finally');\nrequire('../modules/es7.promise.try');\nmodule.exports = require('../modules/_core').Promise;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/promise.js\n ** module id = 461\n ** module chunks = 0\n **/","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar userAgent = require('./_user-agent');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function')\n && promise.then(empty) instanceof FakePromise\n // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // we can't detect it synchronously, so just check versions\n && v8.indexOf('6.6') !== 0\n && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.promise.js\n ** module id = 462\n ** module chunks = 0\n **/","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_classof.js\n ** module id = 463\n ** module chunks = 0\n **/","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 ** ./~/core-js/library/modules/_an-instance.js\n ** module id = 464\n ** module chunks = 0\n **/","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_for-of.js\n ** module id = 465\n ** module chunks = 0\n **/","// 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 ** ./~/core-js/library/modules/_iter-call.js\n ** module id = 466\n ** module chunks = 0\n **/","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_is-array-iter.js\n ** module id = 467\n ** module chunks = 0\n **/","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/core.get-iterator-method.js\n ** module id = 468\n ** module chunks = 0\n **/","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_species-constructor.js\n ** module id = 469\n ** module chunks = 0\n **/","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_task.js\n ** module id = 470\n ** module chunks = 0\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/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_invoke.js\n ** module id = 471\n ** module chunks = 0\n **/","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n var promise = Promise.resolve(undefined);\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_microtask.js\n ** module id = 472\n ** module chunks = 0\n **/","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_new-promise-capability.js\n ** module id = 473\n ** module chunks = 0\n **/","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_perform.js\n ** module id = 474\n ** module chunks = 0\n **/","var global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_user-agent.js\n ** module id = 475\n ** module chunks = 0\n **/","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_promise-resolve.js\n ** module id = 476\n ** module chunks = 0\n **/","var hide = require('./_hide');\nmodule.exports = function (target, src, safe) {\n for (var key in src) {\n if (safe && target[key]) target[key] = src[key];\n else hide(target, key, src[key]);\n } return target;\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_redefine-all.js\n ** module id = 477\n ** module chunks = 0\n **/","'use strict';\nvar global = require('./_global');\nvar core = require('./_core');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_set-species.js\n ** module id = 478\n ** module chunks = 0\n **/","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_iter-detect.js\n ** module id = 479\n ** module chunks = 0\n **/","// https://github.com/tc39/proposal-promise-finally\n'use strict';\nvar $export = require('./_export');\nvar core = require('./_core');\nvar global = require('./_global');\nvar speciesConstructor = require('./_species-constructor');\nvar promiseResolve = require('./_promise-resolve');\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n} });\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es7.promise.finally.js\n ** module id = 480\n ** module chunks = 0\n **/","'use strict';\n// https://github.com/tc39/proposal-promise-try\nvar $export = require('./_export');\nvar newPromiseCapability = require('./_new-promise-capability');\nvar perform = require('./_perform');\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n var promiseCapability = newPromiseCapability.f(this);\n var result = perform(callbackfn);\n (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n return promiseCapability.promise;\n} });\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es7.promise.try.js\n ** module id = 481\n ** module chunks = 0\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],\nfunction (Okta) {\n var CAN_REMOVE_BEACON_CLS = 'can-remove-beacon';\n return Okta.View.extend({\n className: 'auth-container main-container',\n id: 'okta-sign-in',\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 ** ./target/js/views/shared/AuthContainer.js\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, 29],max-statements: [2, 30] */\ndefine([\n 'okta',\n './OAuth2Util',\n './Enums',\n './BrowserFeatures',\n './Errors',\n './ErrorCodes'\n],\nfunction (Okta, OAuth2Util, Enums, BrowserFeatures, Errors, ErrorCodes) {\n\n var { Util } = Okta.internal.util;\n var fn = {};\n\n var verifyUrlTpl = Okta.tpl('signin/verify/{{provider}}/{{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.createVerifyUrl = function (provider, factorType) {\n return verifyUrlTpl({\n provider: encodeURIComponent(provider.toLowerCase()),\n factorType: encodeURIComponent(factorType)\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.routeAfterAuthStatusChange = function (router, err, res) {\n\n // Global error handling for CORS enabled errors\n if (err && 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 && err.errorCode === ErrorCodes.INVALID_TOKEN_EXCEPTION) {\n router.appState.set('flashError', Okta.loc('error.expired.session'));\n router.controller.state.set('navigateDir', Enums.DIRECTION_BACK);\n router.navigate('', { trigger: true });\n return;\n }\n\n // Other errors are handled by the function making the authClient request\n if (err || !res || !res.status) {\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, err, res);\n };\n\n fn.handleResponseStatus = function (router, err, 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\n };\n\n if (res.relayState) {\n successData.relayState = res.relayState;\n }\n\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 Util.redirect(targetUrl);\n }\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 Util.redirect(sessionCookieRedirectTpl({\n baseUrl: router.settings.get('baseUrl'),\n token: encodeURIComponent(res.sessionToken),\n redirectUrl: encodeURIComponent(redirectUrl)\n }));\n }\n };\n }\n\n router.settings.callGlobalSuccess(Enums.SUCCESS, successData);\n return;\n case 'CONSENT_REQUIRED':\n if (router.settings.get('features.consent')) {\n router.navigate('signin/consent', {trigger: true});\n }\n return;\n case 'MFA_REQUIRED':\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 return;\n case 'MFA_CHALLENGE':\n // Since we normally trap MFA_CHALLENGE, this will only get called on a\n // page refresh. We need to return to MFA_REQUIRED to initialize the\n // page correctly (i.e. factors dropdown, etc)\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 router.navigate('signin/enroll', { trigger: true });\n return;\n case 'MFA_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 '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 ** ./target/js/util/RouterUtil.js\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 INVALID_TOKEN_EXCEPTION: 'E0000011'\n});\n\n\n\n/** WEBPACK FOOTER **\n ** ./target/js/util/ErrorCodes.js\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 '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, {prepend: options.settings.get('socialAuthPositionTop')});\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')) {\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 // Get DeviceFingerprint so we can use it for security image and for primary auth\n if (this.settings.get('features.deviceFingerprinting')) {\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\n});\n\n\n\n/** WEBPACK FOOTER **\n ** ./target/js/PrimaryAuthController.js\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 'views/shared/TextBox',\n 'util/DeviceFingerprint',\n 'util/TypingUtil'\n], function (Okta, TextBox, DeviceFingerprint, TypingUtil) {\n\n var _ = Okta._;\n\n return Okta.Form.extend({\n className: 'primary-auth-form',\n noCancelButton: true,\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 label: false,\n 'label-top': true,\n placeholder: Okta.loc('primaryauth.username.placeholder', 'login'),\n name: 'username',\n input: TextBox,\n inputId: 'okta-signin-username',\n type: 'text',\n disabled: this.options.appState.get('disableUsername'),\n params: {\n innerTooltip: {\n title: Okta.loc('primaryauth.username.placeholder', 'login'),\n text: Okta.loc('primaryauth.username.tooltip', 'login')\n },\n icon: 'person-16-gray'\n }\n };\n\n if (this.settings.get('features.showPasswordToggleOnSignInPage')) {\n userNameFieldObject.params.iconDivider = true;\n }\n return userNameFieldObject;\n },\n\n getPasswordField: function () {\n var passwordFieldObject = {\n label: false,\n 'label-top': true,\n placeholder: Okta.loc('primaryauth.password.placeholder', 'login'),\n name: 'password',\n inputId: 'okta-signin-password',\n validateOnlyIfDirty: true,\n type: 'password',\n params: {\n innerTooltip: {\n title: Okta.loc('primaryauth.password.placeholder', 'login'),\n text: Okta.loc('primaryauth.password.tooltip', 'login')\n },\n icon: 'remote-lock-16'\n }\n };\n if (this.settings.get('features.showPasswordToggleOnSignInPage')) {\n passwordFieldObject.params.iconDivider = true;\n passwordFieldObject.params.showPasswordToggle = true;\n }\n return passwordFieldObject;\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/** WEBPACK FOOTER **\n ** ./target/js/views/primary-auth/PrimaryAuthForm.js\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'], function (Q, Okta) {\n\n var $ = Okta.$;\n return {\n getUserAgent: function () {\n return navigator.userAgent;\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 = $('');\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 ** ./target/js/VerifyDuoController.js\n **/","/**\n * Duo Web SDK v2\n * Copyright 2017, 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 iframeId = 'duo_iframe',\n postAction = '',\n postArgument = 'sig_response',\n host,\n sigRequest,\n duoSig,\n appSig,\n iframe,\n submitCallback;\n\n function throwError(message, url) {\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 'https://www.duosecurity.com/docs/duoweb#first-steps'\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 * This function is set up to run when the DOM is ready, if the iframe was\n * not available during `init`.\n */\n function onDOMReady() {\n iframe = document.getElementById(iframeId);\n\n if (!iframe) {\n throw new Error(\n 'This page does not contain an iframe for Duo to use.' +\n 'Add an element like ' +\n 'to this page. ' +\n 'See https://www.duosecurity.com/docs/duoweb#3.-show-the-iframe ' +\n 'for more information.'\n );\n }\n\n // we've got an iframe, away we go!\n ready();\n\n // always clean up after yourself\n offReady(onDOMReady);\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 * ```\n * \n * ```\n *\n * @param {Object} options\n * @param {String} options.iframe The iframe, or id of an iframe to set up\n * @param {String} options.host Hostname\n * @param {String} options.sig_request Request token\n * @param {String} [options.post_action=''] URL to POST back to after successful auth\n * @param {String} [options.post_argument='sig_response'] Parameter name to use for response token\n * @param {Function} [options.submit_callback] If provided, duo will not submit the form instead execute\n * the callback function with 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 (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 (options.iframe) {\n if (options.iframe.tagName) {\n iframe = options.iframe;\n } else if (typeof options.iframe === 'string') {\n iframeId = options.iframe;\n }\n }\n\n if (typeof options.submit_callback === 'function') {\n submitCallback = options.submit_callback;\n }\n }\n\n // if we were given an iframe, no need to wait for the rest of the DOM\n if (iframe) {\n ready();\n } else {\n // try to find the iframe in the DOM\n iframe = document.getElementById(iframeId);\n\n // iframe is in the DOM, away we go!\n if (iframe) {\n ready();\n } else {\n // wait until the DOM is ready, then try again\n onReady(onDOMReady);\n }\n }\n\n // always clean up after yourself!\n offReady(init);\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 * Point the iframe at Duo, then wait for it to postMessage back to us.\n */\n function ready() {\n if (!host) {\n host = getDataAttribute(iframe, '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 'https://www.duosecurity.com/docs/duoweb#3.-show-the-iframe'\n );\n }\n }\n\n if (!duoSig || !appSig) {\n parseSigRequest(getDataAttribute(iframe, '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 'https://www.duosecurity.com/docs/duoweb#3.-show-the-iframe'\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(iframe, 'postAction') || postAction;\n }\n\n if (postArgument === 'sig_response') {\n postArgument = getDataAttribute(iframe, 'postArgument') || postArgument;\n }\n\n // point the iframe at Duo\n iframe.src = [\n 'https://', host, '/frame/web/v1/auth?tx=', duoSig,\n '&parent=', encodeURIComponent(document.location.href),\n '&v=2.6'\n ].join('');\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/** WEBPACK FOOTER **\n ** ./target/js/vendor/Duo-Web-v2.6.js\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(['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 \\\n {{linkText}}\\\n \\\n ',\n className: 'auth-footer clearfix',\n events: {\n 'click a' : 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 },\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 ** ./target/js/views/shared/FooterSignout.js\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, 16] */\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/mfa-verify/PushForm',\n 'views/mfa-verify/PasswordForm',\n 'views/mfa-verify/InlineTOTPForm',\n 'views/shared/FooterSignout'\n],\nfunction (Okta, BaseLoginController, TOTPForm, YubikeyForm, SecurityQuestionForm, PassCodeForm,\n PushForm, PasswordForm, InlineTOTPForm, 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 factors = options.appState.get('factors');\n var factorType = options.factorType;\n var provider = options.provider;\n\n var View;\n switch (factorType) {\n case 'question':\n View = SecurityQuestionForm;\n break;\n case 'sms':\n case 'call':\n case 'email':\n View = PassCodeForm;\n break;\n case 'token':\n case 'token:software:totp':\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 = factors.findWhere({ provider: provider, factorType: factorType });\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 // Okta Push is different from the other factors - it has a backup\n // totp factor that can be chosen with the InlineTOTPForm\n if (factorType === 'push' && this.model.get('isOktaFactor')) {\n this.add(InlineTOTPForm, {\n options: { model: this.model.get('backupFactor') }\n });\n\n if (this.settings.get('features.autoPush')) {\n 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 });\n }\n\n // Remember Device checkbox resides outside of the Push and TOTP forms.\n if (this.options.appState.get('allowRememberDevice')) {\n 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 });\n }\n // Set the rememberDevice on the TOTP factor since it is stored as backupFactor.\n this.listenTo(this.model, 'change:rememberDevice', function (model, rememberDevice) {\n model.get('backupFactor').set('rememberDevice', rememberDevice);\n });\n }\n\n if (!this.settings.get('features.hideSignOutLinkInMFA')) {\n this.add(new FooterSignout(this.toJSON()));\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 ** ./target/js/MfaVerifyController.js\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] */\ndefine(['okta', 'q', 'views/shared/TextBox'], function (Okta, Q, TextBox) {\n\n var subtitleTpl = Okta.Handlebars.compile('({{subtitle}})');\n var _ = Okta._;\n var API_RATE_LIMIT = 30000; //milliseconds\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 };\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 };\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 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 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.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 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(API_RATE_LIMIT);\n })\n .then(_.bind(function () {\n this.options.title = formAndButtonDetails.formRetry;\n this.enable();\n this.render();\n }, this));\n }\n }));\n this.addInput({\n label: false,\n 'label-top': true,\n placeholder: Okta.loc('mfa.challenge.enterCode.placeholder', 'login'),\n className: 'o-form-fieldset o-form-label-top auth-passcode',\n name: 'answer',\n input: TextBox,\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 }\n\n });\n\n});\n\n\n\n/** WEBPACK FOOTER **\n ** ./target/js/views/mfa-verify/PassCodeForm.js\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(['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 this.subtitle = Okta.loc('mfa.challenge.title', 'login', [factorName]);\n\n this.addInput({\n label: false,\n 'label-top': true,\n placeholder: Okta.loc('mfa.challenge.enterCode.placeholder', 'login'),\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 ** ./target/js/views/mfa-verify/TOTPForm.js\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(['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: false,\n 'label-top': true,\n className: 'o-form-fieldset o-form-label-top auth-passcode',\n name: 'answer',\n input: TextBox,\n type: 'password',\n placeholder: Okta.loc('factor.totpHard.yubikey.placeholder', 'login')\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 ** ./target/js/views/mfa-verify/YubikeyForm.js\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(['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 ** ./target/js/views/mfa-verify/SecurityQuestionForm.js\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(['okta', 'util/CookieUtil', 'util/Util'], function (Okta, CookieUtil, Util) {\n\n var _ = Okta._;\n // deviceName is escaped on BaseForm (see BaseForm's template)\n var titleTpl = Okta.Handlebars.compile('{{factorName}} ({{{deviceName}}})');\n var WARNING_TIMEOUT = 30000; //milliseconds\n var warningTemplate = '
                \\\n \\\n

                {{warning}}

                \\\n
                ';\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 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 this.showWarning(Okta.loc('oktaverify.warning', 'login'));\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 ** ./target/js/views/mfa-verify/PushForm.js\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\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: false,\n 'label-top': true,\n placeholder: Okta.loc('mfa.challenge.password.placeholder', 'login'),\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 ** ./target/js/views/mfa-verify/PasswordForm.js\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(['okta', 'views/shared/TextBox'], function (Okta, TextBox) {\n\n function addInlineTotp (form) {\n form.addDivider();\n form.addInput({\n label: false,\n 'label-top': true,\n placeholder: Okta.loc('mfa.challenge.enterCode.placeholder', 'login'),\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',\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 ** ./target/js/views/mfa-verify/InlineTOTPForm.js\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 '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 = Okta.loc('verify.windowsHello.subtitle.signingIn', '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 ** ./target/js/VerifyWindowsHelloController.js\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 */\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 ** ./target/js/util/webauthn.js\n **/","module.exports = { \"default\": require(\"core-js/library/fn/object/freeze\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/object/freeze.js\n ** module id = 515\n ** module chunks = 0\n **/","require('../../modules/es6.object.freeze');\nmodule.exports = require('../../modules/_core').Object.freeze;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/object/freeze.js\n ** module id = 516\n ** module chunks = 0\n **/","// 19.1.2.5 Object.freeze(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('freeze', function ($freeze) {\n return function freeze(it) {\n return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n };\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.object.freeze.js\n ** module id = 517\n ** module chunks = 0\n **/","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/_object-sap.js\n ** module id = 518\n ** module chunks = 0\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\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 ** ./target/js/util/FidoUtil.js\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(['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 ** ./target/js/views/shared/Spinner.js\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],\nfunction (Okta) {\n\n // Have to be unescaped for the html in enroll.windowsHello.error.notConfiguredHtml\n var template = '\\\n \\\n

                {{{message}}}

                \\\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 ** ./target/js/views/mfa-verify/HtmlErrorMessageView.js\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\ndefine([\n 'okta',\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, FormController, FormType, FooterSignout, Q, FactorUtil, FidoUtil, HtmlErrorMessageView) {\n\n var _ = Okta._;\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 = _.findWhere(transaction.factors, {\n factorType: 'u2f',\n provider: 'FIDO'\n });\n var self = this;\n return factor.verify()\n .then(function (transaction) {\n var factorData = transaction.factor;\n var appId = factorData.profile.appId;\n var registeredKeys = [{version: FidoUtil.getU2fVersion(), keyHandle: factorData.profile.credentialId }];\n self.trigger('request');\n\n var deferred = Q.defer();\n u2f.sign(appId, factorData.challenge.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 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 })\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
                \\\n

                {{i18n code=\"verify.u2f.instructions\" bundle=\"login\"}}

                \\\n

                {{i18n code=\"verify.u2f.instructionsBluetooth\" bundle=\"login\"}}

                \\\n
                \\\n
                '\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 ** ./target/js/VerifyU2FController.js\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'use strict';\n\n(function (){\n if ('u2f' in window || !('chrome' in window)) {\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}\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 $.inArray(navigator.platform, [\"iPhone\", \"iPad\", \"iPod\"]) > -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} 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} signRequests\n * @param {Array} 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}\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.}\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.} 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} 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} 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} registerRequests\n * @param {Array} 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} registerRequests\n * @param {Array} 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 ** ./~/u2f-api-polyfill/u2f-api-polyfill.js\n ** module id = 523\n ** module chunks = 0\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/* eslint complexity:[2, 10] */\n\ndefine([\n 'okta',\n 'util/FormController',\n 'util/FormType',\n 'util/CryptoUtil',\n 'util/FidoUtil',\n 'util/webauthn',\n 'views/shared/FooterSignout',\n 'q',\n 'util/FactorUtil',\n 'views/mfa-verify/HtmlErrorMessageView'\n],\nfunction (Okta, FormController, FormType, CryptoUtil, FidoUtil,\n webauthn, FooterSignout, Q, FactorUtil, HtmlErrorMessageView) {\n\n var _ = Okta._;\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 },\n\n save: function () {\n this.trigger('request');\n\n return this.doTransaction(function (transaction) {\n var factor = _.findWhere(transaction.factors, {\n factorType: 'webauthn',\n provider: 'FIDO'\n });\n\n var self = this;\n return factor.verify().then(function (transaction) {\n self.trigger('request');\n if (webauthn.isNewApiAvailable()) {\n // verify via browser webauthn js\n var options = _.extend({}, transaction.factor.challenge, {\n allowCredentials: [{\n type: 'public-key',\n id: CryptoUtil.strToBin(transaction.factor.profile.credentialId)\n }],\n challenge: CryptoUtil.strToBin(transaction.factor.challenge.challenge)\n });\n\n return new Q(navigator.credentials.get({publicKey: options}))\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 throw {\n xhr: {responseJSON: {errorSummary: error.message}}\n };\n });\n } else {\n // verify via legacy u2f js for non webauhtn supported browser\n var factorData = transaction.factor;\n var appId = factorData.challenge.extensions.appid;\n var registeredKeys = [{version: FidoUtil.getU2fVersion(), keyHandle: factorData.profile.credentialId}];\n self.trigger('request');\n\n var deferred = Q.defer();\n u2f.sign(appId, factorData.challenge.challenge, 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 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\n Form: {\n autoSave: true,\n hasSavingState: false,\n title: _.partial(Okta.loc, 'factor.u2f', 'login'),\n className: 'verify-webauthn-form',\n noCancelButton: true,\n save: _.partial(Okta.loc, 'verify.u2f.retry', 'login'),\n noButtonBar: function () {\n return !webauthn.isWebauthnOrU2fAvailable();\n },\n modelEvents: {\n 'request': '_startEnrollment',\n 'error': '_stopEnrollment'\n },\n\n formChildren: function () {\n var children = [];\n\n if (webauthn.isWebauthnOrU2fAvailable()) {\n children.push(FormType.View({\n View: '\\\n
                \\\n

                {{i18n code=\"verify.u2f.instructions\" bundle=\"login\"}}

                \\\n

                {{i18n code=\"verify.u2f.instructionsBluetooth\" bundle=\"login\"}}

                \\\n
                \\\n
                '\n }));\n }\n else {\n var errorMessageKey = 'u2f.error.factorNotSupported';\n if (this.options.appState.get('factors').length === 1) {\n errorMessageKey = 'u2f.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.isWebauthnOrU2fAvailable()) {\n this.model.save();\n }\n else {\n this.$('[data-se=\"u2f-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 ** ./target/js/VerifyWebauthnController.js\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\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 ** ./target/js/util/CryptoUtil.js\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\ndefine([\n 'okta',\n 'util/FormController',\n 'views/shared/FooterSignout',\n 'util/FactorUtil'\n],\nfunction (Okta, FormController, FooterSignout, FactorUtil) {\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 };\n },\n\n Footer: FooterSignout,\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 }\n\n });\n\n});\n\n\n\n/** WEBPACK FOOTER **\n ** ./target/js/VerifyCustomFactorController.js\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, 11] */\ndefine([\n 'okta',\n './util/FormController',\n './util/Enums',\n './util/RouterUtil',\n 'views/enroll-choices/FactorList',\n 'views/enroll-choices/RequiredFactorList'\n],\nfunction (Okta, FormController, Enums, RouterUtil, FactorList,\n RequiredFactorList) {\n\n var _ = Okta._;\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: 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 default:\n return Okta.loc('enroll.choices.description', 'login');\n }\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 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.where({ enrolled: false }),\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 }));\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 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 });\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 });\n\n});\n\n\n\n/** WEBPACK FOOTER **\n ** ./target/js/EnrollChoicesController.js\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 'util/RouterUtil'\n], function (Okta, RouterUtil) {\n\n var _ = Okta._;\n\n var FactorRow = Okta.View.extend({\n className: 'enroll-factor-row clearfix',\n\n template: '\\\n
                \\\n
                \\\n
                \\\n
                \\\n
                \\\n

                {{factorLabel}}

                \\\n {{#if factorDescription}}\\\n

                {{factorDescription}}

                \\\n {{/if}}\\\n
                \\\n
                \\\n ',\n\n attributes: function () {\n return { 'data-se': this.model.get('factorName') };\n },\n\n children: function () {\n if (this.model.get('enrolled')) {\n return [['', '.enroll-factor-label']];\n }\n else if (this.model.get('enrollment') === 'REQUIRED') {\n return [['', '.enroll-factor-label']];\n }\n\n return [[Okta.createButton({\n className: 'button',\n title: Okta.loc('enroll.choices.setup', 'login'),\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\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\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 listSubtitle}}\\\n
                {{listSubtitle}}
                \\\n {{/if}}\\\n {{#if listTitle}}\\\n
                {{listTitle}}
                \\\n {{/if}}\\\n
                \\\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 ** ./target/js/views/enroll-choices/FactorList.js\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(['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 initialize: function () {\n var numRequired = this.collection.length,\n numCompleted = this.collection.where({ enrolled: true }).length,\n currentStep = numCompleted + 1;\n this.listSubtitle = Okta.loc('enroll.choices.step', 'login', [currentStep, numRequired]);\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 ** ./target/js/views/enroll-choices/RequiredFactorList.js\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*/\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('');\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 ** ./target/js/EnrollDuoController.js\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 'util/FormController',\n 'util/FactorUtil',\n 'views/enroll-factors/Footer',\n 'views/shared/TextBox'\n],\nfunction (Okta, FormController, FactorUtil, 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: false,\n 'label-top': true,\n placeholder: Okta.loc('mfa.challenge.answer.placeholder', 'login'),\n className: 'o-form-fieldset o-form-label-top auth-passcode',\n name: 'answer',\n input: TextBox,\n type: 'text',\n params: {\n innerTooltip: Okta.loc('mfa.challenge.answer.tooltip', 'login')\n }\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 ** ./target/js/EnrollQuestionController.js\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 '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 this.$('.o-form-button-bar').removeClass('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 },\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 ** ./target/js/EnrollWindowsHelloController.js\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] */\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],\nfunction (Okta, FormController, Footer, PhoneTextBox, TextBox, CountryUtil, FormType) {\n\n var _ = Okta._;\n var API_RATE_LIMIT = 30000; //milliseconds\n var { Keys } = Okta.internal.util;\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), 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';\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\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\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 placeholder: Okta.loc('mfa.phoneNumber.placeholder', 'login'),\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 placeholder: Okta.loc('mfa.phoneNumber.ext.placeholder', 'login'),\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 ' + 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 ' + 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 placeholder: Okta.loc('mfa.challenge.enterCode.placeholder', 'login'),\n name: 'passCode',\n input: TextBox,\n type: 'tel',\n params: {\n innerTooltip: Okta.loc('mfa.challenge.enterCode.tooltip', 'login')\n },\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 initialize: function () {\n this.listenTo(this.model, 'error errors:clear', function () {\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 ** ./target/js/EnrollCallAndSmsController.js\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],\nfunction (Okta, ) {\n\n var _ = Okta._;\n var { TextBox } = Okta.internal.views.forms.inputs;\n\n return TextBox.extend({\n\n template: Okta.Handlebars.compile('\\\n {{countryCallingCode}}\\\n \\\n \\\n \\\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 ** ./target/js/views/enroll-factors/PhoneTextBox.js\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 './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 ** ./target/js/util/CountryUtil.js\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 */\ndefine({'US':'1', 'AG':'1', 'AI':'1', 'AS':'1', 'BB':'1', 'BM':'1', 'BS':'1', 'CA':'1', 'DM':'1', 'DO':'1', 'GD':'1', 'GU':'1', 'JM':'1', 'KN':'1', 'KY':'1', 'LC':'1', 'MP':'1', 'MS':'1', 'PR':'1', 'SX':'1', 'TC':'1', 'TT':'1', 'VC':'1', 'VG':'1', 'VI':'1', 'RU':'7', 'KZ':'7', 'EG':'20', 'ZA':'27', 'GR':'30', 'NL':'31', 'BE':'32', 'FR':'33', 'ES':'34', 'HU':'36', 'IT':'39', 'RO':'40', 'CH':'41', 'AT':'43', 'GB':'44', 'GG':'44', 'IM':'44', 'JE':'44', 'DK':'45', 'SE':'46', 'NO':'47', 'SJ':'47', 'PL':'48', 'DE':'49', 'PE':'51', 'MX':'52', 'CU':'53', 'AR':'54', 'BR':'55', 'CL':'56', 'CO':'57', 'VE':'58', 'MY':'60', 'AU':'61', 'CC':'61', 'CX':'61', 'ID':'62', 'PH':'63', 'NZ':'64', 'SG':'65', 'TH':'66', 'JP':'81', 'KR':'82', 'VN':'84', 'CN':'86', 'TR':'90', 'IN':'91', 'PK':'92', 'AF':'93', 'LK':'94', 'MM':'95', 'IR':'98', 'SS':'211', 'MA':'212', 'EH':'212', 'DZ':'213', 'TN':'216', 'LY':'218', 'GM':'220', 'SN':'221', 'MR':'222', 'ML':'223', 'GN':'224', 'CI':'225', 'BF':'226', 'NE':'227', 'TG':'228', 'BJ':'229', 'MU':'230', 'LR':'231', 'SL':'232', 'GH':'233', 'NG':'234', 'TD':'235', 'CF':'236', 'CM':'237', 'CV':'238', 'ST':'239', 'GQ':'240', 'GA':'241', 'CG':'242', 'CD':'243', 'AO':'244', 'GW':'245', 'IO':'246', 'AC':'247', 'SC':'248', 'SD':'249', 'RW':'250', 'ET':'251', 'SO':'252', 'DJ':'253', 'KE':'254', 'TZ':'255', 'UG':'256', 'BI':'257', 'MZ':'258', 'ZM':'260', 'MG':'261', 'RE':'262', 'YT':'262', 'ZW':'263', 'NA':'264', 'MW':'265', 'LS':'266', 'BW':'267', 'SZ':'268', 'KM':'269', 'SH':'290', 'TA':'290', 'ER':'291', 'AW':'297', 'FO':'298', 'GL':'299', 'GI':'350', 'PT':'351', 'LU':'352', 'IE':'353', 'IS':'354', 'AL':'355', 'MT':'356', 'CY':'357', 'FI':'358', 'AX':'358', 'BG':'359', 'LT':'370', 'LV':'371', 'EE':'372', 'MD':'373', 'AM':'374', 'BY':'375', 'AD':'376', 'MC':'377', 'SM':'378', 'VA':'379', 'UA':'380', 'RS':'381', 'ME':'382', 'HR':'385', 'SI':'386', 'BA':'387', 'MK':'389', 'CZ':'420', 'SK':'421', 'LI':'423', 'FK':'500', 'BZ':'501', 'GT':'502', 'SV':'503', 'HN':'504', 'NI':'505', 'CR':'506', 'PA':'507', 'PM':'508', 'HT':'509', 'GP':'590', 'BL':'590', 'MF':'590', 'BO':'591', 'GY':'592', 'EC':'593', 'GF':'594', 'PY':'595', 'MQ':'596', 'SR':'597', 'UY':'598', 'CW':'599', 'BQ':'599', 'TL':'670', 'NF':'672', 'BN':'673', 'NR':'674', 'PG':'675', 'TO':'676', 'SB':'677', 'VU':'678', 'FJ':'679', 'PW':'680', 'WF':'681', 'CK':'682', 'NU':'683', 'WS':'685', 'KI':'686', 'NC':'687', 'TV':'688', 'PF':'689', 'TK':'690', 'FM':'691', 'MH':'692', '001':'979', 'KP':'850', 'HK':'852', 'MO':'853', 'KH':'855', 'LA':'856', 'BD':'880', 'TW':'886', 'MV':'960', 'LB':'961', 'JO':'962', 'SY':'963', 'IQ':'964', 'KW':'965', 'SA':'966', 'YE':'967', 'OM':'968', 'PS':'970', 'AE':'971', 'IL':'972', 'BH':'973', 'QA':'974', 'BT':'975', 'MN':'976', 'NP':'977', 'TJ':'992', 'TM':'993', 'AZ':'994', 'GE':'995', 'KG':'996', 'UZ':'998', 'GS':500, 'PN':64, 'AQ':672, 'UM':1, 'AN':599});\n\n\n\n/** WEBPACK FOOTER **\n ** ./target/js/util/countryCallingCodes.js\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 '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 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 name: 'credentialId',\n input: TextBox,\n type: 'text',\n placeholder: Okta.loc('enroll.onprem.username.placeholder', 'login', [vendorName]),\n params: {\n innerTooltip: Okta.loc('enroll.onprem.username.tooltip', 'login', [_.escape(vendorName)])\n }\n }),\n FormType.Input({\n name: 'passCode',\n input: TextBox,\n type: 'password',\n placeholder: Okta.loc('enroll.onprem.passcode.placeholder', 'login', [vendorName]),\n params: {\n innerTooltip: Okta.loc('enroll.onprem.passcode.tooltip', 'login', [_.escape(vendorName)])\n }\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 ** ./target/js/EnrollOnPremController.js\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 'util/FormType',\n 'util/FormController',\n 'views/enroll-factors/Footer',\n 'views/shared/TextBox'],\nfunction (Okta, FormType, FormController, 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 name: 'credentialId',\n input: TextBox,\n type: 'text',\n placeholder: Okta.loc('enroll.symantecVip.credentialId.placeholder', 'login'),\n params: {\n innerTooltip: Okta.loc('enroll.symantecVip.credentialId.tooltip', 'login')\n }\n }),\n FormType.Input({\n name: 'passCode',\n input: TextBox,\n type: 'text',\n placeholder: Okta.loc('enroll.symantecVip.passcode1.placeholder', 'login'),\n params: {\n innerTooltip: Okta.loc('enroll.symantecVip.passcode1.tooltip', 'login')\n }\n }),\n FormType.Input({\n name: 'nextPassCode',\n input: TextBox,\n type: 'text',\n placeholder: Okta.loc('enroll.symantecVip.passcode2.placeholder', 'login'),\n params: {\n innerTooltip: Okta.loc('enroll.symantecVip.passcode2.tooltip', 'login')\n }\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 ** ./target/js/EnrollSymantecVipController.js\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 '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: '
                '\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 ** ./target/js/EnrollYubikeyController.js\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 '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

                {{title}}

                \\\n \\\n

                {{{appStoreLinkText}}}

                \\\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 title: Okta.loc('enroll.totp.installApp', 'login', [factorName]),\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: '',\n ANDROID: ''\n };\n if (this.settings.get('features.windowsVerify') && this.model.get('__provider__') === 'OKTA') {\n inputOptions.WINDOWS = '';\n } else if (this.model.get('__provider__') === 'GOOGLE') {\n inputOptions.BLACKBERRY = '';\n }\n\n var children = [\n FormType.Input({\n name: '__deviceType__',\n type: 'radio',\n options: inputOptions,\n className: 'device-type-input'\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 ** ./target/js/EnrollTotpController.js\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 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 WINDOWS: 'http://www.windowsphone.com/en-us/store/app/okta-verify/9df0e2c4-7301-411f-80e5-62fcf6679666'\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 BLACKBERRY: 'https://support.google.com/accounts/answer/1066447'\n },\n STORE: {\n APPLE: 'App Store',\n ANDROID: 'Google Play Store',\n WINDOWS: 'Windows Store',\n BLACKBERRY: 'Blackberry World Store'\n }\n});\n\n\n\n/** WEBPACK FOOTER **\n ** ./target/js/util/StoreLinks.js\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 '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
                \\\n
                \\\n

                {{instructions}}

                \\\n
                \\\n
                \\\n \\\n ',\n\n events: {\n 'click [data-type=\"manual-setup\"]': function (e) {\n e.preventDefault();\n var url = RouterUtil.createActivateFactorUrl(this.model.get('__provider__'),\n this.model.get('__factorType__'), 'manual');\n this.options.appState.trigger('navigate', url);\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.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 ** ./target/js/views/enroll-factors/BarcodeView.js\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\ndefine([\n 'okta',\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, 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 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 () {\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: '
                  \\\n
                1. {{{i18n code=\"enroll.u2f.general2\" bundle=\"login\"}}}
                2. \\\n
                3. {{i18n code=\"enroll.u2f.general3\" bundle=\"login\"}}
                4. \\\n
                '\n }));\n\n result.push(FormType.View({\n View: '\\\n
                \\\n

                {{i18n code=\"enroll.u2f.instructions\" bundle=\"login\"}}

                \\\n

                {{i18n code=\"enroll.u2f.instructionsBluetooth\" bundle=\"login\"}}

                \\\n
                \\\n
                \\\n
                \\\n
                \\\n
                \\\n
                '\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 ** ./target/js/EnrollU2FController.js\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\ndefine([\n 'okta',\n 'util/FormType',\n 'util/FormController',\n 'util/CryptoUtil',\n 'util/FidoUtil',\n 'util/webauthn',\n 'views/enroll-factors/Footer',\n 'q',\n 'views/mfa-verify/HtmlErrorMessageView'\n],\nfunction (Okta, FormType, FormController, CryptoUtil, FidoUtil, webauthn, Footer, Q, HtmlErrorMessageView) {\n\n var _ = Okta._;\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\n return this.doTransaction(function (transaction) {\n // enroll via browser webauthn js\n var activation = transaction.factor.activation;\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 });\n return new Q(navigator.credentials.create({publicKey: options}))\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 throw {\n xhr: {responseJSON: {errorSummary: error.message}}\n };\n });\n } else {\n // verify via legacy u2f js for non webauthn supported browser\n var registerRequests = [{\n version: FidoUtil.getU2fVersion(),\n challenge: activation.challenge\n }];\n var self = this;\n var deferred = Q.defer();\n u2f.register(activation.u2fParams.appid, registerRequests, [], function (data) {\n self.trigger('errors:clear');\n if (data.errorCode && data.errorCode !== 0) {\n deferred.reject({\n xhr: {\n responseJSON: {\n errorSummary: FidoUtil.getU2fEnrollErrorMessageByCode(data.errorCode)\n }\n }\n });\n } else {\n deferred.resolve(transaction.activate({\n attestation: data.registrationData,\n clientData: data.clientData\n }));\n }\n });\n return deferred.promise;\n }\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-webauthn-form',\n noButtonBar: function () {\n return !webauthn.isWebauthnOrU2fAvailable();\n },\n modelEvents: {\n 'request': '_startEnrollment',\n 'error': '_stopEnrollment'\n },\n formChildren: function () {\n var children = [];\n\n if (webauthn.isWebauthnOrU2fAvailable()) {\n //There is html in enroll.u2f.general2 in our properties file, reason why is unescaped\n children.push(FormType.View({\n View:\n '
                \\\n
                  \\\n
                1. {{{i18n code=\"enroll.u2f.general2\" bundle=\"login\"}}}
                2. \\\n
                3. {{i18n code=\"enroll.u2f.general3\" bundle=\"login\"}}
                4. \\\n
                \\\n
                \\\n
                \\\n

                {{i18n code=\"enroll.u2f.instructions\" bundle=\"login\"}}

                \\\n

                {{i18n code=\"enroll.u2f.instructionsBluetooth\" bundle=\"login\"}}

                \\\n
                \\\n
                \\\n
                \\\n
                \\\n
                \\\n
                '\n }));\n } else {\n var errorMessageKey = 'u2f.error.factorNotSupported';\n if (this.options.appState.get('factors').length === 1) {\n errorMessageKey = 'u2f.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.$('.u2f-instructions').hide();\n this.$('.u2f-enroll-text').show();\n this.$('.o-form-button-bar').hide();\n },\n\n _stopEnrollment: function () {\n this.$('.u2f-instructions').show();\n this.$('.u2f-enroll-text').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 ** ./target/js/EnrollWebauthnController.js\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\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 ** ./target/js/EnrollCustomFactorController.js\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 '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 ** ./target/js/BarcodeTotpController.js\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 '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 ** ./target/js/BarcodePushController.js\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\ndefine([\n 'okta',\n 'PrimaryAuthController',\n 'models/PrimaryAuth',\n 'views/idp-discovery/IDPDiscoveryForm',\n 'models/IDPDiscovery',\n 'views/shared/Footer',\n 'util/BaseLoginController'\n],\nfunction (Okta, PrimaryAuthController, PrimaryAuthModel, IDPDiscoveryForm, IDPDiscoveryModel,\n Footer, BaseLoginController) {\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 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 ** ./target/js/IDPDiscoveryController.js\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\ndefine([\n 'okta',\n 'views/primary-auth/PrimaryAuthForm'\n], function (Okta, 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 inputId: 'idp-discovery-username',\n placeholder: Okta.loc('primaryauth.username.placeholder', 'login'),\n disabled: false,\n params: {\n icon: 'person-16-gray'\n }\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 ** ./target/js/views/idp-discovery/IDPDiscoveryForm.js\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\ndefine([\n 'okta',\n 'models/PrimaryAuth',\n 'util/CookieUtil',\n 'util/Enums'\n],\nfunction (Okta, PrimaryAuthModel, CookieUtil, Enums) {\n\n var { Util } = Okta.internal.util;\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) {\n if(res.links && res.links[0] && res.links[0].properties['okta:idp:type'] === 'OKTA') {\n this.trigger('goToPrimaryAuth');\n }\n else {\n var successData = {\n idpDiscovery: {\n redirectToIdp: function (redirectUrl) {\n if(res.links && res.links[0] && res.links[0].href) {\n var queryParams = {fromURI: redirectUrl};\n if (res.links[0].properties && res.links[0].properties['okta:idp:type'] === 'SAML2') {\n queryParams['login_hint'] = username;\n }\n var url = res.links[0].href + Util.getUrlQueryString(queryParams);\n Util.redirect(url);\n }\n }\n }\n };\n this.settings.callGlobalSuccess(Enums.IDP_DISCOVERY, successData);\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 ** ./target/js/models/IDPDiscovery.js\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 '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 return [\n FormType.View({View: '\\\n

                \\\n {{i18n code=\"enroll.totp.manualSetupInstructions\" bundle=\"login\"}}\\\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 ** ./target/js/ManualSetupTotpController.js\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 'util/RouterUtil',\n 'util/Enums'\n],\nfunction (Okta, RouterUtil, Enums) {\n\n return Okta.View.extend({\n template: '\\\n \\\n {{i18n code=\"mfa.backToFactors\" bundle=\"login\"}}\\\n \\\n \\\n {{i18n code=\"mfa.scanBarcode\" bundle=\"login\"}}\\\n \\\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 ** ./target/js/views/enroll-factors/ManualSetupFooter.js\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 '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 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 placeholder: Okta.loc('mfa.phoneNumber.placeholder', 'login'),\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: '\\\n

                \\\n {{i18n code=\"enroll.totp.sharedSecretInstructions\" bundle=\"login\"}}\\\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: '
                ',\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 ** ./target/js/ManualSetupPushController.js\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(['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 \\\n {{i18n code=\"mfa.backToFactors\" bundle=\"login\"}}\\\n \\\n \\\n {{i18n code=\"mfa.scanBarcode\" bundle=\"login\"}}\\\n \\\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 if (this.options.appState.get('activatedFactorType') !== 'push') {\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 } else {\n this.model.startTransaction(function (authClient) {\n return authClient.tx.resume();\n })\n .then(function () {\n // Sets to trigger on a tick after the appState has been set.\n // This is due to calling the globalSuccessFn in a callback\n setTimeout(goToFactor);\n });\n }\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 ** ./target/js/views/enroll-factors/ManualSetupPushFooter.js\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 '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 \\\n {{i18n code=\"oform.back\" bundle=\"login\"}}\\\n \\\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

                {{i18n code=\"enroll.totp.enrollViaEmail.msg\" bundle=\"login\"}}

                \\\n

                {{email}}

                \\\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

                {{i18n code=\"enroll.totp.enrollViaSms.msg\" bundle=\"login\"}}

                \\\n

                {{phoneNumber}}

                \\\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 ** ./target/js/EnrollmentLinkSentController.js\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 '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 \\\n {{i18n code=\"oform.back\" bundle=\"login\"}}\\\n \\\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 ** ./target/js/EnterPasscodePushFlowController.js\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 'util/FormController',\n 'util/Enums',\n 'util/FormType',\n 'util/ValidationUtil',\n 'util/FactorUtil',\n 'views/expired-password/Footer',\n 'views/shared/TextBox'\n],\nfunction (Okta, FormController, Enums, FormType, ValidationUtil, FactorUtil, 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 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 Okta.loc('password.expired.title', 'login');\n }\n },\n subtitle: function () {\n if (this.options.appState.get('isPwdExpiringSoon')) {\n return Okta.loc('password.expiring.subtitle', '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: false,\n placeholder: Okta.loc('password.oldPassword.placeholder', 'login'),\n name: 'oldPassword',\n input: TextBox,\n type: 'password',\n params: {\n innerTooltip: Okta.loc('password.oldPassword.tooltip', 'login'),\n icon: 'credentials-16'\n }\n }),\n FormType.Divider(),\n FormType.Input({\n 'label-top': true,\n label: false,\n placeholder: Okta.loc('password.newPassword.placeholder', 'login'),\n name: 'newPassword',\n input: TextBox,\n type: 'password',\n params: {\n innerTooltip: Okta.loc('password.newPassword.tooltip', 'login'),\n icon: 'credentials-16'\n }\n }),\n FormType.Input({\n 'label-top': true,\n label: false,\n placeholder: Okta.loc('password.confirmPassword.placeholder', 'login'),\n name: 'confirmPassword',\n input: TextBox,\n type: 'password',\n params: {\n innerTooltip: Okta.loc('password.confirmPassword.tooltip', 'login'),\n icon: 'credentials-16'\n }\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 ** ./target/js/PasswordExpiredController.js\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(['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 'newPassword' and 'confirmPassword' fields on the model are a match.\n fn.validatePasswordMatch = function (model) {\n if (model.get('newPassword') !== model.get('confirmPassword')) {\n return {\n confirmPassword: Okta.loc('password.error.match', 'login')\n };\n }\n };\n\n return fn;\n\n});\n\n\n\n/** WEBPACK FOOTER **\n ** ./target/js/util/ValidationUtil.js\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(['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 \\\n {{i18n code=\"password.expiring.later\" bundle=\"login\"}}\\\n \\\n {{/if}}\\\n {{i18n code=\"signout\" bundle=\"login\"}}\\\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 ** ./target/js/views/expired-password/Footer.js\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 '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 Okta.loc('password.expired.title', 'login');\n }\n },\n subtitle: function () {\n if (this.options.appState.get('isPwdExpiringSoon')) {\n return Okta.loc('password.expiring.subtitle', 'login') + ' ' +\n 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 ** ./target/js/CustomPasswordExpiredController.js\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 '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 = '
                \\\n \\\n

                {{i18n code=\"password.forgot.noFactorsEnabled\" bundle=\"login\"}}

                \\\n
                ';\n\n var Footer = Okta.View.extend({\n template: '\\\n \\\n {{i18n code=\"goback\" bundle=\"login\"}}\\\n \\\n {{#if helpSupportNumber}}\\\n \\\n {{i18n code=\"mfa.noAccessToEmail\" bundle=\"login\"}}\\\n \\\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: '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 placeholder: Okta.loc('password.forgot.email.or.username.placeholder', 'login'),\n name: 'username',\n input: TextBox,\n type: 'text',\n inlineValidation: false,\n params: {\n innerTooltip: Okta.loc('password.forgot.email.or.username.tooltip', 'login'),\n icon: 'person-16-gray'\n }\n }));\n if (smsEnabled || callEnabled) {\n formChildren.push(FormType.View({\n View: Okta.View.extend({\n template: '\\\n

                \\\n {{i18n code=\"recovery.mobile.hint\" bundle=\"login\" arguments=\"mobileFactors\"}}\\\n

                ',\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 ** ./target/js/ForgotPasswordController.js\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],\nfunction (Okta) {\n\n return Okta.View.extend({\n template: '\\\n
                \\\n \\\n

                {{i18n code=\"contact.support\" bundle=\"login\" arguments=\"helpSupportNumber\"}}

                \\\n
                ',\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 ** ./target/js/views/shared/ContactSupport.js\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 '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 var API_RATE_LIMIT = 30000; //milliseconds\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), 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',\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 placeholder: Okta.loc('mfa.challenge.enterCode.placeholder', 'login'),\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 \\\n {{i18n code=\"password.forgot.code.notReceived\" bundle=\"login\"}}\\\n ';\n break;\n case Enums.RECOVERY_TYPE_UNLOCK:\n sendEmailLink = '\\\n \\\n {{i18n code=\"account.unlock.code.notReceived\" bundle=\"login\"}}\\\n ';\n break;\n default:\n break;\n }\n\n if (sendEmailLink && this.settings.get('features.emailRecovery')) {\n this.add(sendEmailLink);\n }\n\n this.add(new FooterSignout(_.extend(this.toJSON(), {linkText: Okta.loc('goback', 'login'), linkClassName: ''})));\n },\n\n postRender: function () {\n this.model.limitResending();\n }\n\n });\n\n});\n\n\n\n/** WEBPACK FOOTER **\n ** ./target/js/RecoveryChallengeController.js\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 '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 return [\n FormType.View({\n View: Okta.View.extend({\n template: '\\\n {{alert}}\\\n ',\n getTemplateData: function () {\n return { 'alert': Okta.loc('password.forgot.emailSent.title', 'login') };\n }\n })\n }),\n\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 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 },\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\n/** WEBPACK FOOTER **\n ** ./target/js/PwdResetEmailSentController.js\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 '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 Footer: FooterSignout\n\n });\n\n});\n\n\n\n/** WEBPACK FOOTER **\n ** ./target/js/RecoveryQuestionController.js\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 'util/FormController',\n 'util/FormType',\n 'util/ValidationUtil',\n 'util/FactorUtil',\n 'views/shared/FooterSignout',\n 'views/shared/TextBox'\n],\nfunction (Okta, FormController, FormType, ValidationUtil, FactorUtil, 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: _.partial(Okta.loc, 'password.reset.title', 'login'),\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 placeholder: Okta.loc('password.newPassword.placeholder', 'login'),\n name: 'newPassword',\n input: TextBox,\n type: 'password',\n params: {\n innerTooltip: Okta.loc('password.newPassword.tooltip', 'login'),\n icon: 'credentials-16'\n }\n }),\n FormType.Input({\n placeholder: Okta.loc('password.confirmPassword.placeholder', 'login'),\n name: 'confirmPassword',\n input: TextBox,\n type: 'password',\n params: {\n innerTooltip: Okta.loc('password.confirmPassword.tooltip', 'login'),\n icon: 'credentials-16'\n }\n })\n ];\n }\n },\n Footer: FooterSignout,\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 ** ./target/js/PasswordResetController.js\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(['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 ** ./target/js/RecoveryLoadingController.js\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 'util/FormController',\n 'util/Enums',\n 'util/FormType',\n 'util/ValidationUtil',\n 'views/shared/ContactSupport',\n 'views/shared/TextBox'\n],\nfunction (Okta, FormController, Enums, FormType, ValidationUtil, ContactSupport, TextBox) {\n\n var _ = Okta._;\n var noFactorsError = '
                \\\n \\\n

                {{i18n code=\"account.unlock.noFactorsEnabled\" bundle=\"login\"}}

                \\\n
                ';\n\n var Footer = Okta.View.extend({\n template: '\\\n \\\n {{i18n code=\"goback\" bundle=\"login\"}}\\\n \\\n {{#if helpSupportNumber}}\\\n \\\n {{i18n code=\"mfa.noAccessToEmail\" bundle=\"login\"}}\\\n \\\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 placeholder: Okta.loc('account.unlock.email.or.username.placeholder', 'login'),\n name: 'username',\n input: TextBox,\n type: 'text',\n inlineValidation: false,\n params: {\n innerTooltip: Okta.loc('account.unlock.email.or.username.tooltip', 'login'),\n icon: 'person-16-gray'\n }\n }));\n\n if (smsEnabled || callEnabled) {\n formChildren.push(FormType.View({\n View: Okta.View.extend({\n template: '\\\n

                \\\n {{i18n code=\"recovery.mobile.hint\" bundle=\"login\" arguments=\"mobileFactors\"}}\\\n

                ',\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 ** ./target/js/UnlockAccountController.js\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 '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 ** ./target/js/AccountUnlockedController.js\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 '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 ** ./target/js/UnlockEmailSentController.js\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(['okta', 'util/FormController'], function (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 token = this.options.token;\n var appState = this.options.appState;\n this.model.startTransaction(function (authClient) {\n if (token) {\n appState.trigger('loading', true);\n return authClient.tx.resume({\n stateToken: token\n });\n }\n\n if (authClient.tx.exists()) {\n appState.trigger('loading', true);\n return authClient.tx.resume();\n }\n\n appState.trigger('navigate', '');\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 ** ./target/js/RefreshAuthStateController.js\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 */\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],\nfunction (\n Okta,\n RegistrationSchema,\n LoginModel,\n BaseLoginController,\n Enums,\n RegistrationFormFactory,\n SubSchema,\n Errors\n) {\n\n var { _, Backbone } = Okta;\n\n var Footer = Okta.View.extend({\n template: '\\\n \\\n {{i18n code=\"goback\" bundle=\"login\"}}\\\n \\\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 self.settings.callGlobalError(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 global error\n var errMsg = error.callback? error.callback+':'+ error.errorSummary: error.errorSummary;\n this.settings.callGlobalError(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('{{label}}')({\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/** WEBPACK FOOTER **\n ** ./target/js/RegistrationController.js\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],\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 ** ./target/js/models/RegistrationSchema.js\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 './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 ** ./target/js/models/LoginModel.js\n **/","/* eslint max-statements: [2, 20], max-depth: [2, 3], complexity: [2, 9] */\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 passwordContainsUserName = function (username, password) {\n if(!username) {\n return false;\n }\n username = username.toLowerCase();\n password = password.toLowerCase();\n var usernameArr = getParts(username);\n //check if each username part contains password\n for (var i=0; i < usernameArr.length; i++){\n var usernamePart = usernameArr[i];\n if (password.indexOf(usernamePart) !== -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 \n if (_.isString(regex)) {\n if (regex === '^[#/userName]') {\n // with email as login enabled, we only have email populated\n // Therefore we fallback and run validation with email attribute.\n var username = model.has('userName') ? model.get('userName'): model.get('email');\n var password = value;\n return !passwordContainsUserName(username, 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 };\n }\n \n return inputOptions;\n };\n\n return {\n createInputOptions : fnCreateInputOptions,\n getUsernameParts: getParts,\n passwordContainsUserName: passwordContainsUserName\n };\n});\n\n\n/** WEBPACK FOOTER **\n ** ./target/js/util/RegistrationFormFactory.js\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(['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

                \\\n \\\n {{message}}\\\n

                \\\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 ** ./target/js/views/registration/SubSchema.js\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 '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 \\\n

                {{title}}

                \\\n {{desc}}\\\n \\\n {{i18n code=\"goback\" bundle=\"login\"}}\\\n \\\n ',\n getTemplateData: function () {\n var email = this.options.appState.get('username');\n return { \n 'desc': Okta.loc('registration.complete.desc', 'login', [email]),\n 'title': Okta.loc('registration.complete.title', 'login')\n };\n }\n })\n })\n ];\n }\n }\n });\n\n});\n\n\n/** WEBPACK FOOTER **\n ** ./target/js/RegistrationCompleteController.js\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] */\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 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: Okta.loc('consent.required.consentButton', 'login'),\n cancel: Okta.loc('consent.required.cancelButton', 'login'),\n formChildren: function () {\n var appState = this.options.appState;\n return [\n FormType.View({\n View: Okta.View.extend({\n className: 'consent-title',\n template: '\\\n

                {{{i18n code=\"consent.required.text\" bundle=\"login\" arguments=\"appName;userConsentName\"}}}

                \\\n ',\n getTemplateData: function () {\n return {\n appName: appState.escape('targetLabel'),\n userConsentName: appState.escape('userConsentName')\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',\n template: '\\\n

                {{i18n code=\"consent.required.description\" bundle=\"login\"}}

                \\\n {{#if termsOfService}}\\\n {{i18n code=\"consent.required.termsOfService\" bundle=\"login\"}}\\\n {{#if privacyPolicy}}\\\n •\\\n {{/if}}\\\n {{/if}}\\\n {{#if privacyPolicy}}\\\n {{i18n code=\"consent.required.privacyPolicy\" bundle=\"login\"}}\\\n {{/if}}\\\n ',\n getTemplateData: function () {\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});\n\n\n\n/** WEBPACK FOOTER **\n ** ./target/js/ConsentRequiredController.js\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 './ScopeItem'\n], function (Okta, ScopeItem) {\n\n return Okta.View.extend({\n className: 'scope-list',\n template: '\\\n
                \\\n ',\n\n postRender: function () {\n this.model.get('scopes').forEach(scope => {\n var item = new ScopeItem({\n name: scope.displayName || scope.name,\n description: scope.description\n });\n this.$('.scope-list-wrapper').append(item.$el);\n });\n }\n });\n\n});\n\n\n\n/** WEBPACK FOOTER **\n ** ./target/js/views/consent/ScopeList.js\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 'qtip'\n], function (Okta) {\n\n return Okta.View.extend({\n className: 'scope-item',\n template: '\\\n
                \\\n

                {{name}}

                \\\n
                \\\n {{#if description}}\\\n \\\n {{/if}}\\\n ',\n\n initialize: function () {\n this.render();\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 ** ./target/js/views/consent/ScopeItem.js\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] */\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 var _ = Okta._;\n\n return Okta.View.extend({\n\n template: '\\\n
                \\\n
                \\\n
                \\\n
                \\\n \\\n
                \\\n
                \\\n ',\n\n events: {\n 'click .auth-beacon-factor': function (e) {\n e.preventDefault();\n e.stopPropagation();\n this.$('.dropdown .options').toggle();\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 = factors.findWhere(_.pick(this.options, 'provider', 'factorType'));\n } else {\n factor = new Factor.Model(this.options.appState.get('factor'), this.toJSON());\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 ** ./target/js/views/shared/FactorBeacon.js\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 './FactorsDropDownOptions'\n],\nfunction (Okta, 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 }\n });\n\n return BaseDropDown.extend({\n className: 'bg-helper icon-button',\n events: {\n 'click a.option-selected': function (e) {\n e.preventDefault();\n if (_.result(this, 'disabled')) {\n e.stopPropagation();\n } else {\n this.$('.options').toggle();\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 this.options.appState.get('factors').each(function (factor) {\n this.addOption(FactorsDropDownOptions.getDropdownOption(factor.get('factorName')), {model: factor});\n this.listenTo(this.last(), 'options:toggle', function () {\n this.$('.options').hide();\n });\n }, this);\n }\n });\n\n});\n\n\n\n/** WEBPACK FOOTER **\n ** ./target/js/views/mfa-verify/dropdown/FactorsDropDown.js\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] */\ndefine(['okta', 'util/RouterUtil'], function (Okta, RouterUtil) {\n\n var _ = Okta._;\n\n var action = function (model) {\n var url = RouterUtil.createVerifyUrl(model.get('provider'), model.get('factorType')),\n self = this;\n this.options.appState.trigger('factorSwitched');\n this.model.manageTransaction(function (transaction, setTransaction) {\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 },\n\n 'OKTA_VERIFY': {\n icon: 'factor-icon mfa-okta-verify-30',\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 title: function () {\n return this.model.get('factorLabel');\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 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 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 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 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 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',\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',\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',\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 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 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 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 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 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 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 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 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 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 title: function () {\n return this.model.get('factorLabel');\n },\n action: function () {\n action.call(this, this.model);\n }\n }\n };\n\n return {\n getDropdownOption: function (factorName) {\n return dropdownOptions[factorName];\n }\n };\n});\n\n\n\n/** WEBPACK FOOTER **\n ** ./target/js/views/mfa-verify/dropdown/FactorsDropDownOptions.js\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(['okta'], function (Okta) {\n\n return Okta.View.extend({\n\n className: 'consent-beacon',\n template: '\\\n
                \\\n
                \\\n
                \\\n
                \\\n
                \\\n
                \\\n \\\n
                \\\n
                \\\n \\\n
                \\\n
                \\\n
                \\\n {{#if clientURI}}\\\n \\\n {{/if}}\\\n
                \\\n {{#if clientURI}}\\\n \\\n {{/if}}\\\n {{#if customLogo}}\\\n \\\n {{else}}\\\n \\\n {{/if}}\\\n
                \\\n ',\n\n getTemplateData: function () {\n return {\n customLogo: this.options.appState.get('targetLogo') && this.options.appState.get('targetLogo').href,\n defaultLogo: this.options.appState.get('defaultAppLogo'),\n clientURI: this.options.appState.get('targetClientURI') && this.options.appState.get('targetClientURI').href\n };\n },\n\n equals: function (Beacon) {\n return Beacon && this instanceof Beacon;\n }\n\n });\n});\n\n\n\n/** WEBPACK FOOTER **\n ** ./target/js/views/consent/ConsentBeacon.js\n **/"],"sourceRoot":""}