{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/@babel/polyfill/lib/index.js","webpack:///./node_modules/@babel/polyfill/lib/noConflict.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/es6/index.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/fn/array/flat-map.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/fn/array/includes.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/fn/object/entries.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/fn/object/get-own-property-descriptors.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/fn/object/values.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/fn/promise/finally.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/fn/string/pad-end.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/fn/string/pad-start.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/fn/string/trim-end.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/fn/string/trim-start.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/fn/symbol/async-iterator.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/library/fn/global.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/library/modules/_a-function.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/library/modules/_an-object.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/library/modules/_core.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/library/modules/_ctx.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/library/modules/_descriptors.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/library/modules/_dom-create.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/library/modules/_export.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/library/modules/_fails.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/library/modules/_global.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/library/modules/_has.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/library/modules/_hide.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/library/modules/_ie8-dom-define.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/library/modules/_is-object.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/library/modules/_object-dp.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/library/modules/_property-desc.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/library/modules/_to-primitive.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/library/modules/es7.global.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_a-function.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_a-number-value.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_add-to-unscopables.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_advance-string-index.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_an-instance.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_an-object.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_array-copy-within.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_array-fill.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_array-includes.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_array-methods.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_array-reduce.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_array-species-constructor.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_array-species-create.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_bind.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_classof.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_cof.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_collection-strong.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_collection-weak.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_collection.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_core.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_create-property.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_ctx.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_date-to-iso-string.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_date-to-primitive.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_defined.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_descriptors.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_dom-create.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_enum-bug-keys.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_enum-keys.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_export.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_fails-is-regexp.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_fails.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_fix-re-wks.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_flags.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_flatten-into-array.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_for-of.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_function-to-string.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_global.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_has.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_hide.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_html.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_ie8-dom-define.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_inherit-if-required.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_invoke.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_iobject.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_is-array-iter.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_is-array.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_is-integer.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_is-object.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_is-regexp.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_iter-call.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_iter-create.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_iter-define.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_iter-detect.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_iter-step.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_iterators.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_library.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_math-expm1.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_math-fround.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_math-log1p.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_math-sign.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_meta.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_microtask.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_new-promise-capability.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-assign.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-create.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-dp.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-dps.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-gopd.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-gopn-ext.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-gopn.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-gops.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-gpo.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-keys-internal.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-keys.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-pie.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-sap.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_object-to-array.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_own-keys.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_parse-float.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_parse-int.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_perform.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_promise-resolve.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_property-desc.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_redefine-all.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_redefine.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_regexp-exec-abstract.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_regexp-exec.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_same-value.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_set-proto.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_set-species.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_set-to-string-tag.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_shared-key.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_shared.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_species-constructor.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_strict-method.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_string-at.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_string-context.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_string-html.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_string-pad.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_string-repeat.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_string-trim.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_string-ws.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_task.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_to-absolute-index.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_to-index.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_to-integer.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_to-iobject.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_to-length.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_to-object.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_to-primitive.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_typed-array.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_typed-buffer.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_typed.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_uid.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_user-agent.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_validate-collection.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_wks-define.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_wks-ext.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/_wks.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/core.get-iterator-method.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.copy-within.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.every.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.fill.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.filter.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.find-index.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.find.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.for-each.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.from.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.index-of.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.is-array.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.iterator.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.join.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.last-index-of.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.map.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.of.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.reduce-right.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.reduce.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.slice.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.some.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.sort.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.array.species.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.date.now.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.date.to-iso-string.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.date.to-json.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.date.to-primitive.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.date.to-string.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.function.bind.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.function.has-instance.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.function.name.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.map.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.acosh.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.asinh.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.atanh.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.cbrt.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.clz32.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.cosh.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.expm1.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.fround.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.hypot.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.imul.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.log10.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.log1p.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.log2.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.sign.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.sinh.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.tanh.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.math.trunc.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.number.constructor.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.number.epsilon.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.number.is-finite.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.number.is-integer.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.number.is-nan.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.number.is-safe-integer.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.number.max-safe-integer.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.number.min-safe-integer.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.number.parse-float.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.number.parse-int.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.number.to-fixed.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.number.to-precision.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.assign.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.create.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.define-properties.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.define-property.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.freeze.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.get-own-property-descriptor.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.get-own-property-names.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.get-prototype-of.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.is-extensible.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.is-frozen.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.is-sealed.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.is.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.keys.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.prevent-extensions.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.seal.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.set-prototype-of.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.object.to-string.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.parse-float.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.parse-int.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.promise.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.apply.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.construct.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.define-property.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.delete-property.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.enumerate.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.get-prototype-of.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.get.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.has.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.is-extensible.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.own-keys.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.prevent-extensions.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.set-prototype-of.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.reflect.set.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.regexp.constructor.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.regexp.exec.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.regexp.flags.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.regexp.match.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.regexp.replace.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.regexp.search.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.regexp.split.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.regexp.to-string.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.set.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.anchor.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.big.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.blink.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.bold.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.code-point-at.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.ends-with.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.fixed.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.fontcolor.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.fontsize.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.from-code-point.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.includes.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.italics.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.iterator.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.link.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.raw.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.repeat.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.small.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.starts-with.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.strike.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.sub.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.sup.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.string.trim.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.symbol.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.typed.array-buffer.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.typed.data-view.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.typed.float32-array.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.typed.float64-array.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.typed.int16-array.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.typed.int32-array.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.typed.int8-array.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.typed.uint16-array.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.typed.uint32-array.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.typed.uint8-array.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.typed.uint8-clamped-array.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.weak-map.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es6.weak-set.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es7.array.flat-map.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es7.array.includes.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es7.object.entries.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es7.object.get-own-property-descriptors.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es7.object.values.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es7.promise.finally.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es7.string.pad-end.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es7.string.pad-start.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es7.string.trim-left.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es7.string.trim-right.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/es7.symbol.async-iterator.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/web.dom.iterable.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/web.immediate.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/modules/web.timers.js","webpack:///./node_modules/@babel/polyfill/node_modules/core-js/web/index.js","webpack:///./node_modules/a11y-dialog/a11y-dialog.js","webpack:///./node_modules/animejs/lib/anime.es.js","webpack:///./node_modules/dom7/dom7.esm.js","webpack:///./node_modules/element-closest-polyfill/index.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/simplelightbox/dist/simple-lightbox.modules.js","webpack:///./node_modules/ssr-window/ssr-window.esm.js","webpack:///./node_modules/swiper/esm/components/a11y/a11y.js","webpack:///./node_modules/swiper/esm/components/autoplay/autoplay.js","webpack:///./node_modules/swiper/esm/components/controller/controller.js","webpack:///./node_modules/swiper/esm/components/core/breakpoints/getBreakpoint.js","webpack:///./node_modules/swiper/esm/components/core/breakpoints/index.js","webpack:///./node_modules/swiper/esm/components/core/breakpoints/setBreakpoint.js","webpack:///./node_modules/swiper/esm/components/core/check-overflow/index.js","webpack:///./node_modules/swiper/esm/components/core/classes/addClasses.js","webpack:///./node_modules/swiper/esm/components/core/classes/index.js","webpack:///./node_modules/swiper/esm/components/core/classes/removeClasses.js","webpack:///./node_modules/swiper/esm/components/core/core-class.js","webpack:///./node_modules/swiper/esm/components/core/defaults.js","webpack:///./node_modules/swiper/esm/components/core/events-emitter.js","webpack:///./node_modules/swiper/esm/components/core/events/index.js","webpack:///./node_modules/swiper/esm/components/core/events/onClick.js","webpack:///./node_modules/swiper/esm/components/core/events/onResize.js","webpack:///./node_modules/swiper/esm/components/core/events/onScroll.js","webpack:///./node_modules/swiper/esm/components/core/events/onTouchEnd.js","webpack:///./node_modules/swiper/esm/components/core/events/onTouchMove.js","webpack:///./node_modules/swiper/esm/components/core/events/onTouchStart.js","webpack:///./node_modules/swiper/esm/components/core/grab-cursor/index.js","webpack:///./node_modules/swiper/esm/components/core/grab-cursor/setGrabCursor.js","webpack:///./node_modules/swiper/esm/components/core/grab-cursor/unsetGrabCursor.js","webpack:///./node_modules/swiper/esm/components/core/images/index.js","webpack:///./node_modules/swiper/esm/components/core/images/loadImage.js","webpack:///./node_modules/swiper/esm/components/core/images/preloadImages.js","webpack:///./node_modules/swiper/esm/components/core/loop/index.js","webpack:///./node_modules/swiper/esm/components/core/loop/loopCreate.js","webpack:///./node_modules/swiper/esm/components/core/loop/loopDestroy.js","webpack:///./node_modules/swiper/esm/components/core/loop/loopFix.js","webpack:///./node_modules/swiper/esm/components/core/manipulation/addSlide.js","webpack:///./node_modules/swiper/esm/components/core/manipulation/appendSlide.js","webpack:///./node_modules/swiper/esm/components/core/manipulation/index.js","webpack:///./node_modules/swiper/esm/components/core/manipulation/prependSlide.js","webpack:///./node_modules/swiper/esm/components/core/manipulation/removeAllSlides.js","webpack:///./node_modules/swiper/esm/components/core/manipulation/removeSlide.js","webpack:///./node_modules/swiper/esm/components/core/modular.js","webpack:///./node_modules/swiper/esm/components/core/slide/index.js","webpack:///./node_modules/swiper/esm/components/core/slide/slideNext.js","webpack:///./node_modules/swiper/esm/components/core/slide/slidePrev.js","webpack:///./node_modules/swiper/esm/components/core/slide/slideReset.js","webpack:///./node_modules/swiper/esm/components/core/slide/slideTo.js","webpack:///./node_modules/swiper/esm/components/core/slide/slideToClickedSlide.js","webpack:///./node_modules/swiper/esm/components/core/slide/slideToClosest.js","webpack:///./node_modules/swiper/esm/components/core/slide/slideToLoop.js","webpack:///./node_modules/swiper/esm/components/core/transition/index.js","webpack:///./node_modules/swiper/esm/components/core/transition/setTransition.js","webpack:///./node_modules/swiper/esm/components/core/transition/transitionEnd.js","webpack:///./node_modules/swiper/esm/components/core/transition/transitionStart.js","webpack:///./node_modules/swiper/esm/components/core/translate/getTranslate.js","webpack:///./node_modules/swiper/esm/components/core/translate/index.js","webpack:///./node_modules/swiper/esm/components/core/translate/maxTranslate.js","webpack:///./node_modules/swiper/esm/components/core/translate/minTranslate.js","webpack:///./node_modules/swiper/esm/components/core/translate/setTranslate.js","webpack:///./node_modules/swiper/esm/components/core/translate/translateTo.js","webpack:///./node_modules/swiper/esm/components/core/update/index.js","webpack:///./node_modules/swiper/esm/components/core/update/updateActiveIndex.js","webpack:///./node_modules/swiper/esm/components/core/update/updateAutoHeight.js","webpack:///./node_modules/swiper/esm/components/core/update/updateClickedSlide.js","webpack:///./node_modules/swiper/esm/components/core/update/updateProgress.js","webpack:///./node_modules/swiper/esm/components/core/update/updateSize.js","webpack:///./node_modules/swiper/esm/components/core/update/updateSlides.js","webpack:///./node_modules/swiper/esm/components/core/update/updateSlidesClasses.js","webpack:///./node_modules/swiper/esm/components/core/update/updateSlidesOffset.js","webpack:///./node_modules/swiper/esm/components/core/update/updateSlidesProgress.js","webpack:///./node_modules/swiper/esm/components/effect-coverflow/effect-coverflow.js","webpack:///./node_modules/swiper/esm/components/effect-cube/effect-cube.js","webpack:///./node_modules/swiper/esm/components/effect-fade/effect-fade.js","webpack:///./node_modules/swiper/esm/components/effect-flip/effect-flip.js","webpack:///./node_modules/swiper/esm/components/hash-navigation/hash-navigation.js","webpack:///./node_modules/swiper/esm/components/history/history.js","webpack:///./node_modules/swiper/esm/components/keyboard/keyboard.js","webpack:///./node_modules/swiper/esm/components/lazy/lazy.js","webpack:///./node_modules/swiper/esm/components/mousewheel/mousewheel.js","webpack:///./node_modules/swiper/esm/components/navigation/navigation.js","webpack:///./node_modules/swiper/esm/components/pagination/pagination.js","webpack:///./node_modules/swiper/esm/components/parallax/parallax.js","webpack:///./node_modules/swiper/esm/components/scrollbar/scrollbar.js","webpack:///./node_modules/swiper/esm/components/thumbs/thumbs.js","webpack:///./node_modules/swiper/esm/components/virtual/virtual.js","webpack:///./node_modules/swiper/esm/components/zoom/zoom.js","webpack:///./node_modules/swiper/esm/modules/observer/observer.js","webpack:///./node_modules/swiper/esm/modules/resize/resize.js","webpack:///./node_modules/swiper/esm/utils/dom.js","webpack:///./node_modules/swiper/esm/utils/get-browser.js","webpack:///./node_modules/swiper/esm/utils/get-device.js","webpack:///./node_modules/swiper/esm/utils/get-support.js","webpack:///./node_modules/swiper/esm/utils/utils.js","webpack:///./node_modules/swiper/swiper.esm.js","webpack:///(webpack)/buildin/global.js","webpack:///./src/js/main.js","webpack:///./src/js/modules/accordion-tabs.js","webpack:///./src/js/modules/accordion.js","webpack:///./src/js/modules/blinds.js","webpack:///./src/js/modules/cookies.js","webpack:///./src/js/modules/embeddedMap.js","webpack:///./src/js/modules/flipcards.js","webpack:///./src/js/modules/modal.js","webpack:///./src/js/modules/modalcards.js","webpack:///./src/js/modules/modallink.js","webpack:///./src/js/modules/navigation.js","webpack:///./src/js/modules/stickyElem.js","webpack:///./src/js/modules/updateExternalLinks.js","webpack:///./src/js/modules/vertical-tabs.js","webpack:///./src/sass/main.scss?c426"],"names":["Swiper","use","Autoplay","Navigation","Lazy","EffectFade","A11y","Pagination","init","document","querySelector","accordions","SuperSimpleAccordions","iconsClass","iconsSymbol","iconsPosition","expandAllBtn","expandAllContainerClass","accordionTabs","AccordionTabs","icons","flipcards","blinds","slideSwiper","navigation","nextEl","prevEl","spaceBetween","loop","preloadImages","lazy","a11y","containerMessage","enabled","firstSlideMessage","lastSlideMessage","addEventListener","imagesSwiper","autoplay","delay","effect","fadeEffect","crossFade","updateExternalLinks","contentTitle","contentTitleArr","textContent","split","length","stickyWord","pop","innerText","join","lightbox","SimpleLightbox","captionsData","fileExt","scaleImageToRatio","scrollElems","querySelectorAll","i","e","target","hash","scrollIntoView","behavior","ModalPopup","mapSelector","mapEmbed","getElementById","EmbeddedMap","VerticalTabs","ModalCards","ModalLink","stickyNav","stickyStop","StickyElement","root","factory","define","global","window","plugin","defaults","accordionClass","headerClass","contentClass","panelClass","toggleBtnClass","expandAllClass","expandSelectClass","expandAllOpenText","expandAllCloseText","expanded","view","getView","deepMerge","len","arguments","key","Object","prototype","toString","call","Plugin","element","options","this","settings","setView","matchMedia","matches","tempMedia","windowWidth","innerWidth","mobileSetup","accordionPanels","Array","forEach","accordionPanel","removeAttribute","currentAccordion","selectedToggle","selectedPanel","accordionIconSetup","toggle","toggleBtn","iconContainer","createElement","classList","add","appendChild","accordionContentSetup","header","id","nextElementSibling","accordionContent","className","innerHTML","setAttribute","accordionToggleSetup","btnId","accordionHeader","accordionToggles","style","height","scrollHeight","accordionToggle","toggleAllSetup","firstAccordion","buttonContainer","button","parentContainer","parentNode","insertBefore","toggleButton","targetElem","direction","activeAccordion","toggleAccordion","event","getAttribute","controls","controlsElem","controlsElemChild","firstElementChild","controlsElemHeight","toggled","preventDefault","activeAccordionChild","setTimeout","toggleAccordionMobile","timeoutSet","toggleAllAccordions","buttons","clickHandler","closest","toggleAll","keyboardHandler","setup","accordionHeaders","ariaHidden","ariaExpanded","content","contains","updateToggleAllButton","toggleAllButton","current","group","isAccordion","next","push","_routeToggle","targetPanel","substring","targetToggle","accordion","location","onhashchange","nodes","highlighted","methods","flip","item","front","back","newSide","oldSide","hasAttribute","hidden","removeHighlight","remove","highlight","from","map","code","Cookie","get","name","treat","cookie","match","decodeURIComponent","set","value","opts","days","entries","reduce","accumulatedStr","k","v","encodeURIComponent","delete","container","onShow","mapboxgl","accessToken","embeddedMap","Map","center","pitch","bearing","zoom","addControl","NavigationControl","points","mapGeoJson","features","filter","feature","geometry","type","on","bounds","LngLatBounds","extend","coordinates","fitBoundsRotated","addSource","data","addLayer","source","paint","layout","properties","el","color","title","number","markerOnClick","Marker","setLngLat","addTo","eventData","padding","top","bottom","right","left","offset","maxZoom","convert","paddingOffset","lateralPadding","Math","min","verticalPadding","getBearing","Point","tr","transform","nw","project","getNorthWest","se","getSouthEast","size","sub","theta","PI","W","x","abs","cos","y","sin","H","rotatedSize","scaleX","width","scaleY","console","warn","unproject","div","scaleZoom","scale","linear","easeTo","flyTo","props","ref","dialogEl","dialogOverlay","tabIndex","dialogContent","dialogDocument","dialogButton","dataset","a11yDialogHide","dialogTitle","documentBody","dialog","A11yDialog","removeChild","show","playing","card","anime","targets","rotateY","easing","duration","complete","anim","cards","popup","popupId","modalSeen","path","cardOnClick","currentTarget","node","linkOnClick","closeButton","openButton","menu","stickyEl","stopStickyEl","stickyElem","stopStickyElem","yOffset","scrollingElement","scrollTop","findOffest","elem","rect","getBoundingClientRect","bodyElem","body","scrollLeft","stickyElemTop","stopStickyElemTop","maxY","offsetHeight","handleStickyElem","throttleTimer","throttle","callback","time","mediaQuery","updateExternaLinks","selector","_externalLinks","_link","_text","_indicator","module","exports","tabbed","tablist","tabs","panels","ariaSelected","switchTab","oldTab","newTab","focus","index","indexOf","oldIndex","tab","currentTab","dir","which","panel","activeTab","activePanel"],"mappings":"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C,cAAc,mBAAO,CAAC,qFAAS;AAC/B,eAAe,mBAAO,CAAC,mHAAwB;AAC/C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,6BAA6B;AAC7B,0BAA0B;AAC1B,0BAA0B;AAC1B,qBAAqB;AACrB;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,8EAA8E,OAAO;AACrF;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC,qBAAqB;AACrB,0BAA0B;AAC1B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;;;;;;;;;;;;AC/Ia;AACb,kBAAkB,mBAAO,CAAC,qGAAiB;AAC3C,cAAc,mBAAO,CAAC,qFAAS;AAC/B,eAAe,mBAAO,CAAC,+FAAc;AACrC,eAAe,mBAAO,CAAC,+FAAc;AACrC,iBAAiB,mBAAO,CAAC,mGAAgB;AACzC,YAAY,mBAAO,CAAC,yFAAW;AAC/B,wBAAwB,mBAAO,CAAC,uGAAkB;AAClD,WAAW,mBAAO,CAAC,mFAAQ;AAC3B,eAAe,mBAAO,CAAC,mHAAwB;AAC/C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,qBAAqB;AACrB,0BAA0B;AAC1B;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;;;;;ACpFa;AACb,aAAa,mBAAO,CAAC,yFAAW;AAChC,cAAc,mBAAO,CAAC,yFAAW;AACjC,eAAe,mBAAO,CAAC,6FAAa;AACpC,kBAAkB,mBAAO,CAAC,qGAAiB;AAC3C,WAAW,mBAAO,CAAC,qFAAS;AAC5B,YAAY,mBAAO,CAAC,yFAAW;AAC/B,iBAAiB,mBAAO,CAAC,mGAAgB;AACzC,eAAe,mBAAO,CAAC,+FAAc;AACrC,YAAY,mBAAO,CAAC,uFAAU;AAC9B,kBAAkB,mBAAO,CAAC,mGAAgB;AAC1C,qBAAqB,mBAAO,CAAC,+GAAsB;AACnD,wBAAwB,mBAAO,CAAC,mHAAwB;;AAExD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO,mCAAmC,gCAAgC,aAAa;AACvF,8BAA8B,mCAAmC,aAAa;AAC9E;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,qDAAqD;AACrD;AACA,kDAAkD,iBAAiB,EAAE;AACrE;AACA,wDAAwD,aAAa,EAAE,EAAE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;;;;;;;;;;;ACpFA,6BAA6B;AAC7B,uCAAuC;;;;;;;;;;;;;ACD1B;AACb,sBAAsB,mBAAO,CAAC,+FAAc;AAC5C,iBAAiB,mBAAO,CAAC,uGAAkB;;AAE3C;AACA;AACA;AACA;;;;;;;;;;;;ACPA;AACA,gBAAgB,mBAAO,CAAC,iGAAe;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACnBa;AACb;AACA,YAAY,mBAAO,CAAC,uFAAU;AAC9B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACzBY;AACb,eAAe,mBAAO,CAAC,+FAAc;AACrC,kBAAkB,mBAAO,CAAC,qGAAiB;AAC3C;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;ACRA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACJA;AACA,kBAAkB,mBAAO,CAAC,uFAAU;AACpC,iCAAiC,QAAQ,mBAAmB,UAAU,EAAE,EAAE;AAC1E,CAAC;;;;;;;;;;;;ACHD,eAAe,mBAAO,CAAC,+FAAc;AACrC,eAAe,mBAAO,CAAC,yFAAW;AAClC;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACNA;AACA;AACA;AACA;;;;;;;;;;;;ACHA;AACA,cAAc,mBAAO,CAAC,mGAAgB;AACtC,WAAW,mBAAO,CAAC,mGAAgB;AACnC,UAAU,mBAAO,CAAC,iGAAe;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;ACdA,aAAa,mBAAO,CAAC,yFAAW;AAChC,WAAW,mBAAO,CAAC,qFAAS;AAC5B,WAAW,mBAAO,CAAC,qFAAS;AAC5B,eAAe,mBAAO,CAAC,6FAAa;AACpC,UAAU,mBAAO,CAAC,mFAAQ;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kFAAkF,uBAAuB;AACzG,iEAAiE;AACjE,+DAA+D;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,eAAe;AACf,eAAe;AACf,eAAe;AACf,gBAAgB;AAChB;;;;;;;;;;;;AC1CA,YAAY,mBAAO,CAAC,mFAAQ;AAC5B;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK,YAAY;AACjB,GAAG;AACH;;;;;;;;;;;;ACXA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;;;;;;ACNa;AACb,mBAAO,CAAC,yGAAmB;AAC3B,eAAe,mBAAO,CAAC,6FAAa;AACpC,WAAW,mBAAO,CAAC,qFAAS;AAC5B,YAAY,mBAAO,CAAC,uFAAU;AAC9B,cAAc,mBAAO,CAAC,2FAAY;AAClC,UAAU,mBAAO,CAAC,mFAAQ;AAC1B,iBAAiB,mBAAO,CAAC,mGAAgB;;AAEzC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,yBAAyB,4CAA4C;AACrE;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,UAAU;AACvC;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,2BAA2B,mBAAmB,aAAa;AAC3D;AACA;AACA;AACA;AACA,6CAA6C,WAAW;AACxD;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,kBAAkB;AAClB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gCAAgC,qCAAqC;AACrE;AACA;AACA,2BAA2B,gCAAgC;AAC3D;AACA;AACA;;;;;;;;;;;;;AC/Fa;AACb;AACA,eAAe,mBAAO,CAAC,+FAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA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CA,yCAAyC,oCAAoC;AAC7E,6CAA6C,oCAAoC;AACjF,KAAK,4BAA4B,oCAAoC;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,mBAAmB;AACnC;AACA;AACA,kCAAkC,2BAA2B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;;;;;;;;;;;ACpEA,eAAe,mBAAO,CAAC,mFAAQ;AAC/B;;AAEA;AACA;AACA,iCAAiC,qBAAqB;AACtD;AACA,iCAAiC,SAAS,EAAE;AAC5C,CAAC,YAAY;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,SAAS,qBAAqB;AAC3D,iCAAiC,aAAa;AAC9C;AACA,GAAG,YAAY;AACf;AACA;;;;;;;;;;;;ACrBA;AACA,UAAU;AACV;;;;;;;;;;;;ACFA;;;;;;;;;;;;ACAA;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACTD;AACA,WAAW,mBAAO,CAAC,+FAAc;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACtBA;AACA;AACA;AACA;;;;;;;;;;;;ACHA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACJA,WAAW,mBAAO,CAAC,mFAAQ;AAC3B,eAAe,mBAAO,CAAC,+FAAc;AACrC,UAAU,mBAAO,CAAC,mFAAQ;AAC1B,cAAc,mBAAO,CAAC,+FAAc;AACpC;AACA;AACA;AACA;AACA,cAAc,mBAAO,CAAC,uFAAU;AAChC,iDAAiD;AACjD,CAAC;AACD;AACA,qBAAqB;AACrB;AACA,SAAS;AACT,GAAG,EAAE;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACpDA,aAAa,mBAAO,CAAC,yFAAW;AAChC,gBAAgB,mBAAO,CAAC,qFAAS;AACjC;AACA;AACA;AACA,aAAa,mBAAO,CAAC,mFAAQ;;AAE7B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,uCAAuC,sBAAsB,EAAE;AAC/D;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;;;;;;;;;;;;ACpEa;AACb;AACA,gBAAgB,mBAAO,CAAC,iGAAe;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;ACjBa;AACb;AACA,kBAAkB,mBAAO,CAAC,mGAAgB;AAC1C,cAAc,mBAAO,CAAC,mGAAgB;AACtC,WAAW,mBAAO,CAAC,mGAAgB;AACnC,UAAU,mBAAO,CAAC,iGAAe;AACjC,eAAe,mBAAO,CAAC,+FAAc;AACrC,cAAc,mBAAO,CAAC,2FAAY;AAClC;;AAEA;AACA,6BAA6B,mBAAO,CAAC,uFAAU;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,UAAU,EAAE;AAChD,mBAAmB,sCAAsC;AACzD,CAAC,qCAAqC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;;;;;;;;;;;ACrCD;AACA,eAAe,mBAAO,CAAC,+FAAc;AACrC,UAAU,mBAAO,CAAC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Y;;AAElC;AACA;AACA;AACA;;;;;;;;;;;;ACPA,cAAc,mBAAO,CAAC,yFAAW;AACjC,YAAY,mBAAO,CAAC,uFAAU;AAC9B,cAAc,mBAAO,CAAC,2FAAY;AAClC;AACA;AACA;AACA;AACA;AACA,0FAA0F;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;AClBA;AACA,eAAe,mBAAO,CAAC,+FAAc;AACrC,aAAa,mBAAO,CAAC,uGAAkB;AACvC,cAAc,mBAAO,CAAC,2FAAY;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACfa;AACb,gBAAgB,mBAAO,CAAC,iGAAe;AACvC,cAAc,mBAAO,CAAC,2FAAY;;AAElC;AACA;AACA;AACA;AACA;AACA,QAAQ,MAAM;AACd;AACA;;;;;;;;;;;;ACXA,cAAc,mBAAO,CAAC,yFAAW;AACjC,cAAc,mBAAO,CAAC,2FAAY;AAClC,YAAY,mBAAO,CAAC,uFAAU;AAC9B,aAAa,mBAAO,CAAC,+FAAc;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC7BA;AACA;;;;;;;;;;;;ACDA,UAAU,mBAAO,CAAC,mFAAQ;AAC1B,aAAa,mBAAO,CAAC,yFAAW;AAChC,WAAW,mBAAO,CAAC,qFAAS;AAC5B,UAAU,mBAAO,CAAC,iGAAe;AACjC,aAAa,mBAAO,CAAC,yFAAW;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,mBAAO,CAAC,mFAAQ;AACtB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AA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ACP;AACA;AACA,6EAA6E,YAAY;AACzF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yDAAyD,6CAA6C,EAAE;;AAExG;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,mDAAmD;AACnD;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,oCAAoC;AACpC;AACA,KAAK;AACL,wEAAwE;AACxE;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,8DAA8D;AAC9D;AACA,KAAK;AACL,wEAAwE;AACxE;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH,yBAAyB,sBAAsB,EAAE,EAAE;AACnD;AACA;AACA;AACA;;AAEA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA,8BAA8B,aAAa;AAC3C;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,sBAAsB,0BAA0B;AAChD,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,yBAAyB;AACzB,KAAK;AACL,uBAAuB;AACvB,2BAA2B;AAC3B,0BAA0B;AAC1B,2BAA2B;AAC3B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0BAA0B,aAAa;AACvC,OAAO;AACP;;AAEA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL,uDAAuD,6BAA6B,EAAE;AACtF;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;;AAEA,uDAAuD,YAAY;;AAEnE;;AAEA;;AAEA;AACA;AACA,KAAK,UAAU,gBAAgB;;AAE/B;AACA;AACA,KAAK;AACL;AACA,KAAK,WAAW,kCAAkC;;AAElD;AACA;AACA;AACA,CAAC,oCAAoC;;;;;;;;;;;;;AC/dxB;AACb,aAAa,mBAAO,CAAC,yFAAW;AAChC,kBAAkB,mBAAO,CAAC,mGAAgB;AAC1C,cAAc,mBAAO,CAAC,2FAAY;AAClC,aAAa,mBAAO,CAAC,uFAAU;AAC/B,WAAW,mBAAO,CAAC,qFAAS;AAC5B,kBAAkB,mBAAO,CAAC,qGAAiB;AAC3C,YAAY,mBAAO,CAAC,uFAAU;AAC9B,iBAAiB,mBAAO,CAAC,mGAAgB;AACzC,gBAAgB,mBAAO,CAAC,iGAAe;AACvC,eAAe,mBAAO,CAAC,+FAAc;AACrC,cAAc,mBAAO,CAAC,6FAAa;AACnC,WAAW,mBAAO,CAAC,mGAAgB;AACnC,SAAS,mBAAO,CAAC,+FAAc;AAC/B,gBAAgB,mBAAO,CAAC,iGAAe;AACvC,qBAAqB,mBAAO,CAAC,+GAAsB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,QAAQ,WAAW;AACnB;AACA;AACA,QAAQ,UAAU;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,WAAW;AACnB;AACA;AACA;AACA,QAAQ,WAAW;AACnB;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB,mBAAmB,uBAAuB,EAAE,EAAE;AACvE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AAC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A+E,0BAA0B;;;;;;;;;;;;ACHzG,cAAc,mBAAO,CAAC,yFAAW;AACjC,gBAAgB,mBAAO,CAAC,+FAAc;AACtC;AACA,2EAA2E,sBAAsB;;;;;;;;;;;;;ACHpF;AACb,cAAc,mBAAO,CAAC,yFAAW;AACjC,gBAAgB,mBAAO,CAAC,iGAAe;AACvC,mBAAmB,mBAAO,CAAC,yGAAmB;AAC9C,aAAa,mBAAO,CAAC,uGAAkB;AACvC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM,mBAAO,CAAC,uFAAU;AACxB;AACA,kBAAkB;AAClB,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;;;;;;ACjHY;AACb,cAAc,mBAAO,CAAC,yFAAW;AACjC,aAAa,mBAAO,CAAC,uFAAU;AAC/B,mBAAmB,mBAAO,CAAC,yGAAmB;AAC9C;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA,sBAAsB;AACtB,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACjBD;AACA,cAAc,mBAAO,CAAC,yFAAW;;AAEjC,0CAA0C,SAAS,mBAAO,CAAC,uGAAkB,GAAG;;;;;;;;;;;;ACHhF,cAAc,mBAAO,CAAC,yFAAW;AACjC;AACA,8BAA8B,SAAS,mBAAO,CAAC,uGA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AAC,mFAAQ;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,mBAAmB,kCAAkC;AACrD,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,eAAe,uCAAuC;AACtD;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,uBAAuB,0BAA0B;AACjD;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH,kBAAkB,yBAAyB,KAAK;AAChD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,wBAAwB;AACxB,gBAAgB;AAChB,oBAAoB;AACpB,wBAAwB;AACxB,gBAAgB;AAChB,oBAAoB;AACpB;AACA,uBAAuB,mBAAO,CAAC,qGAAiB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0DAA0D,oBAAoB;AAC9E,mBAAO,CAAC,+GAAsB;AAC9B,mBAAO,CAAC,mGAAgB;AACxB,UAAU,mBAAO,CAAC,qFAAS;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,gDAAgD,mBAAO,CAAC,mGAAgB;AACxE;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,CAAC;;;;;;;;;;;;AC7RD;AACA,cAAc,mBAAO,CAAC,yFAAW;AACjC,gBAAgB,mBAAO,CAAC,iGAAe;AACvC,eAAe,mBAAO,CAAC,+FAAc;AACrC,cAAc,mBAAO,CAAC,yFAAW,eAAe;AAChD;AACA;AACA,iCAAiC,mBAAO,CAAC,uFAAU;AACnD,sBAAsB,cAAc;AACpC,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACfD;AACA,cAAc,mBAAO,CAAC,yFAAW;AACjC,aAAa,mBAAO,CAAC,uGAAkB;AACvC,gBAAgB,mBAAO,CAAC,iGAAe;AACvC,eAAe,mBAAO,CAAC,+FAAc;AACrC,eAAe,mBAAO,CAAC,+FAAc;AACrC,YAAY,mBAAO,CAAC,uFAAU;AAC9B,WAAW,mBAAO,CAAC,qFAAS;AAC5B,kBAAkB,mBAAO,CAAC,yFAAW,eAAe;;AAEpD;AACA;AACA;AACA,gBAAgB;AAChB,mCAAmC,cAAc;AACjD,CAAC;AACD;AACA,0BAA0B,cAAc;AACxC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;;;;;;ACrHY;;AAEb,eAAe,mBAAO,CAAC,+FAAc;AACrC,gBAAgB,mBAAO,CAAC,iGAAe;AACvC,iBAAiB,mBAAO,CAAC,qHAAyB;;AAElD;AACA,mBAAO,CAAC,iGAAe;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;AC9BY;;AAEb,eAAe,mBAAO,CAAC,+FAAc;AACrC,eAAe,mBAAO,CAAC,+FAAc;AACrC,yBAAyB,mBAAO,CAAC,mHAAwB;AACzD,yBAAyB,mBAAO,CAAC,qHAAyB;AAC1D,eAAe,mBAAO,CAAC,+FAAc;AACrC,qBAAqB,mBAAO,CAAC,qHAAyB;AACtD,iBAAiB,mBAAO,CAAC,mGAAgB;AACzC,YAAY,mBAAO,CAAC,uFAAU;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qCAAqC,yBAAyB,EAAE;;AAEhE;AACA,mBAAO,CAAC,iGAAe;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mFAAmF;AACnF;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,yBAAyB,mBAAmB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACrIY;AACb,mBAAO,CAAC,2GAAoB;AAC5B,eAAe,mBAAO,CAAC,+FAAc;AACrC,aAAa,mBAAO,CAAC,uFAAU;AAC/B,kBAAkB,mBAAO,CAAC,mGAAgB;AAC1C;AACA;;AAEA;AACA,EAAE,mBAAO,CAAC,6FAAa;AACvB;;AAEA;AACA,IAAI,mBAAO,CAAC,uFAAU,eAAe,wBAAwB,0BAA0B,YAAY,EAAE;AACrG;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;AACD;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;ACxBa;AACb,aAAa,mBAAO,CAAC,+GAAsB;AAC3C,eAAe,mBAAO,CAAC,mHAAwB;AAC/C;;AAEA;AACA,iBAAiB,mBAAO,CAAC,iGAAe;AACxC,yBAAyB,mEAAmE;AAC5F,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACbY;AACb;AACA,mBAAO,CAAC,mGAAgB;AACxB;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACNY;AACb;AACA,mBAAO,CAAC,mGAAgB;AACxB;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACNY;AACb;AACA,mBAAO,CAAC,mGAAgB;AACxB;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACNY;AACb;AACA,mBAAO,CAAC,mGAAgB;AACxB;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACNY;AACb,cAAc,mBAAO,CAAC,yFAAW;AACjC,UAAU,mBAAO,CAAC,+FAAc;AAChC;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACRD;AACa;AACb,cAAc,mBAAO,CAAC,yFAAW;AACjC,eAAe,mBAAO,CAAC,+FAAc;AACrC,cAAc,mBAAO,CAAC,yGAAmB;AACzC;AACA;;AAEA,gCAAgC,mBAAO,CAAC,2GAAoB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACnBY;AACb;AACA,mBAAO,CAAC,mGAAgB;AACxB;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACNY;AACb;AACA,mBAAO,CAAC,mGAAgB;AACxB;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACNY;AACb;AACA,mBAAO,CAAC,mGAAgB;AACxB;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACND,cAAc,mBAAO,CAAC,yFAAW;AACjC,sBAAsB,mBAAO,CAAC,+GAAsB;AACpD;AACA;;AAEA;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;;;;;;ACtBD;AACa;AACb,cAAc,mBAAO,CAAC,yFAAW;AACjC,cAAc,mBAAO,CAAC,yGAAmB;AACzC;;AAEA,gCAAgC,mBAAO,CAAC,2GAAoB;AAC5D;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACXY;AACb;AACA,mBAAO,CAAC,mGAAgB;AACxB;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACNY;AACb,UAAU,mBAAO,CAAC,+FAAc;;AAEhC;AACA,mBAAO,CAAC,mGAAgB;AACxB,6BAA6B;AAC7B,cAAc;AACd;AACA,CAAC;AACD;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA,UAAU;AACV,CAAC;;;;;;;;;;;;;AChBY;AACb;AACA,mBAAO,CAAC,mGAAgB;AACxB;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACND,cAAc,mBAAO,CAAC,yFAAW;AACjC,gBAAgB,mBAAO,CAAC,iGAAe;AACvC,eAAe,mBAAO,CAAC,+FAAc;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;;;;;ACjBD,cAAc,mBAAO,CAAC,yFAAW;;AAEjC;AACA;AACA,UAAU,mBAAO,CAAC,uGAAkB;AACpC,CAAC;;;;;;;;;;;;;ACLY;AACb;AACA,mBAAO,CAAC,mGAAgB;AACxB;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACND;AACa;AACb,cAAc,mBAAO,CAAC,yFAAW;AACjC,eAAe,mBAAO,CAAC,+FAAc;AACrC,cAAc,mBAAO,CAAC,yGAAmB;AACzC;AACA;;AAEA,gCAAgC,mBAAO,CAAC,2GAAoB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACjBY;AACb;AACA,mBAAO,CAAC,mGAAgB;AACxB;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACNY;AACb;AACA,mBAAO,CAAC,mGAAgB;AACxB;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACNY;AACb;AACA,mBAAO,CAAC,mGAAgB;AACxB;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACNY;AACb;AACA,mBAAO,CAAC,mGAAgB;AACxB;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACNY;AACb;AACA,aAAa,mBAAO,CAAC,yFAAW;AAChC,UAAU,mBAAO,CAAC,mFAAQ;AAC1B,kBAAkB,mBAAO,CAAC,mGAAgB;AAC1C,cAAc,mBAAO,CAAC,yFAAW;AACjC,eAAe,mBAAO,CAAC,6FAAa;AACpC,WAAW,mBAAO,CAAC,qFAAS;AAC5B,aAAa,mBAAO,CAAC,uFAAU;AAC/B,aAAa,mBAAO,CAAC,yFAAW;AAChC,qBAAqB,mBAAO,CAAC,+GAAsB;AACnD,UAAU,mBAAO,CAAC,mFAAQ;AAC1B,UAAU,mBAAO,CAAC,mFAAQ;AAC1B,aAAa,mBAAO,CAAC,2FAAY;AACjC,gBAAgB,mBAAO,CAAC,iGAAe;AACvC,eAAe,mBAAO,CAAC,+FAAc;AACrC,cAAc,mBAAO,CAAC,6FAAa;AACnC,eAAe,mBAAO,CAAC,+FAAc;AACrC,eAAe,mBAAO,CAAC,+FAAc;AACrC,eAAe,mBAAO,CAAC,+FAAc;AACrC,gBAAgB,mBAAO,CAAC,iGAAe;AACvC,kBAAkB,mBAAO,CAAC,qGAAiB;AAC3C,iBAAiB,mBAAO,CAAC,uGAAkB;AAC3C,cAAc,mBAAO,CAAC,uGAAkB;AACxC,cAAc,mBAAO,CAAC,2GAAoB;AAC1C,YAAY,mBAAO,CAAC,mGAAgB;AACpC,YAAY,mBAAO,CAAC,mGAAgB;AACpC,UAAU,mBAAO,CAAC,+FAAc;AAChC,YAAY,mBAAO,CAAC,mGAAgB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB;AACtB,sBAAsB,uBAAuB,WAAW,IAAI;AAC5D,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA,KAAK;AACL;AACA,sBAAsB,mCAAmC;AACzD,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE,gCAAgC;AAChG;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,EAAE,mBAAO,CAAC,mGAAgB;AAC1B,EAAE,mBAAO,CAAC,iGAAe;AACzB;;AAEA,sBAAs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yFAAW;AACjC,gBAAgB,mBAAO,CAAC,iGAAe;AACvC;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACnBD,mBAAO,CAAC,wGAAuB;AAC/B,mBAAO,CAAC,8GAA0B;AAClC,mBAAO,CAAC,oHAA6B;AACrC,iBAAiB,mBAAO,CAAC,8FAAkB;;;;;;;;;;;;ACH3C;;AAEA,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,8BAA8B;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,8BAA8B;AAC3C,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,MAAM;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,SAAS;AACtB,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,8BAA8B;AAC3C,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,cAA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ACA,+DAA+D,cAAc;AAC7E;AACA,wBAAwB,eAAe;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mGAAmG,oBAAoB;AACvH,2DAA2D,oBAAoB;AAC/E,sEAAsE,cAAc;AACpF,yBAAyB,iBAAiB;AAC1C;;AAEA;AACA,oBAAoB,QAAQ;AAC5B;AACA;AACA;AACA,QAAQ,4BAA4B,4BAA4B;AAChE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,WAAW;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,wBAAwB;AAC5C,wBAAwB,YAAY;AACpC;AACA;AACA,aAAa,wBAAwB;AACrC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK,qDAAqD;AAC1D,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB,0BAA0B;AAC5C;AACA,gBAAgB,qDAAqD;AACrE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,0BAA0B,4BAA4B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,uCAAuC,OAAO;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,gCAAgC;AAChC,wDAAwD;AACxD,yDAAyD;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,+DAA+D,mCAAmC,EAAE;AACpG;;AAEA;AACA;AACA;AACA,YAAY,qDAAqD,gCAAgC;AACjG,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA,wCAAwC,6CAA6C;AACrF;AACA;AACA;AACA;AACA;AACA,4CAA4C,gDAAgD;AAC5F,KAAK;AACL;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA,4BAA4B,0CAA0C;AACtE;AACA,+BAA+B,wEAAwE;AACvG;AACA,GAAG,oBAAoB,kCAAkC,EAAE;AAC3D;;;AAGA;AACA,6EAA6E,yBAAyB,EAAE,kBAAkB,kBAAkB,EAAE;AAC9I,0BAA0B,wBAAwB,WAAW,EAAE,UAAU,EAAE;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,uBAAuB;AACrD,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA,iBAAiB,0BAA0B;AAC3C;AACA;;AAEA;AACA;AACA;AACA,kBAAkB,4DAA4D;AAC9E;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,sCAAsC,wCAAwC,EAAE;AAChF,+BAA+B,kBAAkB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA,2BAA2B,uBAAuB,EAAE;AACpD,iCAAiC,6BAA6B,EAAE;AAChE,8BAA8B,iBAAiB,EAAE;AACjD;AACA;AACA;AACA;AACA,sDAAsD,kCAAkC,EAAE;AAC1F;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG,kBAAkB,mBAAmB,EAAE;AAC1C;;AAEA;;AAEA;AACA;AACA,qCAAqC,sDAAsD;AAC3F;AACA,uFAAuF,0CAA0C,EAAE;AACnI,oFAAoF,uCAAuC,EAAE;AAC7H,0GAA0G,0DAA0D,EAAE;AACtK;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2CAA2C,QAAQ;;AAEnD;AACA;AACA;AACA,KAAK,OAAO;AACZ;AACA;AACA,6BAA6B,0CAA0C;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA,qEAAqE,2BAA2B,EAAE;AAClG;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,2CAA2C,EAAE;AACpF;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,yCAAyC;AACzD;;AAEA;AACA;AACA,qBAAqB,oBAAoB,OAAO,8BAA8B;AAC9E,KAAK;AACL,oCAAoC,OAAO,GAAG,gCAAgC;AAC9E;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,2CAA2C,0BAA0B,EAAE,cAAc;AAC7G;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,qBAAqB;AAC1C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gDAAgD,wBAAwB;AACxE;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,+BAA+B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,uBAAuB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,KAAK,GAAG,8BAA8B;AACtE,4GAA4G,sBAAsB;AAClI;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,iBAAiB;AACtC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B,QAAQ;AACnC,6BAA6B,kBAAkB;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,0BAA0B,iBAAiB;;AAE3C;;AAEA;;AAEA;;AAEA;AACA,iCAAiC,KAAK;AACtC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,+BAA+B,KAAK;AACpC;AACA;AACA;AACA,4DAA4D,uBAAuB;AACnF;AACA,+CAA+C,kBAAkB;AACjE;;AAEA;AACA;AACA,sCAAsC,KAAK;AAC3C;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,eAAe;AACnC,qBAAqB,yBAAyB;AAC9C,mBAAmB,mBAAmB;AACtC;AACA,yBAAyB,WAAW;AACpC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,oBAAoB;AACjD,6BAA6B,oBAAoB;AACjD;AACA;AACA;AACA;AACA,mBAAmB,qCAAqC,0CAA0C,EAAE,EAAE;AACtG,oCAAoC,qCAAqC,sEAAsE,EAAE,EAAE;AACnJ;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uBAAuB,oCAAoC;AAC3D,+BAA+B,wBAAwB;AACvD,mBAAmB,qBAAqB,OAAO,0BAA0B;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,WAAW;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,0DAA0D;;AAE/E,oEAAK,EAAC;;;;;;;;;;;;;AC7xCrB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACoD;;AAEpD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,2EAA2E;AAC3E;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,gBAAgB;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,gBAAgB;AACjC;AACA;;AAEA;AACA;;AAEA;AACA,eAAe,4DAAS;AACxB,iBAAiB,8DAAW;AAC5B;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,kCAAkC;AACvD;AACA;AACA,KAAK;AACL;AACA,KAAK;;AAEL,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,wEAAwE,aAAa;AACrF;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,2EAA2E,eAAe;AAC1F;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,2EAA2E,eAAe;AAC1F;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA,2EAA2E,eAAe;AAC1F;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,iBAAiB;AAClC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;;;AAGH,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,iBAAiB;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA,GAAG;AACH,mBAAmB,0BAA0B;AAC7C;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,uDAAuD,sDAAsD;AAC7G;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,qBAAqB,+BAA+B;AACpD;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;;;AAGH,kBAAkB,kBAAkB;AACpC;;AAEA;AACA,qBAAqB,wBAAwB;AAC7C;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB,iBAAiB;AAClC;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,iBAAiB;AAClC;AACA;;AAEA;AACA;;AAEA;AACA,wEAAwE,eAAe;AACvF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,wEAAwE;AACxE,yCAAyC;;;AAGzC,qBAAqB,qBAAqB;AAC1C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,iBAAiB,iBAAiB;AAClC;;AAEA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,wEAAwE,eAAe;AACvF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;;AAEA,mBAAmB,iBAAiB;AACpC;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,yCAAyC,QAAQ;AACjD;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,wEAAwE,eAAe;AACvF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,+EAA+E,eAAe;AAC9F;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,eAAe,4DAAS;;AAExB,wEAAwE,eAAe;AACvF;AACA;;AAEA;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;;AAEA,mBAAmB,iBAAiB;AACpC;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,eAAe,4DAAS;;AAExB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,eAAe,4DAAS;;AAExB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,4DAAS;AAC1B,mBAAmB,8DAAW;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,iBAAiB;AAClC;AACA;;AAEA;AACA;;AAEA;AACA,eAAe,4DAAS;;AAExB,iBAAiB,iBAAiB;AAClC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,eAAe,4DAAS;AACxB;AACA;AACA;;AAEA;AACA,eAAe,4DAAS;AACxB;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,eAAe,iBAAiB;AAChC,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,iBAAiB;AAClC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,iBAAiB;AAClC;AACA;;AAEA;AACA;;AAEA;AACA,eAAe,4DAAS;AACxB,iBAAiB,8DAAW;AAC5B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,eAAe,wBAAwB;AACvC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,eAAe,wBAAwB;AACvC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,UAAU;;AAEV;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,8DAAW;;AAE5B,iBAAiB,sBAAsB;AACvC;;AAEA,mBAAmB,iBAAiB;AACpC;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,uBAAuB,qBAAqB;AAC5C;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,8DAAW;AAC5B;AACA;;AAEA,aAAa,iBAAiB;AAC9B;AACA;AACA;;AAEA,6CAA6C,QAAQ;AACrD;AACA;AACA,KAAK;AACL,iBAAiB,qBAAqB;AACtC;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,iBAAiB;AAClC;AACA;AACA,KAAK;AACL,qBAAqB,mBAAmB;AACxC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,iBAAiB;AAClC;AACA;AACA,KAAK;AACL,qBAAqB,kBAAkB;AACvC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sCAAsC;;AAEtC;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,0CAA0C;;AAE1C;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mBAAmB;;AAEnB,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,mBAAmB;;AAEnB,iBAAiB,iBAAiB;AAClC,qCAAqC;;AAErC;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,qBAAqB;;AAErB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,iBAAiB,iBAAiB;AAClC;;AAEA,mBAAmB,kBAAkB;AACrC;AACA;AACA;;AAEA;AACA;;AAEA;AACA,oBAAoB;;AAEpB,iBAAiB,iBAAiB;AAClC;;AAEA,mBAAmB,uBAAuB;AAC1C;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,iBAAiB;AAClC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,0EAA0E,iBAAiB;AAC3F;AACA;;AAEA,aAAa,gBAAgB;AAC7B;;AAEA,eAAe,kBAAkB;AACjC;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,iBAAiB;AAClC;;AAEA;AACA,qBAAqB,0BAA0B;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,eAAe,4DAAS;;AAExB,qEAAqE,aAAa;AAClF;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;;AAElB,mBAAmB;;AAEnB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH,CAAC;;;AAGD;AACA,wEAAwE,eAAe;AACvF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,wEAAwE,eAAe;AACvF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,eAAe,4DAAS;AACxB;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,WAAW;AACX,SAAS;AACT,yBAAyB;;AAEzB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,iBAAiB,uBAAuB;AACxC;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,uEAAuE,aAAa;AACpF;AACA;;AAEA;AACA,qBAAqB,iBAAiB;AACtC;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe,gEAAC,EAAC;AACotB;;;;;;;;;;;;AC1pDruB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;;;;;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,2EAA2E,uBAAuB;AAClG,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,aAAa;AACb,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0CAA0C,kDAAkD;;AAE5F;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,KAAK;AACL,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA,qCAAqC,wDAAwD;AAC7F;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;;AAEA;AACA;AACA,wCAAwC,WAAW;AACnD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qCAAqC,iBAAiB;AACtD;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC,cAAc;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,kBAAkB;AACnD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,QAAQ;AACtD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD;AACA;AACA;AACA;AACA,EAAE,KAA0B,oBAAoB,SAAE;AAClD;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;;;;;;ACxvBA;AACA;AACA;AACA;AACA;AACA;AACa;;AAEb;AACA;AACA,CAAC;AACD;AACA,uBAAuB,2BAA2B,sGAAsG,mBAAmB,EAAE,mBAAmB,6HAA6H,EAAE,eAAe;AAC9U,wDAAwD,iFAAiF,WAAW,wHAAwH,gBAAgB,WAAW,yBAAyB,SAAS,wBAAwB,4BAA4B,cAAc,SAAS,8BAA8B,EAAE,qBAAqB,UAAU,EAAE,SAAS,EAAE,8JAA8J,EAAE,kDAAkD,SAAS,kBAAkB,iBAAiB,EAAE,mBAAmB,sBAAsB,8BAA8B,aAAa,EAAE,sBAAsB,eAAe,WAAW,EAAE,mBAAmB,MAAM,+DAA+D,EAAE,UAAU,uBAAuB,EAAE,EAAE,GAAG;AAC1+B,kCAAkC,qHAAqH;AACvJ,+BAA+B,6JAA6J;AAC5L,iDAAiD,gBAAgB,gEAAgE,wDAAwD,6DAA6D,sDAAsD,kHAAkH;AAC9Z,iCAAiC,2HAA2H;AAC5J,kCAAkC,uDAAuD;AACzF,sCAAsC,uDAAuD,uCAAuC,SAAS,OAAO,kBAAkB,EAAE,aAAa;AACrL,iDAAiD,0CAA0C,0DAA0D,EAAE;AACvJ,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;AAC3T,6DAA6D,sEAAsE,8DAA8D,kDAAkD,kBAAkB,EAAE,oBAAoB;AAC3R,2CAA2C,kBAAkB,kCAAkC,qEAAqE,EAAE,EAAE,OAAO,kBAAkB,EAAE,YAAY;AAC/M;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,YAAY;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,oBAAoB;AAC3C;AACA;AACA;AACA;AACA,wBAAwB,0BAA0B;AAClD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,oBAAoB;AAClD;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA,mFAAmF;;AAEnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,+BAA+B;AAC1D;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,gCAAgC,iCAAiC;AACjE;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,iCAAiC;AAC7D;AACA;AACA;AACA;AACA,gCAAgC,iCAAiC;AACjE;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,iCAAiC;AAC7D;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,iCAAiC;AACnE;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,kCAAkC,iCAAiC;AACnE;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,iCAAiC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,iCAAiC;AACnE;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,mCAAmC,mCAAmC;AACtE;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,mCAAmC;AAChE;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,mCAAmC;AAChE;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,mCAAmC;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,mCAAmC;AACpE;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,mCAAmC;AAChE;AACA;AACA;AACA;AACA,iCAAiC,mCAAmC;AACpE;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;AACD;AACA;AACA,uC;;;;;;;;;;;;;AC3hDA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,aAAa;AACzC,yBAAyB,UAAU;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,YAAY;AACZ,mCAAmC,EAAE;AACrC,sCAAsC,EAAE;AACxC;AACA,2BAA2B,EAAE;AAC7B;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,oCAAoC,EAAE;AACtC;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,qBAAqB;AACrB,uCAAuC,EAAE;AACzC;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,mCAAmC,EAAE;AACrC,gCAAgC,EAAE;AAClC,yBAAyB,EAAE;AAC3B,2BAA2B,EAAE;AAC7B,KAAK;AACL;AACA;AACA,KAAK;AACL,mCAAmC,EAAE;AACrC,sCAAsC,EAAE;AACxC;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL,wBAAwB,EAAE;AAC1B,uBAAuB,EAAE;AACzB,cAAc;AACd,6BAA6B,EAAE;AAC/B,+BAA+B,EAAE;AACjC;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEkE;;;;;;;;;;;;;ACrJlE;AAAA;AAAA;AAAA,qBAAqB,gDAAgD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe,GAAG,wCAAwC;;AAE3R;AACyC;AACzE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,oBAAoB,0DAAC;;AAErB;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA,0CAA0C,sEAAiB;AAC3D;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,wBAAwB,0DAAC;AACzB;;AAEA;AACA;AACA,sFAAsF,EAAE,OAAO,EAAE;AACjG;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA,8CAA8C;;AAE9C;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA,4CAA4C;;AAE5C;AACA,uCAAuC,0DAAC;AACxC;;AAEA,0BAA0B,0DAAC;AAC3B;AACA;AACA,KAAK;AACL;AACA,qBAAqB,0DAAC;AACtB;AACA,iEAAiE,EAAE,OAAO,EAAE,8BAA8B,EAAE,cAAc,EAAE;AAC5H;AACA,KAAK,EAAE;;AAEP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA,0CAA0C,sEAAiB;AAC3D;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA,2CAA2C,sEAAiB;AAC5D;AACA;AACA;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,OAAO;AACrD,4BAA4B,OAAO,KAAK,cAAc;AACtD;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,IAAI,sEAAiB;AACrB,uBAAuB;AACvB,oBAAoB,0DAAC;AACrB,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;;;;;;ACtSD;AAAA;AAAA;AAAA,qBAAqB,gDAAgD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe,GAAG,wCAAwC;;AAE3T;AACyC;AACuB;AAChE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,8BAA8B,6DAAQ;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;;AAEA,kFAAkF;AAClF;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA,mBAAmB,8DAAW;;AAE9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,IAAI,sEAAiB;AACrB,2BAA2B;AAC3B;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA,uBAAuB,8DAAW;AAClC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,8DAAW;AAChC;AACA;AACA;AACA,CAAC,E;;;;;;;;;;;;AC7ND;AAAA;AAAA,qBAAqB,gDAAgD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe,GAAG,wCAAwC;;AAE3T,iCAAiC,kBAAkB;AACa;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,kCAAkC;AAClC;AACA;;AAEA;AACA;;AAEA;AACA,wBAAwB;;AAExB;AACA,kBAAkB;AAClB;;AAEA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oDAAoD;AACpD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,UAAU,6DAAQ;AAClB;AACA,WAAW;AACX;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;;AAEA;AACA,iBAAiB,uBAAuB;AACxC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA,IAAI,sEAAiB;AACrB;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;;;;;;ACpMD;AAAA;AAAA;AAAuC;AACxB;AACf;AACA;AACA;;AAEA;AACA;AACA,eAAe,4DAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;;AAEH,iBAAiB,mBAAmB;AACpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;AC5CA;AAAA;AAAA;AAA4C;AACA;AAC7B;AACf,iBAAiB,sDAAa;AAC9B,iBAAiB,sDAAa;AAC9B,CAAC,E;;;;;;;;;;;;ACLD;AAAA;AAAA;AAA8C;AAC/B;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mFAAmF;;AAEnF;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,EAAE,2DAAM;AACR;AACA,EAAE,2DAAM;AACR;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACjFA;AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,2CAA2C;;AAE3C;;AAEA;AACA;AACA;AACA;AACA;;AAEe;AACf;AACA,CAAC,E;;;;;;;;;;;;ACzBD;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;;AAE/B;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA,C;;;;;;;;;;;;AC/CA;AAAA;AAAA;AAAsC;AACM;AAC7B;AACf,cAAc,mDAAU;AACxB,iBAAiB,sDAAa;AAC9B,CAAC,E;;;;;;;;;;;;ACLD;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;ACNA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAE3T,6DAA6D,sEAAsE,8DAA8D,oBAAoB;;AAErN;AACyC;AACT;AAC6B;AACR;AACF;AACE;AACJ;AACM;AACvB;AACa;AACT;AACM;AACE;AACV;AACF;AACa;AACG;AACZ;AACU;AACR;AACF;AACe;AACjB;AAClC;AACA,WAAW,gDAAO;AAClB,iBAAiB,uDAAa;AAC9B,UAAU,sDAAM;AAChB,aAAa,yDAAS;AACtB,cAAc,0DAAU;AACxB,SAAS,qDAAK;AACd,QAAQ,oDAAI;AACZ,cAAc,2DAAU;AACxB,gBAAgB,4DAAY;AAC5B,UAAU,sDAAM;AAChB,eAAe,2DAAW;AAC1B,iBAAiB,8DAAa;AAC9B,WAAW,uDAAO;AAClB,UAAU,sDAAM;AAChB;AACA;;AAEA;AACA;AACA;AACA;;AAEA,uEAAuE,aAAa;AACpF;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,aAAa,2DAAM,GAAG;AACtB;;AAEA,qBAAqB,0DAAC;AACtB;AACA,MAAM,0DAAC;AACP,wBAAwB,2DAAM,GAAG;AACjC;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA,KAAK;;;AAGL;AACA;AACA,qBAAqB,qEAAU;AAC/B,oBAAoB,mEAAS;AAC7B;AACA,KAAK;AACL,qBAAqB,qEAAU;AAC/B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK,EAAE;;AAEP,uBAAuB,2DAAM,GAAG,EAAE,kDAAQ;AAC1C,mCAAmC;;AAEnC,oBAAoB,2DAAM,GAAG;AAC7B,4BAA4B,2DAAM,GAAG;AACrC,0BAA0B,2DAAM,GAAG,UAAU;;AAE7C;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA,KAAK;;;AAGL,eAAe,kDAAC,CAAC;;AAEjB,IAAI,2DAAM;AACV;AACA;AACA;AACA;AACA;AACA,cAAc,0DAAC;AACf;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,wDAAG;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK,EAAE;;AAEP;AACA,2BAA2B;;AAE3B;AACA;AACA,KAAK;;;AAGL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mCAAmC,mBAAmB;AACtD;AACA;AACA;AACA;AACA;AACA;;AAEA,oCAAoC,SAAS;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,qCAAqC,qBAAqB;AAC1D;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,+BAA+B;;AAE/B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,oCAAoC;;AAEpC,cAAc,0DAAC;AACf;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,0DAAC,oDAAoD;;AAEvE;AACA;AACA;;AAEA;AACA;;AAEA;AACA,MAAM;;;AAGN;;AAEA;AACA,qBAAqB,8DAAW;AAChC;AACA,mBAAmB,0DAAC;AACpB;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA,IAAI,2DAAM;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA,KAAK;;;AAGL,wBAAwB;;AAExB;AACA;AACA,KAAK;;;AAGL,wBAAwB;;AAExB;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA,KAAK;AACL;AACA,KAAK;;;AAGL,0BAA0B;;AAE1B,8BAA8B;;AAE9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,iCAAiC;;AAEjC,+BAA+B;;AAE/B,0BAA0B;;AAE1B;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,2BAA2B;;AAE3B;AACA;AACA,KAAK;;AAEL;AACA;AACA,MAAM,gEAAW;AACjB;;AAEA;AACA;AACA;;AAEA;AACA,IAAI,2DAAM;AACV;;AAEA;AACA;AACA,mFAAmF,wDAAG;AACtF;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,aAAa,kDAAQ;AACrB;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,YAAY,8DAAM,EAAE,kEAAQ;AACb,qEAAM,E;;;;;;;;;;;;ACpoBrB;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;;;;;;AClID;AAAA;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,yEAAyE,aAAa;AACtF;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA,0EAA0E,eAAe;AACzF;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA,CAAC,E;;;;;;;;;;;;AC7GD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACC;AACF;AACF;AACJ;AACF;AACE;AAClC;;AAEA;;AAEA;AACA;AACA,iBAAiB,8DAAW;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,qDAAY;AACpC,uBAAuB,oDAAW;AAClC,sBAAsB,mDAAU;;AAEhC;AACA,sBAAsB,iDAAQ;AAC9B;;AAEA,mBAAmB,gDAAO;AAC1B,gCAAgC;;AAEhC;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH;AACA,kHAAkH,iDAAQ;AAC1H,GAAG;AACH,gCAAgC,iDAAQ;AACxC;AACA;;AAEA;AACA;AACA,iBAAiB,8DAAW;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH,iHAAiH,iDAAQ;AACzH;;AAEe;AACf;AACA;AACA,CAAC,E;;;;;;;;;;;;ACvID;AAAA;AAAe;AACf;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;ACZA;AAAA;AAAe;AACf;AACA;AACA;AACA,yCAAyC;;AAEzC;AACA;AACA,GAAG;;;AAGH;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH;AACA;;AAEA;AACA;AACA;AACA,C;;;;;;;;;;;;ACtCA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACpCA;AAAA;AAAA;AAAqD;AACtC;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA,GAAG;;;AAGH,qBAAqB,wDAAG;AACxB,oDAAoD;;AAEpD;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,uBAAuB,wDAAG;AAC1B,EAAE,6DAAQ;AACV;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;;;AAGA,0BAA0B,wDAAG;AAC7B;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,OAAO;AACP;;AAEA,uBAAuB,qBAAqB;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT,OAAO;;;AAGP;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;;AAGH;AACA;;AAEA,iBAAiB,uBAAuB;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;;;AAGH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iFAAiF;AACjF;;AAEA;AACA,oFAAoF;AACpF;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA,C;;;;;;;;;;;;ACnUA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACN;AACgB;AACpC;AACf,iBAAiB,8DAAW;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,MAAM,2DAAM;AACZ;AACA;AACA;AACA;AACA,OAAO;AACP,4BAA4B,wDAAG;AAC/B;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,+CAA+C,0DAAC;AAChD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,qCAAqC;;AAErC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA,qDAAqD;;AAErD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA,YAAY,wDAAG;AACf,KAAK;AACL,GAAG;;;AAGH,+CAA+C;;AAE/C;AACA,C;;;;;;;;;;;;ACtOA;AAAA;AAAA;AAAA;AAAA;AAAoD;AACjB;AACgB;;AAEnD;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,8DAAW,aAAa,4DAAS;AACvD;AACA;AACA;AACA;;AAEA;AACA;;AAEe;AACf;AACA,iBAAiB,8DAAW;AAC5B,eAAe,4DAAS;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,0DAAC;;AAEnB;AACA;AACA;;AAEA;AACA;AACA;AACA,6CAA6C;;AAE7C;;AAEA;AACA,gBAAgB,0DAAC;AACjB;;AAEA;AACA,2DAA2D;;AAE3D;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,gCAAgC;;AAEhC;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,EAAE,2DAAM;AACR;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,wBAAwB,wDAAG;AAC3B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kCAAkC,0DAAC;AACnC;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;AC/GA;AAAA;AAAA;AAA4C;AACI;AACjC;AACf,iBAAiB,sDAAa;AAC9B,mBAAmB,wDAAe;AAClC,CAAC,E;;;;;;;;;;;;ACLD;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;ACRA;AAAA;AAAe;AACf;;AAEA;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACRA;AAAA;AAAA;AAAoC;AACQ;AAC7B;AACf,aAAa,kDAAS;AACtB,iBAAiB,sDAAa;AAC9B,CAAC,E;;;;;;;;;;;;ACLD;AAAA;AAAA;AAAA;AAAuC;AACJ;AACpB;AACf,eAAe,4DAAS;AACxB;;AAEA;AACA;AACA;;AAEA,kBAAkB,0DAAC;;AAEnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,C;;;;;;;;;;;;ACpCA;AAAA;AAAe;AACf;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,gCAAgC;AACjD;AACA;AACA;AACA,C;;;;;;;;;;;;AClBA;AAAA;AAAA;AAAA;AAAsC;AACN;AACQ;AACzB;AACf,cAAc,mDAAU;AACxB,WAAW,gDAAO;AAClB,eAAe,oDAAW;AAC1B,CAAC,E;;;;;;;;;;;;ACPD;AAAA;AAAA;AAAA;AAAyC;AACN;AACpB;AACf;AACA,iBAAiB,8DAAW;AAC5B;AACA,qCAAqC;;AAErC;AACA;;AAEA;AACA;;AAEA;AACA,qBAAqB,oBAAoB;AACzC,wBAAwB,0DAAC;AACzB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,0DAAC;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH,kBAAkB,0BAA0B;AAC5C,sBAAsB,0DAAC;AACvB;;AAEA,0CAA0C,UAAU;AACpD,uBAAuB,0DAAC;AACxB;AACA,C;;;;;;;;;;;;ACvDA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;ACPA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;;AAEnD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,C;;;;;;;;;;;;ACvCA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8BAA8B,YAAY;AAC1C;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,oBAAoB;AACxC;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA,mBAAmB,2BAA2B;AAC9C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,C;;;;;;;;;;;;AC7DA;AAAA;AAAe;AACf;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mBAAmB,mBAAmB;AACtC;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,C;;;;;;;;;;;;ACxBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAwC;AACE;AACR;AACM;AACQ;AACjC;AACf,eAAe,oDAAW;AAC1B,gBAAgB,qDAAY;AAC5B,YAAY,iDAAQ;AACpB,eAAe,oDAAW;AAC1B,mBAAmB,wDAAe;AAClC,CAAC,E;;;;;;;;;;;;ACXD;AAAA;AAAe;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,mBAAmB,mBAAmB;AACtC;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;AC/BA;AAAA;AAAe;AACf;AACA;;AAEA,iBAAiB,0BAA0B;AAC3C;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACTA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,mBAAmB,0BAA0B;AAC7C;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,C;;;;;;;;;;;;AC5CA;AAAA;AAA2C;AAC5B;AACf;AACA;AACA;AACA;AACA,gDAAgD;;AAEhD;AACA,QAAQ,2DAAM;AACd;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yDAAyD;;AAEzD;AACA;AACA;AACA,SAAS;AACT,OAAO;;;AAGP;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC,E;;;;;;;;;;;;ACpCD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAgC;AACQ;AACJ;AACA;AACE;AACQ;AACU;AACzC;AACf,WAAW,gDAAO;AAClB,eAAe,oDAAW;AAC1B,aAAa,kDAAS;AACtB,aAAa,kDAAS;AACtB,cAAc,mDAAU;AACxB,kBAAkB,uDAAc;AAChC,uBAAuB,4DAAmB;AAC1C,CAAC,E;;;;;;;;;;;;ACfD;AAAA;AAAA;AACe;AACf;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB;;AAErB;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACzBA;AAAA;AAAA;AACe;AACf;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB;;AAErB;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACrDA;AAAA;AAAA;AACe;AACf;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,C;;;;;;;;;;;;ACZA;AAAA;AAAe;AACf;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,uCAAuC;;AAEvC,mCAAmC;;AAEnC;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,mDAAmD,sDAAsD,yBAAyB;;AAElI;AACA,yCAAyC;;AAEzC;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,oDAAoD;AACpD,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACtLA;AAAA;AAAA;AAAA;AAAmC;AACa;AACjC;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,yBAAyB,0DAAC;;AAE1B;AACA;AACA;AACA;AACA,QAAQ,6DAAQ;AAChB;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA,MAAM,6DAAQ;AACd;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA,C;;;;;;;;;;;;ACpCA;AAAA;AAAA;AACe;AACf;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,C;;;;;;;;;;;;AC3CA;AAAA;AAAe;AACf;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACrBA;AAAA;AAAA;AAAA;AAA4C;AACI;AACJ;AAC7B;AACf,iBAAiB,sDAAa;AAC9B,mBAAmB,wDAAe;AAClC,iBAAiB,sDAAa;AAC9B,CAAC,E;;;;;;;;;;;;ACPD;AAAA;AAAe;AACf;;AAEA;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACRA;AAAA;AAAe;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,kDAAkD,mDAAmD;AACrG;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,C;;;;;;;;;;;;AClCA;AAAA;AAAe;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,kDAAkD,mDAAmD;AACrG;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,C;;;;;;;;;;;;ACrCA;AAAA;AAAA;AAAoD;AACrC;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,yBAAyB,iEAAY;AACrC;AACA;AACA,C;;;;;;;;;;;;ACvBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0C;AACA;AACA;AACA;AACF;AACzB;AACf,gBAAgB,qDAAY;AAC5B,gBAAgB,qDAAY;AAC5B,gBAAgB,qDAAY;AAC5B,gBAAgB,qDAAY;AAC5B,eAAe,oDAAW;AAC1B,CAAC,E;;;;;;;;;;;;ACXD;AAAA;AAAe;AACf;AACA,C;;;;;;;;;;;;ACFA;AAAA;AAAe;AACf;AACA,C;;;;;;;;;;;;ACFA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,mDAAmD;;AAEnD;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;AC7CA;AAAA;AAAe;AACf;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,+EAA+E,kFAAkF,8BAA8B;;AAE/L;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,oDAAoD;AACpD,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;AC5FA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAsC;AACI;AACQ;AACI;AACI;AACZ;AACU;AACJ;AACE;AACvC;AACf,cAAc,mDAAU;AACxB,gBAAgB,qDAAY;AAC5B,oBAAoB,yDAAgB;AACpC,sBAAsB,2DAAkB;AACxC,wBAAwB,6DAAoB;AAC5C,kBAAkB,uDAAc;AAChC,uBAAuB,4DAAmB;AAC1C,qBAAqB,0DAAiB;AACtC,sBAAsB,2DAAkB;AACxC,CAAC,E;;;;;;;;;;;;ACnBD;AAAA;AAAA;AAA8C;AAC/B;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;;AAGH;AACA,EAAE,2DAAM;AACR;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,C;;;;;;;;;;;;ACpEA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,IAAI;;;AAGJ;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,iBAAiB,4CAA4C;AAC7D;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;;;AAGH,aAAa,yBAAyB;AACtC;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA,C;;;;;;;;;;;;AClDA;AAAA;AAAA;AAAmC;AACpB;AACf;AACA;AACA,cAAc,0DAAC;AACf;AACA;;AAEA;AACA,mBAAmB,0BAA0B;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,qCAAqC,0DAAC;AACtC,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,C;;;;;;;;;;;;ACnCA;AAAA;AAAA;AAA8C;AAC/B;AACf;;AAEA;AACA,kDAAkD;;AAElD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,EAAE,2DAAM;AACR;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;AChDA;AAAA;AAAA;AAA8C;AAC/B;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA,EAAE,2DAAM;AACR;AACA;AACA;AACA,GAAG;AACH,C;;;;;;;;;;;;ACjCA;AAAA;AAAA;AAA8C;AAC/B;AACf;;AAEA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qCAAqC;;AAErC;AACA;AACA;AACA;AACA,GAAG,EAAE;AACL;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;;AAEA,iBAAiB,kBAAkB;AACnC;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA,kDAAkD;;AAElD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA,wCAAwC;AACxC;;AAEA;AACA;;AAEA;AACA;AACA,yCAAyC;;AAEzC;AACA;;AAEA,sBAAsB,sBAAsB;AAC5C;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH;AACA;;AAEA,qBAAqB,uBAAuB;AAC5C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK,8BAA8B;AACnC;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;;AAEA,EAAE,2DAAM;AACR;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,C;;;;;;;;;;;;AC3VA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;;;AAGH;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;;AAGH;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;AC7DA;AAAA;AAAe;AACf;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;AACA;AACA,C;;;;;;;;;;;;ACPA;AAAA;AAAA;AAAmC;AACpB;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;;AAEpC;AACA;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,yBAAyB,0DAAC;AAC1B,C;;;;;;;;;;;;ACvCA;AAAA;AAAA;AAAA,qBAAqB,gDAAgD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe,GAAG,wCAAwC;;AAE3R;AACsB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;;AAEjC,2CAA2C,YAAY;AACvD;AACA;AACA;AACA;AACA;AACA,iEAAiE;;AAEjE;AACA,mCAAmC;;AAEnC;AACA;AACA;;AAEA;AACA;AACA,sEAAsE;;AAEtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B,0DAAC;AAC7B;AACA;;AAEA;AACA,2BAA2B,0DAAC;AAC5B;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,IAAI,sEAAiB;AACrB,kCAAkC;AAClC,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;;;;;;AC3GD;AAAA;AAAA;AAAA,qBAAqB,gDAAgD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe,GAAG,wCAAwC;;AAE3R;AAC8B;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,0BAA0B,0DAAC;AAC3B;AACA;;AAEA;AACA;AACA,SAAS;AACT,OAAO;AACP;;AAEA;AACA,0BAA0B,0DAAC;AAC3B;AACA;AACA;AACA;;AAEA,mBAAmB,mBAAmB;AACtC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB,0DAAC;AAC1B;AACA;;AAEA;AACA,wBAAwB,0DAAC;AACzB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,IAAI,sEAAiB;AACrB,6BAA6B;AAC7B,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,2DAAM;AACZ,MAAM,2DAAM;AACZ,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;;;;;;ACjMD;AAAA;AAAA,qBAAqB,gDAAgD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe,GAAG,wCAAwC;;AAE7P;AAC9D;AACA;AACA;AACA;;AAEA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,0BAA0B;AACjD;AACA;AACA,OAAO;AACP;AACA;AACA;AACe;AACf;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,IAAI,sEAAiB;AACrB,6BAA6B;AAC7B,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,2DAAM;AACZ,MAAM,2DAAM;AACZ,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;;;;;;ACrFD;AAAA;AAAA;AAAA,qBAAqB,gDAAgD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe,GAAG,wCAAwC;;AAE3R;AAC8B;AAC9D;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,mBAAmB;AACtC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB,0DAAC;AAC1B;AACA;;AAEA;AACA,wBAAwB,0DAAC;AACzB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iCAAiC;;AAEjC;AACA;AACA,gDAAgD;;AAEhD;AACA;AACA;;AAEA,uBAAuB,0BAA0B;AACjD;AACA;AACA,OAAO;AACP;AACA;AACA;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,IAAI,sEAAiB;AACrB,6BAA6B;AAC7B,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,2DAAM;AACZ,MAAM,2DAAM;AACZ,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;;;;;;AC1HD;AAAA;AAAA;AAAA;AAAA,qBAAqB,gDAAgD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe,GAAG,wCAAwC;;AAEvQ;AACpB;AACsB;AACtD;AACA;AACA;AACA,mBAAmB,8DAAW;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,iBAAiB,4DAAS;AAC1B,mBAAmB,8DAAW;AAC9B;;AAEA;AACA,8GAA8G,KAAE;AAChH;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,mBAAmB,8DAAW;AAC9B,iBAAiB,4DAAS;AAC1B;AACA;AACA;;AAEA;AACA;;AAEA,oDAAoD,YAAY;AAChE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,0DAAC;AACP;AACA,GAAG;AACH;AACA;AACA,iBAAiB,4DAAS;;AAE1B;AACA,MAAM,0DAAC;AACP;AACA;AACA;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,IAAI,sEAAiB;AACrB;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;;;;;;AC7GD;AAAA;AAAA;AAAA,qBAAqB,gDAAgD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe,GAAG,wCAAwC;;AAEpR;AACe;AACtD;AACA;AACA;AACA,iBAAiB,4DAAS;AAC1B;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,iBAAiB,4DAAS;;AAE1B;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,iBAAiB,4DAAS;AAC1B;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,iBAAiB,4DAAS;AAC1B;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,oDAAoD,YAAY;AAChE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,IAAI,sEAAiB;AACrB,0BAA0B;AAC1B,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;;;;;;AC9JD;AAAA;AAAA;AAAA;AAAA,qBAAqB,gDAAgD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe,GAAG,wCAAwC;;AAE3T;AACoD;AACpB;AACsB;AACtD;AACA;AACA;AACA;AACA,iBAAiB,4DAAS;AAC1B,mBAAmB,8DAAW;AAC9B;AACA;AACA,6CAA6C;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;;AAEhC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,yBAAyB;;AAEzB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,wBAAwB;AAC7C;;AAEA;AACA,yDAAyD;;AAEzD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iDAAiD;AACjD;;AAEA;AACA;AACA,KAAK;AACL;AACA,iDAAiD;AACjD;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,mBAAmB,8DAAW;AAC9B;AACA,IAAI,0DAAC;AACL;AACA,GAAG;AACH;AACA;AACA,mBAAmB,8DAAW;AAC9B;AACA,IAAI,0DAAC;AACL;AACA;AACA;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,IAAI,sEAAiB;AACrB;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;;;;;;ACrID;AAAA;AAAA;AAAA;AAAA,qBAAqB,gDAAgD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe,GAAG,wCAAwC;;AAEpR;AACP;AACsB;AACtD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,0DAAC;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,4BAA4B,0DAAC;;AAE7B;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA,eAAe,0DAAC;AAChB;;AAEA,aAAa,0DAAC;AACd;;AAEA;;AAEA;AACA;AACA,gCAAgC,0DAAC,4CAA4C,0DAAC;AAC9E;AACA,OAAO;AACP,KAAK;AACL,+BAA+B,iCAAiC;AAChE;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,wEAAwE;;AAExE,kDAAkD,eAAe;AACjE;AACA,SAAS;;;AAGT,gCAAgC,mBAAmB;AACnD;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,iBAAiB,4DAAS;AAC1B;AACA;AACA,+DAA+D,0DAAC,wCAAwC,0DAAC;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,wBAAwB;AAC3C;;AAEA;AACA,uDAAuD;;AAEvD;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,IAAI,sEAAiB;AACrB;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;;;;;;ACjRD;AAAA;AAAA;AAAA;AAAA;AACoD;AACpB;AACqC;;AAErE;AACA,iBAAiB,8DAAW;AAC5B;AACA;;AAEA;AACA;AACA,4CAA4C;AAC5C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB,wDAAG;AACrB;AACA;AACA;AACA,iBAAiB,4DAAS;AAC1B;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;;AAEf;AACA,eAAe;AACf;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,eAAe,0DAAC;AAChB;;AAEA;AACA,6CAA6C;;AAE7C;AACA;AACA;;AAEA;AACA;AACA,4FAA4F;AAC5F,OAAO,8EAA8E;AACrF,KAAK;AACL;AACA;;AAEA;AACA,sCAAsC;;AAEtC;AACA;AACA,8EAA8E;AAC9E;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,cAAc,wDAAG;AACjB;AACA;AACA;AACA,QAAQ;;AAER;;AAEA;AACA,kCAAkC;AAClC;;AAEA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;;;AAGA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,wDAAG;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uCAAuC;;AAEvC;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,wCAAwC,6DAAQ;AAChD;AACA,aAAa,KAAK,aAAa;AAC/B;;AAEA;AACA;AACA;AACA;AACA,wCAAwC,6DAAQ;AAChD;AACA;;AAEA;;AAEA;AACA,aAAa;AACb;AACA,SAAS;;;AAGT,yDAAyD;;AAEzD,yGAAyG;;AAEzG;AACA;AACA;;AAEA,6CAA6C;AAC7C;AACA,GAAG;AACH;AACA;AACA,iBAAiB,4DAAS;;AAE1B;AACA;AACA;AACA;;AAEA,gDAAgD,wDAAG;AACnD;AACA;AACA,KAAK;AACL;AACA;;;AAGA,+BAA+B,wDAAG;AAClC;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;;AAGL,mEAAmE;;AAEnE;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,eAAe,0DAAC;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,eAAe,0DAAC;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,IAAI,sEAAiB;AACrB;AACA;AACA,wBAAwB,wDAAG;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC,E;;;;;;;;;;;;AC5dD;AAAA;AAAA;AAAA,qBAAqB,gDAAgD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe,GAAG,wCAAwC;;AAE3R;AACyD;AACzF;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,+BAA+B,8EAAyB;AACxD;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,gBAAgB,0DAAC;;AAEjB;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,0DAAC;;AAEjB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,IAAI,2DAAM;AACV;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,IAAI,sEAAiB;AACrB,6BAA6B;AAC7B,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA,mDAAmD,0DAAC,2BAA2B,0DAAC;AAChF;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;;;;;;ACpMD;AAAA;AAAA;AAAA,qBAAqB,gDAAgD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe,GAAG,wCAAwC;;AAE3R;AAC4E;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;;AAEpC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,wBAAwB,0DAAC;AACzB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kCAAkC,gBAAgB;AAClD;AACA;;AAEA;AACA;AACA,sDAAsD,SAAS;AAC/D;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,sEAAiB;AAChC,eAAe,sEAAiB;AAChC;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA,eAAe,sEAAiB;AAChC;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,qBAAqB;AAC1C;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA,2CAA2C,sEAAiB;AAC5D;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,+BAA+B,8EAAyB;AACxD;AACA,KAAK;AACL;AACA;AACA,cAAc,0DAAC;AACf;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,sBAAsB,sEAAiB;AACvC;AACA,oBAAoB,0DAAC;AACrB;AACA;AACA,OAAO;AACP;;AAEA,IAAI,2DAAM;AACV;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,sEAAiB;AACxC;AACA;AACA;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,IAAI,sEAAiB;AACrB;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,sHAAsH,0DAAC;AACvH;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;;;;;;AC3XD;AAAA;AAAA;AAAA,qBAAqB,gDAAgD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe,GAAG,wCAAwC;;AAE3R;AACsB;AACtD;AACA;AACA;AACA;AACA,cAAc,0DAAC;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA,MAAM,0DAAC;AACP;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,0DAAC;AACzB;AACA;AACA;AACA,KAAK;AACL;AACA;AACe;AACf;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,IAAI,sEAAiB;AACrB,2BAA2B;AAC3B,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;;;;;;ACxHD;AAAA;AAAA;AAAA;AAAA,qBAAqB,gDAAgD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe,GAAG,wCAAwC;;AAElR;AACT;AACmE;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA,IAAI,2DAAM;AACV;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,qCAAqC,6DAAQ;AAC7C;AACA;AACA,OAAO;AACP;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,mBAAmB,8DAAW;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,mBAAmB,8DAAW;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,8BAA8B,8EAAyB;AACvD;AACA,KAAK;AACL;AACA;AACA,cAAc,0DAAC;;AAEf;AACA;AACA;;AAEA;;AAEA;AACA,gBAAgB,0DAAC;AACjB;AACA;;AAEA,IAAI,2DAAM;AACV;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,IAAI,sEAAiB;AACrB;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;;;;;;AC3WD;AAAA;AAAA;AAAA,qBAAqB,gDAAgD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe,GAAG,wCAAwC;;AAEnP;AACxC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM,2DAAM;AACZ;AACA;AACA,OAAO;AACP,MAAM,2DAAM;AACZ;AACA;AACA,OAAO;AACP,KAAK,UAAU,6DAAQ;AACvB,6CAA6C,2DAAM,GAAG;AACtD;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,0DAAC;AACzB;AACA;;AAEA;AACA,8BAA8B,0DAAC;AAC/B,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA,yBAAyB;;AAEzB;AACA;AACA;;AAEA;AACA;AACA,qEAAqE,oEAAoE,uFAAuF;AAChO;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA,SAAS;;;AAGT;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS,4FAA4F;AACrG;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,qBAAqB,sBAAsB;AAC3C;AACA;AACA,KAAK;AACL,sBAAsB,uBAAuB;AAC7C;AACA;AACA;AACA;AACA;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,IAAI,sEAAiB;AACrB;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;;;;;;ACpND;AAAA;AAAA;AAAA,qBAAqB,gDAAgD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe,GAAG,wCAAwC;;AAE3R;AAC8B;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI,2DAAM;AACV;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4BAA4B,SAAS;AACrC;AACA;;AAEA;AACA,SAAS;AACT,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL,gCAAgC,iBAAiB;AACjD;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,oBAAoB;AACxC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA,wCAAwC,0DAAC,kDAAkD,0DAAC;AAC5F;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,qBAAqB,mBAAmB;AACxC;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,mBAAmB;AACxC;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,4CAA4C,QAAQ;AACpD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,IAAI,sEAAiB;AACrB,0BAA0B;AAC1B;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,2DAAM;AACZ,MAAM,2DAAM;;AAEZ;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;;;;;;AC7QD;AAAA;AAAA;AAAA;AAAA,qBAAqB,gDAAgD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe,GAAG,wCAAwC;;AAEpR;AACP;AACoC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,yBAAyB,0DAAC;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,iEAAY;AACjC,qBAAqB,iEAAY;AACjC;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;;AAE1D;AACA;AACA;AACA;AACA,kCAAkC;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,iBAAiB,4DAAS;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,0DAAC;AAC5B;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,8CAA8C;;AAE9C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;;AAGL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL,uDAAuD;;AAEvD;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,IAAI,sEAAiB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;;;;;;ACtlBD;AAAA;AAAA;AAAA,qBAAqB,gDAAgD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe,GAAG,wCAAwC;;AAEpR;AACe;AACtD;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,4DAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA,qBAAqB,6BAA6B;AAClD;AACA;AACA,KAAK;;;AAGL;AACA;AACA,KAAK,EAAE;;AAEP;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACe;AACf;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,IAAI,sEAAiB;AACrB,2BAA2B;AAC3B;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;;;;;;AC3FD;AAAA;AAAA;AAAuC;AACI;;AAE3C;AACA,eAAe,4DAAS;AACxB;AACA;;AAEe;AACf;AACA;AACA;AACA,IAAI,2DAAM;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA,WAAW;AACX;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA,mBAAmB,4DAAS;;AAE5B;AACA;AACA;AACA,OAAO;;;AAGP,qEAAqE;;AAErE;AACA,KAAK;AACL;AACA,mBAAmB,4DAAS;AAC5B;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;;;;;;AC5ED;AAAA;AAAyU;AACzU;AACA,YAAY,6CAAQ;AACpB,eAAe,gDAAW;AAC1B,YAAY,6CAAQ;AACpB,eAAe,gDAAW;AAC1B,QAAQ,yCAAI;AACZ,cAAc,+CAAU;AACxB,aAAa,8CAAS;AACtB,cAAc,+CAAU;AACxB,MAAM,uCAAE;AACR,OAAO,wCAAG;AACV,WAAW,4CAAO;AAClB,iBAAiB,kDAAa;AAC9B,cAAc,+CAAU;AACxB,eAAe,gDAAW;AAC1B,UAAU,2CAAM;AAChB,UAAU,2CAAM;AAChB,OAAO,wCAAG;AACV,QAAQ,yCAAI;AACZ,QAAQ,yCAAI;AACZ,QAAQ,yCAAI;AACZ,MAAM,uCAAE;AACR,SAAS,0CAAK;AACd,MAAM,uCAAE;AACR,UAAU,2CAAM;AAChB,WAAW,4CAAO;AAClB,QAAQ,yCAAI;AACZ,WAAW,4CAAO;AAClB,QAAQ,yCAAI;AACZ,WAAW,4CAAO;AAClB,UAAU,2CAAM;AAChB,WAAW,4CAAO;AAClB,WAAW,4CAAO;AAClB,QAAQ,yCAAI;AACZ,YAAY,6CAAQ;AACpB,UAAU,2CAAM;AAChB,UAAU,2CAAM;AAChB;AACA;AACA,wBAAwB,sCAAC;AACzB;AACA;AACA,GAAG;AACH,CAAC;AACc,qGAAC,E;;;;;;;;;;;;AC7ChB;AAAA;AAAA;AAAuC;AACvC;;AAEA;AACA,eAAe,4DAAS;;AAExB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;ACxBA;AAAA;AAAA;AAAA;AAAuC;AACI;AAC3C;;AAEA;AACA,kCAAkC;AAClC;;AAEA,gBAAgB,+DAAU;AAC1B,eAAe,4DAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;;AAExD;AACA;AACA;AACA;AACA,sCAAsC;;AAEtC;;AAEA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;AC3DA;AAAA;AAAA;AAAoD;AACpD;;AAEA;AACA,eAAe,4DAAS;AACxB,iBAAiB,8DAAW;AAC5B;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO,YAAY;AACnB;;AAEA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;ACxCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoD;;AAEpD;AACA;AACA;AACA;AACA;AACA,KAAK,YAAY;AACjB;;AAEA;AACA;AACA,KAAK,YAAY;AACjB;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,eAAe,4DAAS;AACxB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,eAAe,4DAAS;AACxB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK,4DAA4D;AACjE;;;AAGA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,mEAAmE;AACnE,yEAAyE;AACzE;AACA;;AAEA;AACA;AACA,m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","file":"main.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","\"use strict\";\n\nrequire(\"./noConflict\");\n\nvar _global = _interopRequireDefault(require(\"core-js/library/fn/global\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nif (_global[\"default\"]._babelPolyfill && typeof console !== \"undefined\" && console.warn) {\n console.warn(\"@babel/polyfill is loaded more than once on this page. This is probably not desirable/intended \" + \"and may have consequences if different versions of the polyfills are applied sequentially. \" + \"If you do need to load the polyfill more than once, use @babel/polyfill/noConflict \" + \"instead to bypass the warning.\");\n}\n\n_global[\"default\"]._babelPolyfill = true;","\"use strict\";\n\nrequire(\"core-js/es6\");\n\nrequire(\"core-js/fn/array/includes\");\n\nrequire(\"core-js/fn/array/flat-map\");\n\nrequire(\"core-js/fn/string/pad-start\");\n\nrequire(\"core-js/fn/string/pad-end\");\n\nrequire(\"core-js/fn/string/trim-start\");\n\nrequire(\"core-js/fn/string/trim-end\");\n\nrequire(\"core-js/fn/symbol/async-iterator\");\n\nrequire(\"core-js/fn/object/get-own-property-descriptors\");\n\nrequire(\"core-js/fn/object/values\");\n\nrequire(\"core-js/fn/object/entries\");\n\nrequire(\"core-js/fn/promise/finally\");\n\nrequire(\"core-js/web\");\n\nrequire(\"regenerator-runtime/runtime\");","require('../modules/es6.symbol');\nrequire('../modules/es6.object.create');\nrequire('../modules/es6.object.define-property');\nrequire('../modules/es6.object.define-properties');\nrequire('../modules/es6.object.get-own-property-descriptor');\nrequire('../modules/es6.object.get-prototype-of');\nrequire('../modules/es6.object.keys');\nrequire('../modules/es6.object.get-own-property-names');\nrequire('../modules/es6.object.freeze');\nrequire('../modules/es6.object.seal');\nrequire('../modules/es6.object.prevent-extensions');\nrequire('../modules/es6.object.is-frozen');\nrequire('../modules/es6.object.is-sealed');\nrequire('../modules/es6.object.is-extensible');\nrequire('../modules/es6.object.assign');\nrequire('../modules/es6.object.is');\nrequire('../modules/es6.object.set-prototype-of');\nrequire('../modules/es6.object.to-string');\nrequire('../modules/es6.function.bind');\nrequire('../modules/es6.function.name');\nrequire('../modules/es6.function.has-instance');\nrequire('../modules/es6.parse-int');\nrequire('../modules/es6.parse-float');\nrequire('../modules/es6.number.constructor');\nrequire('../modules/es6.number.to-fixed');\nrequire('../modules/es6.number.to-precision');\nrequire('../modules/es6.number.epsilon');\nrequire('../modules/es6.number.is-finite');\nrequire('../modules/es6.number.is-integer');\nrequire('../modules/es6.number.is-nan');\nrequire('../modules/es6.number.is-safe-integer');\nrequire('../modules/es6.number.max-safe-integer');\nrequire('../modules/es6.number.min-safe-integer');\nrequire('../modules/es6.number.parse-float');\nrequire('../modules/es6.number.parse-int');\nrequire('../modules/es6.math.acosh');\nrequire('../modules/es6.math.asinh');\nrequire('../modules/es6.math.atanh');\nrequire('../modules/es6.math.cbrt');\nrequire('../modules/es6.math.clz32');\nrequire('../modules/es6.math.cosh');\nrequire('../modules/es6.math.expm1');\nrequire('../modules/es6.math.fround');\nrequire('../modules/es6.math.hypot');\nrequire('../modules/es6.math.imul');\nrequire('../modules/es6.math.log10');\nrequire('../modules/es6.math.log1p');\nrequire('../modules/es6.math.log2');\nrequire('../modules/es6.math.sign');\nrequire('../modules/es6.math.sinh');\nrequire('../modules/es6.math.tanh');\nrequire('../modules/es6.math.trunc');\nrequire('../modules/es6.string.from-code-point');\nrequire('../modules/es6.string.raw');\nrequire('../modules/es6.string.trim');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/es6.string.code-point-at');\nrequire('../modules/es6.string.ends-with');\nrequire('../modules/es6.string.includes');\nrequire('../modules/es6.string.repeat');\nrequire('../modules/es6.string.starts-with');\nrequire('../modules/es6.string.anchor');\nrequire('../modules/es6.string.big');\nrequire('../modules/es6.string.blink');\nrequire('../modules/es6.string.bold');\nrequire('../modules/es6.string.fixed');\nrequire('../modules/es6.string.fontcolor');\nrequire('../modules/es6.string.fontsize');\nrequire('../modules/es6.string.italics');\nrequire('../modules/es6.string.link');\nrequire('../modules/es6.string.small');\nrequire('../modules/es6.string.strike');\nrequire('../modules/es6.string.sub');\nrequire('../modules/es6.string.sup');\nrequire('../modules/es6.date.now');\nrequire('../modules/es6.date.to-json');\nrequire('../modules/es6.date.to-iso-string');\nrequire('../modules/es6.date.to-string');\nrequire('../modules/es6.date.to-primitive');\nrequire('../modules/es6.array.is-array');\nrequire('../modules/es6.array.from');\nrequire('../modules/es6.array.of');\nrequire('../modules/es6.array.join');\nrequire('../modules/es6.array.slice');\nrequire('../modules/es6.array.sort');\nrequire('../modules/es6.array.for-each');\nrequire('../modules/es6.array.map');\nrequire('../modules/es6.array.filter');\nrequire('../modules/es6.array.some');\nrequire('../modules/es6.array.every');\nrequire('../modules/es6.array.reduce');\nrequire('../modules/es6.array.reduce-right');\nrequire('../modules/es6.array.index-of');\nrequire('../modules/es6.array.last-index-of');\nrequire('../modules/es6.array.copy-within');\nrequire('../modules/es6.array.fill');\nrequire('../modules/es6.array.find');\nrequire('../modules/es6.array.find-index');\nrequire('../modules/es6.array.species');\nrequire('../modules/es6.array.iterator');\nrequire('../modules/es6.regexp.constructor');\nrequire('../modules/es6.regexp.exec');\nrequire('../modules/es6.regexp.to-string');\nrequire('../modules/es6.regexp.flags');\nrequire('../modules/es6.regexp.match');\nrequire('../modules/es6.regexp.replace');\nrequire('../modules/es6.regexp.search');\nrequire('../modules/es6.regexp.split');\nrequire('../modules/es6.promise');\nrequire('../modules/es6.map');\nrequire('../modules/es6.set');\nrequire('../modules/es6.weak-map');\nrequire('../modules/es6.weak-set');\nrequire('../modules/es6.typed.array-buffer');\nrequire('../modules/es6.typed.data-view');\nrequire('../modules/es6.typed.int8-array');\nrequire('../modules/es6.typed.uint8-array');\nrequire('../modules/es6.typed.uint8-clamped-array');\nrequire('../modules/es6.typed.int16-array');\nrequire('../modules/es6.typed.uint16-array');\nrequire('../modules/es6.typed.int32-array');\nrequire('../modules/es6.typed.uint32-array');\nrequire('../modules/es6.typed.float32-array');\nrequire('../modules/es6.typed.float64-array');\nrequire('../modules/es6.reflect.apply');\nrequire('../modules/es6.reflect.construct');\nrequire('../modules/es6.reflect.define-property');\nrequire('../modules/es6.reflect.delete-property');\nrequire('../modules/es6.reflect.enumerate');\nrequire('../modules/es6.reflect.get');\nrequire('../modules/es6.reflect.get-own-property-descriptor');\nrequire('../modules/es6.reflect.get-prototype-of');\nrequire('../modules/es6.reflect.has');\nrequire('../modules/es6.reflect.is-extensible');\nrequire('../modules/es6.reflect.own-keys');\nrequire('../modules/es6.reflect.prevent-extensions');\nrequire('../modules/es6.reflect.set');\nrequire('../modules/es6.reflect.set-prototype-of');\nmodule.exports = require('../modules/_core');\n","require('../../modules/es7.array.flat-map');\nmodule.exports = require('../../modules/_core').Array.flatMap;\n","require('../../modules/es7.array.includes');\nmodule.exports = require('../../modules/_core').Array.includes;\n","require('../../modules/es7.object.entries');\nmodule.exports = require('../../modules/_core').Object.entries;\n","require('../../modules/es7.object.get-own-property-descriptors');\nmodule.exports = require('../../modules/_core').Object.getOwnPropertyDescriptors;\n","require('../../modules/es7.object.values');\nmodule.exports = require('../../modules/_core').Object.values;\n","'use strict';\nrequire('../../modules/es6.promise');\nrequire('../../modules/es7.promise.finally');\nmodule.exports = require('../../modules/_core').Promise['finally'];\n","require('../../modules/es7.string.pad-end');\nmodule.exports = require('../../modules/_core').String.padEnd;\n","require('../../modules/es7.string.pad-start');\nmodule.exports = require('../../modules/_core').String.padStart;\n","require('../../modules/es7.string.trim-right');\nmodule.exports = require('../../modules/_core').String.trimRight;\n","require('../../modules/es7.string.trim-left');\nmodule.exports = require('../../modules/_core').String.trimLeft;\n","require('../../modules/es7.symbol.async-iterator');\nmodule.exports = require('../../modules/_wks-ext').f('asyncIterator');\n","require('../modules/es7.global');\nmodule.exports = require('../modules/_core').global;\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","var core = module.exports = { version: '2.6.12' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\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","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","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","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","// 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","// https://github.com/tc39/proposal-global\nvar $export = require('./_export');\n\n$export($export.G, { global: require('./_global') });\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\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","// 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","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\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","// 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","// 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","// 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","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","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n","'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","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","'use strict';\nvar dP = require('./_object-dp').f;\nvar create = require('./_object-create');\nvar redefineAll = require('./_redefine-all');\nvar ctx = require('./_ctx');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar $iterDefine = require('./_iter-define');\nvar step = require('./_iter-step');\nvar setSpecies = require('./_set-species');\nvar DESCRIPTORS = require('./_descriptors');\nvar fastKey = require('./_meta').fastKey;\nvar validate = require('./_validate-collection');\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return that._i[index];\n // frozen object case\n for (entry = that._f; entry; entry = entry.n) {\n if (entry.k == key) return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n entry.r = true;\n if (entry.p) entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if (prev) prev.n = next;\n if (next) next.p = prev;\n if (that._f == entry) that._f = next;\n if (that._l == entry) that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.n : this._f) {\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var prev, index;\n // change existing entry\n if (entry) {\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if (!that._f) that._f = entry;\n if (prev) prev.n = entry;\n that[SIZE]++;\n // add to index\n if (index !== 'F') that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function (C, NAME, IS_MAP) {\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function (iterated, kind) {\n this._t = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var entry = that._l;\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n // get next entry\n if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if (kind == 'keys') return step(0, entry.k);\n if (kind == 'values') return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n","'use strict';\nvar redefineAll = require('./_redefine-all');\nvar getWeak = require('./_meta').getWeak;\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar createArrayMethod = require('./_array-methods');\nvar $has = require('./_has');\nvar validate = require('./_validate-collection');\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (that) {\n return that._l || (that._l = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.a = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return arrayFind(store.a, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function (key) {\n var index = arrayFindIndex(this.a, function (it) {\n return it[0] === key;\n });\n if (~index) this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function (key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var data = getWeak(anObject(key), true);\n if (data === true) uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n","'use strict';\nvar global = require('./_global');\nvar $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","var core = module.exports = { version: '2.6.12' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\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","// 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","'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","'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","// 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","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\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","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","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","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","'use strict';\nrequire('./es6.regexp.exec');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar wks = require('./_wks');\nvar regexpExec = require('./_regexp-exec');\n\nvar SPECIES = wks('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length === 2 && result[0] === 'a' && result[1] === 'b';\n})();\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n re.exec = function () { execCalled = true; return null; };\n if (KEY === 'split') {\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n }\n re[SYMBOL]('');\n return !execCalled;\n }) : undefined;\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var fns = exec(\n defined,\n SYMBOL,\n ''[KEY],\n function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }\n );\n var strfn = fns[0];\n var rxfn = fns[1];\n\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return rxfn.call(string, this); }\n );\n }\n};\n","'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","'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","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","module.exports = require('./_shared')('native-function-to-string', Function.toString);\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","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\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","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","// 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","// 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","// 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","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\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","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\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","// 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","'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","'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","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","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","module.exports = {};\n","module.exports = false;\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","// 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","// 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","// 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","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n var promise = Promise.resolve(undefined);\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","// 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","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","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","var 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","// 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","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","// 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","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","// 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","exports.f = {}.propertyIsEnumerable;\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","var DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar toIObject = require('./_to-iobject');\nvar isEnum = require('./_object-pie').f;\nmodule.exports = function (isEntries) {\n return function (it) {\n var O = toIObject(it);\n var keys = getKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || isEnum.call(O, key)) {\n result.push(isEntries ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn');\nvar gOPS = require('./_object-gops');\nvar anObject = require('./_an-object');\nvar Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {\n var keys = gOPN.f(anObject(it));\n var getSymbols = gOPS.f;\n return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n","var $parseFloat = require('./_global').parseFloat;\nvar $trim = require('./_string-trim').trim;\n\nmodule.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str) {\n var string = $trim(String(str), 3);\n var result = $parseFloat(string);\n return result === 0 && string.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;\n","var $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","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n","var 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","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var 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","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar $toString = require('./_function-to-string');\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n","'use strict';\n\nvar classof = require('./_classof');\nvar builtinExec = RegExp.prototype.exec;\n\n // `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw new TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n if (classof(R) !== 'RegExp') {\n throw new TypeError('RegExp#exec called on incompatible receiver');\n }\n return builtinExec.call(R, S);\n};\n","'use strict';\n\nvar regexpFlags = require('./_flags');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar LAST_INDEX = 'lastIndex';\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/,\n re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;\n})();\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + re.source + '$(?!\\\\s)', regexpFlags.call(re));\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];\n\n match = nativeExec.call(re, str);\n\n if (UPDATES_LAST_INDEX_WRONG && match) {\n re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n // eslint-disable-next-line no-loop-func\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","// 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","// 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","'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","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","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\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: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\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","'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","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","// 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","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","// 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","'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","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","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n","var 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","// 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","// 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","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","// 7.1.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","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","'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","'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","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","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","var global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\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","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","exports.f = require('./_wks');\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","var 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","// 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","'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","// 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","'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","'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","'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","'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","'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","'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","// 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","'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","'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","'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","'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","'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","'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","'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","'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","'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","'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","require('./_set-species')('Array');\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","// 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","'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","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","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","// 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","'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","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","'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","// 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","// 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","// 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","// 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","// 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","// 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","// 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","// 20.2.2.16 Math.fround(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { fround: require('./_math-fround') });\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","// 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","// 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","// 20.2.2.20 Math.log1p(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { log1p: require('./_math-log1p') });\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","// 20.2.2.28 Math.sign(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { sign: require('./_math-sign') });\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","// 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","// 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","'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","// 20.1.2.1 Number.EPSILON\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) });\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","// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { isInteger: require('./_is-integer') });\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","// 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","// 20.1.2.6 Number.MAX_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff });\n","// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff });\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","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","'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","'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","// 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","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","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","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","// 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","// 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","// 19.1.2.7 Object.getOwnPropertyNames(O)\nrequire('./_object-sap')('getOwnPropertyNames', function () {\n return require('./_object-gopn-ext').f;\n});\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","// 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","// 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","// 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","// 19.1.3.10 Object.is(value1, value2)\nvar $export = require('./_export');\n$export($export.S, 'Object', { is: require('./_same-value') });\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","// 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","// 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","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\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","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","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","'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","// 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","// 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","// 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","// 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","'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","// 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","// 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","// 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","// 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","// 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","// 26.1.11 Reflect.ownKeys(target)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', { ownKeys: require('./_own-keys') });\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","// 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","// 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","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","'use strict';\nvar regexpExec = require('./_regexp-exec');\nrequire('./_export')({\n target: 'RegExp',\n proto: true,\n forced: regexpExec !== /./.exec\n}, {\n exec: regexpExec\n});\n","// 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","'use strict';\n\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative($match, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n if (!rx.global) return regExpExec(rx, S);\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar toInteger = require('./_to-integer');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&`']|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&`']|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = defined(this);\n var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n var res = maybeCallNative($replace, regexp, this, replaceValue);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n results.push(result);\n if (!global) break;\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return $replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar sameValue = require('./_same-value');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@search logic\nrequire('./_fix-re-wks')('search', 1, function (defined, SEARCH, $search, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[SEARCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search\n function (regexp) {\n var res = maybeCallNative($search, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","'use strict';\n\nvar isRegExp = require('./_is-regexp');\nvar anObject = require('./_an-object');\nvar speciesConstructor = require('./_species-constructor');\nvar advanceStringIndex = require('./_advance-string-index');\nvar toLength = require('./_to-length');\nvar callRegExpExec = require('./_regexp-exec-abstract');\nvar regexpExec = require('./_regexp-exec');\nvar fails = require('./_fails');\nvar $min = Math.min;\nvar $push = [].push;\nvar $SPLIT = 'split';\nvar LENGTH = 'length';\nvar LAST_INDEX = 'lastIndex';\nvar MAX_UINT32 = 0xffffffff;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nrequire('./_fix-re-wks')('split', 2, function (defined, SPLIT, $split, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n ''[$SPLIT](/.?/)[LENGTH]\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(this);\n if (separator === undefined && limit === 0) return [];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) return $split.call(string, separator, limit);\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n var splitLimit = limit === undefined ? MAX_UINT32 : limit >>> 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy[LAST_INDEX];\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));\n lastLength = match[0][LENGTH];\n lastLastIndex = lastIndex;\n if (output[LENGTH] >= splitLimit) break;\n }\n if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n }\n if (lastLastIndex === string[LENGTH]) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n };\n // Chakra, V8\n } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit);\n };\n } else {\n internalSplit = $split;\n }\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = defined(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n});\n","'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","'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","'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","'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","'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","'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","'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","// 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","'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","'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","'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","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","// 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","'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","'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","'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","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","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","'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","// 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","'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","'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","'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","'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","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toObject = require('./_to-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $GOPS = require('./_object-gops');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n $GOPS.f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return $GOPS.f(toObject(it));\n }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","'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","var $export = require('./_export');\n$export($export.G + $export.W + $export.F * !require('./_typed').ABV, {\n DataView: require('./_typed-buffer').DataView\n});\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","require('./_typed-array')('Float64', 8, function (init) {\n return function Float64Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\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","require('./_typed-array')('Int32', 4, function (init) {\n return function Int32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\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","require('./_typed-array')('Uint16', 2, function (init) {\n return function Uint16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\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","require('./_typed-array')('Uint8', 1, function (init) {\n return function Uint8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\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","'use strict';\nvar global = require('./_global');\nvar each = require('./_array-methods')(0);\nvar redefine = require('./_redefine');\nvar meta = require('./_meta');\nvar assign = require('./_object-assign');\nvar weak = require('./_collection-weak');\nvar isObject = require('./_is-object');\nvar validate = require('./_validate-collection');\nvar NATIVE_WEAK_MAP = require('./_validate-collection');\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar InternalMap;\n\nvar wrapper = function (get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key) {\n if (isObject(key)) {\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value) {\n return weak.def(validate(this, WEAK_MAP), key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')(WEAK_MAP, wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var method = proto[key];\n redefine(proto, key, function (a, b) {\n // store frozen objects on internal weakmap shim\n if (isObject(a) && !isExtensible(a)) {\n if (!this._f) this._f = new InternalMap();\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}\n","'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","'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","'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","// 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","// 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","// 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","// https://github.com/tc39/proposal-promise-finally\n'use strict';\nvar $export = require('./_export');\nvar core = require('./_core');\nvar global = require('./_global');\nvar speciesConstructor = require('./_species-constructor');\nvar promiseResolve = require('./_promise-resolve');\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n} });\n","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export');\nvar $pad = require('./_string-pad');\nvar userAgent = require('./_user-agent');\n\n// https://github.com/zloirock/core-js/issues/280\nvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n$export($export.P + $export.F * WEBKIT_BUG, 'String', {\n padEnd: function padEnd(maxLength /* , fillString = ' ' */) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);\n }\n});\n","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export');\nvar $pad = require('./_string-pad');\nvar userAgent = require('./_user-agent');\n\n// https://github.com/zloirock/core-js/issues/280\nvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n$export($export.P + $export.F * WEBKIT_BUG, 'String', {\n padStart: function padStart(maxLength /* , fillString = ' ' */) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);\n }\n});\n","'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","'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","require('./_wks-define')('asyncIterator');\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","var $export = require('./_export');\nvar $task = require('./_task');\n$export($export.G + $export.B, {\n setImmediate: $task.set,\n clearImmediate: $task.clear\n});\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","require('../modules/web.timers');\nrequire('../modules/web.immediate');\nrequire('../modules/web.dom.iterable');\nmodule.exports = require('../modules/_core');\n","/* global NodeList, Element, Event, define */\n\n;(function (global) {\n 'use strict'\n\n var FOCUSABLE_ELEMENTS = [\n 'a[href]:not([tabindex^=\"-\"]):not([inert])',\n 'area[href]:not([tabindex^=\"-\"]):not([inert])',\n 'input:not([disabled]):not([inert])',\n 'select:not([disabled]):not([inert])',\n 'textarea:not([disabled]):not([inert])',\n 'button:not([disabled]):not([inert])',\n 'iframe:not([tabindex^=\"-\"]):not([inert])',\n 'audio:not([tabindex^=\"-\"]):not([inert])',\n 'video:not([tabindex^=\"-\"]):not([inert])',\n '[contenteditable]:not([tabindex^=\"-\"]):not([inert])',\n '[tabindex]:not([tabindex^=\"-\"]):not([inert])',\n ]\n var TAB_KEY = 9\n var ESCAPE_KEY = 27\n var focusedBeforeDialog\n\n /**\n * Define the constructor to instantiate a dialog\n *\n * @constructor\n * @param {Element} node\n * @param {(NodeList | Element | string)} targets\n */\n function A11yDialog(node, targets) {\n // Prebind the functions that will be bound in addEventListener and\n // removeEventListener to avoid losing references\n this._show = this.show.bind(this)\n this._hide = this.hide.bind(this)\n this._maintainFocus = this._maintainFocus.bind(this)\n this._bindKeypress = this._bindKeypress.bind(this)\n\n // Keep a reference of the node and the actual dialog on the instance\n this.container = node\n this.dialog = node.querySelector(\n 'dialog, [role=\"dialog\"], [role=\"alertdialog\"]'\n )\n this.role = this.dialog.getAttribute('role') || 'dialog'\n this.useDialog =\n 'show' in document.createElement('dialog') &&\n this.dialog.nodeName === 'DIALOG'\n\n // Keep an object of listener types mapped to callback functions\n this._listeners = {}\n\n // Initialise everything needed for the dialog to work properly\n this.create(targets)\n }\n\n /**\n * Set up everything necessary for the dialog to be functioning\n *\n * @param {(NodeList | Element | string)} targets\n * @return {this}\n */\n A11yDialog.prototype.create = function (targets) {\n // Keep a collection of nodes to disable/enable when toggling the dialog\n this._targets =\n this._targets || collect(targets) || getSiblings(this.container)\n\n // Set the `shown` property to match the status from the DOM\n this.shown = this.dialog.hasAttribute('open')\n\n // Despite using a `` element, `role=\"dialog\"` is not necessarily\n // implied by all screen-readers (yet)\n // See: https://github.com/edenspiekermann/a11y-dialog/commit/6ba711a777aed0dbda0719a18a02f742098c64d9#commitcomment-28694166\n this.dialog.setAttribute('role', this.role)\n\n if (!this.useDialog) {\n if (this.shown) {\n this.container.removeAttribute('aria-hidden')\n } else {\n this.container.setAttribute('aria-hidden', true)\n }\n } else {\n this.container.setAttribute('data-a11y-dialog-native', '')\n // Remove initial `aria-hidden` from container\n // See: https://github.com/edenspiekermann/a11y-dialog/pull/117#issuecomment-706056246\n this.container.removeAttribute('aria-hidden')\n }\n\n // Keep a collection of dialog openers, each of which will be bound a click\n // event listener to open the dialog\n this._openers = $$('[data-a11y-dialog-show=\"' + this.container.id + '\"]')\n this._openers.forEach(\n function (opener) {\n opener.addEventListener('click', this._show)\n }.bind(this)\n )\n\n // Keep a collection of dialog closers, each of which will be bound a click\n // event listener to close the dialog\n this._closers = $$('[data-a11y-dialog-hide]', this.container).concat(\n $$('[data-a11y-dialog-hide=\"' + this.container.id + '\"]')\n )\n this._closers.forEach(\n function (closer) {\n closer.addEventListener('click', this._hide)\n }.bind(this)\n )\n\n // Execute all callbacks registered for the `create` event\n this._fire('create')\n\n return this\n }\n\n /**\n * Show the dialog element, disable all the targets (siblings), trap the\n * current focus within it, listen for some specific key presses and fire all\n * registered callbacks for `show` event\n *\n * @param {Event} event\n * @return {this}\n */\n A11yDialog.prototype.show = function (event) {\n // If the dialog is already open, abort\n if (this.shown) {\n return this\n }\n\n this.shown = true\n\n // Keep a reference to the currently focused element to be able to restore\n // it later\n focusedBeforeDialog = document.activeElement\n\n if (this.useDialog) {\n this.dialog.showModal(event instanceof Event ? void 0 : event)\n } else {\n this.dialog.setAttribute('open', '')\n this.container.removeAttribute('aria-hidden')\n\n // Iterate over the targets to disable them by setting their `aria-hidden`\n // attribute to `true` and, if present, storing the current value of `aria-hidden`\n this._targets.forEach(function (target) {\n if (target.hasAttribute('aria-hidden')) {\n target.setAttribute(\n 'data-a11y-dialog-original-aria-hidden',\n target.getAttribute('aria-hidden')\n )\n }\n target.setAttribute('aria-hidden', 'true')\n })\n }\n\n // Set the focus to the first focusable child of the dialog element\n setFocusToFirstItem(this.dialog)\n\n // Bind a focus event listener to the body element to make sure the focus\n // stays trapped inside the dialog while open, and start listening for some\n // specific key presses (TAB and ESC)\n document.body.addEventListener('focus', this._maintainFocus, true)\n document.addEventListener('keydown', this._bindKeypress)\n\n // Execute all callbacks registered for the `show` event\n this._fire('show', event)\n\n return this\n }\n\n /**\n * Hide the dialog element, enable all the targets (siblings), restore the\n * focus to the previously active element, stop listening for some specific\n * key presses and fire all registered callbacks for `hide` event\n *\n * @param {Event} event\n * @return {this}\n */\n A11yDialog.prototype.hide = function (event) {\n // If the dialog is already closed, abort\n if (!this.shown) {\n return this\n }\n\n this.shown = false\n\n if (this.useDialog) {\n this.dialog.close(event instanceof Event ? void 0 : event)\n } else {\n this.dialog.removeAttribute('open')\n this.container.setAttribute('aria-hidden', 'true')\n\n // Iterate over the targets to enable them by removing their `aria-hidden`\n // attribute or resetting it to its original value\n this._targets.forEach(function (target) {\n if (target.hasAttribute('data-a11y-dialog-original-aria-hidden')) {\n target.setAttribute(\n 'aria-hidden',\n target.getAttribute('data-a11y-dialog-original-aria-hidden')\n )\n target.removeAttribute('data-a11y-dialog-original-aria-hidden')\n } else {\n target.removeAttribute('aria-hidden')\n }\n })\n }\n\n // If there was a focused element before the dialog was opened (and it has a\n // `focus` method), restore the focus back to it\n // See: https://github.com/edenspiekermann/a11y-dialog/issues/108\n if (focusedBeforeDialog && focusedBeforeDialog.focus) {\n focusedBeforeDialog.focus()\n }\n\n // Remove the focus event listener to the body element and stop listening\n // for specific key presses\n document.body.removeEventListener('focus', this._maintainFocus, true)\n document.removeEventListener('keydown', this._bindKeypress)\n\n // Execute all callbacks registered for the `hide` event\n this._fire('hide', event)\n\n return this\n }\n\n /**\n * Destroy the current instance (after making sure the dialog has been hidden)\n * and remove all associated listeners from dialog openers and closers\n *\n * @return {this}\n */\n A11yDialog.prototype.destroy = function () {\n // Hide the dialog to avoid destroying an open instance\n this.hide()\n\n // Remove the click event listener from all dialog openers\n this._openers.forEach(\n function (opener) {\n opener.removeEventListener('click', this._show)\n }.bind(this)\n )\n\n // Remove the click event listener from all dialog closers\n this._closers.forEach(\n function (closer) {\n closer.removeEventListener('click', this._hide)\n }.bind(this)\n )\n\n // Execute all callbacks registered for the `destroy` event\n this._fire('destroy')\n\n // Keep an object of listener types mapped to callback functions\n this._listeners = {}\n\n return this\n }\n\n /**\n * Register a new callback for the given event type\n *\n * @param {string} type\n * @param {Function} handler\n */\n A11yDialog.prototype.on = function (type, handler) {\n if (typeof this._listeners[type] === 'undefined') {\n this._listeners[type] = []\n }\n\n this._listeners[type].push(handler)\n\n return this\n }\n\n /**\n * Unregister an existing callback for the given event type\n *\n * @param {string} type\n * @param {Function} handler\n */\n A11yDialog.prototype.off = function (type, handler) {\n var index = this._listeners[type].indexOf(handler)\n\n if (index > -1) {\n this._listeners[type].splice(index, 1)\n }\n\n return this\n }\n\n /**\n * Iterate over all registered handlers for given type and call them all with\n * the dialog element as first argument, event as second argument (if any).\n *\n * @access private\n * @param {string} type\n * @param {Event} event\n */\n A11yDialog.prototype._fire = function (type, event) {\n var listeners = this._listeners[type] || []\n\n listeners.forEach(\n function (listener) {\n listener(this.container, event)\n }.bind(this)\n )\n }\n\n /**\n * Private event handler used when listening to some specific key presses\n * (namely ESCAPE and TAB)\n *\n * @access private\n * @param {Event} event\n */\n A11yDialog.prototype._bindKeypress = function (event) {\n // If the dialog is shown and the ESCAPE key is being pressed, prevent any\n // further effects from the ESCAPE key and hide the dialog, unless its role\n // is 'alertdialog', which should be modal\n if (\n this.shown &&\n event.which === ESCAPE_KEY &&\n this.role !== 'alertdialog'\n ) {\n event.preventDefault()\n this.hide(event)\n }\n\n // If the dialog is shown and the TAB key is being pressed, make sure the\n // focus stays trapped within the dialog element\n if (this.shown && event.which === TAB_KEY) {\n trapTabKey(this.dialog, event)\n }\n }\n\n /**\n * Private event handler used when making sure the focus stays within the\n * currently open dialog\n *\n * @access private\n * @param {Event} event\n */\n A11yDialog.prototype._maintainFocus = function (event) {\n // If the dialog is shown and the focus is not within the dialog element,\n // move it back to its first focusable child\n if (this.shown && !this.container.contains(event.target)) {\n setFocusToFirstItem(this.dialog)\n }\n }\n\n /**\n * Convert a NodeList into an array\n *\n * @param {NodeList} collection\n * @return {Array}\n */\n function toArray(collection) {\n return Array.prototype.slice.call(collection)\n }\n\n /**\n * Query the DOM for nodes matching the given selector, scoped to context (or\n * the whole document)\n *\n * @param {String} selector\n * @param {Element} [context = document]\n * @return {Array}\n */\n function $$(selector, context) {\n return toArray((context || document).querySelectorAll(selector))\n }\n\n /**\n * Return an array of Element based on given argument (NodeList, Element or\n * string representing a selector)\n *\n * @param {(NodeList | Element | string)} target\n * @return {Array}\n */\n function collect(target) {\n if (NodeList.prototype.isPrototypeOf(target)) {\n return toArray(target)\n }\n\n if (Element.prototype.isPrototypeOf(target)) {\n return [target]\n }\n\n if (typeof target === 'string') {\n return $$(target)\n }\n }\n\n /**\n * Set the focus to the first element with `autofocus` or the first focusable\n * child of the given element\n *\n * @param {Element} node\n */\n function setFocusToFirstItem(node) {\n var focusableChildren = getFocusableChildren(node)\n var focused = node.querySelector('[autofocus]') || focusableChildren[0]\n\n if (focused) {\n focused.focus()\n }\n }\n\n /**\n * Get the focusable children of the given element\n *\n * @param {Element} node\n * @return {Array}\n */\n function getFocusableChildren(node) {\n return $$(FOCUSABLE_ELEMENTS.join(','), node).filter(function (child) {\n return !!(\n child.offsetWidth ||\n child.offsetHeight ||\n child.getClientRects().length\n )\n })\n }\n\n /**\n * Trap the focus inside the given element\n *\n * @param {Element} node\n * @param {Event} event\n */\n function trapTabKey(node, event) {\n var focusableChildren = getFocusableChildren(node)\n var focusedItemIndex = focusableChildren.indexOf(document.activeElement)\n\n // If the SHIFT key is being pressed while tabbing (moving backwards) and\n // the currently focused item is the first one, move the focus to the last\n // focusable item from the dialog element\n if (event.shiftKey && focusedItemIndex === 0) {\n focusableChildren[focusableChildren.length - 1].focus()\n event.preventDefault()\n // If the SHIFT key is not being pressed (moving forwards) and the currently\n // focused item is the last one, move the focus to the first focusable item\n // from the dialog element\n } else if (\n !event.shiftKey &&\n focusedItemIndex === focusableChildren.length - 1\n ) {\n focusableChildren[0].focus()\n event.preventDefault()\n }\n }\n\n /**\n * Retrieve siblings from given element\n *\n * @param {Element} node\n * @return {Array}\n */\n function getSiblings(node) {\n var nodes = toArray(node.parentNode.childNodes)\n var siblings = nodes.filter(function (node) {\n return node.nodeType === 1\n })\n\n siblings.splice(siblings.indexOf(node), 1)\n\n return siblings\n }\n\n function instantiateDialogs() {\n $$('[data-a11y-dialog]').forEach(function (node) {\n new A11yDialog(node, node.getAttribute('data-a11y-dialog') || undefined)\n })\n }\n\n if (typeof global.document !== 'undefined') {\n var document = global.document\n\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', instantiateDialogs)\n } else {\n if (global.requestAnimationFrame) {\n global.requestAnimationFrame(instantiateDialogs)\n } else {\n global.setTimeout(instantiateDialogs, 16)\n }\n }\n }\n\n if (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\n module.exports = A11yDialog\n } else if (typeof define === 'function' && define.amd) {\n define('A11yDialog', [], function () {\n return A11yDialog\n })\n } else if (typeof global === 'object') {\n global.A11yDialog = A11yDialog\n }\n})(typeof global !== 'undefined' ? global : window)\n","/*\n * anime.js v3.2.1\n * (c) 2020 Julian Garnier\n * Released under the MIT license\n * animejs.com\n */\n\n// Defaults\n\nvar defaultInstanceSettings = {\n update: null,\n begin: null,\n loopBegin: null,\n changeBegin: null,\n change: null,\n changeComplete: null,\n loopComplete: null,\n complete: null,\n loop: 1,\n direction: 'normal',\n autoplay: true,\n timelineOffset: 0\n};\n\nvar defaultTweenSettings = {\n duration: 1000,\n delay: 0,\n endDelay: 0,\n easing: 'easeOutElastic(1, .5)',\n round: 0\n};\n\nvar validTransforms = ['translateX', 'translateY', 'translateZ', 'rotate', 'rotateX', 'rotateY', 'rotateZ', 'scale', 'scaleX', 'scaleY', 'scaleZ', 'skew', 'skewX', 'skewY', 'perspective', 'matrix', 'matrix3d'];\n\n// Caching\n\nvar cache = {\n CSS: {},\n springs: {}\n};\n\n// Utils\n\nfunction minMax(val, min, max) {\n return Math.min(Math.max(val, min), max);\n}\n\nfunction stringContains(str, text) {\n return str.indexOf(text) > -1;\n}\n\nfunction applyArguments(func, args) {\n return func.apply(null, args);\n}\n\nvar is = {\n arr: function (a) { return Array.isArray(a); },\n obj: function (a) { return stringContains(Object.prototype.toString.call(a), 'Object'); },\n pth: function (a) { return is.obj(a) && a.hasOwnProperty('totalLength'); },\n svg: function (a) { return a instanceof SVGElement; },\n inp: function (a) { return a instanceof HTMLInputElement; },\n dom: function (a) { return a.nodeType || is.svg(a); },\n str: function (a) { return typeof a === 'string'; },\n fnc: function (a) { return typeof a === 'function'; },\n und: function (a) { return typeof a === 'undefined'; },\n nil: function (a) { return is.und(a) || a === null; },\n hex: function (a) { return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(a); },\n rgb: function (a) { return /^rgb/.test(a); },\n hsl: function (a) { return /^hsl/.test(a); },\n col: function (a) { return (is.hex(a) || is.rgb(a) || is.hsl(a)); },\n key: function (a) { return !defaultInstanceSettings.hasOwnProperty(a) && !defaultTweenSettings.hasOwnProperty(a) && a !== 'targets' && a !== 'keyframes'; },\n};\n\n// Easings\n\nfunction parseEasingParameters(string) {\n var match = /\\(([^)]+)\\)/.exec(string);\n return match ? match[1].split(',').map(function (p) { return parseFloat(p); }) : [];\n}\n\n// Spring solver inspired by Webkit Copyright © 2016 Apple Inc. All rights reserved. https://webkit.org/demos/spring/spring.js\n\nfunction spring(string, duration) {\n\n var params = parseEasingParameters(string);\n var mass = minMax(is.und(params[0]) ? 1 : params[0], .1, 100);\n var stiffness = minMax(is.und(params[1]) ? 100 : params[1], .1, 100);\n var damping = minMax(is.und(params[2]) ? 10 : params[2], .1, 100);\n var velocity = minMax(is.und(params[3]) ? 0 : params[3], .1, 100);\n var w0 = Math.sqrt(stiffness / mass);\n var zeta = damping / (2 * Math.sqrt(stiffness * mass));\n var wd = zeta < 1 ? w0 * Math.sqrt(1 - zeta * zeta) : 0;\n var a = 1;\n var b = zeta < 1 ? (zeta * w0 + -velocity) / wd : -velocity + w0;\n\n function solver(t) {\n var progress = duration ? (duration * t) / 1000 : t;\n if (zeta < 1) {\n progress = Math.exp(-progress * zeta * w0) * (a * Math.cos(wd * progress) + b * Math.sin(wd * progress));\n } else {\n progress = (a + b * progress) * Math.exp(-progress * w0);\n }\n if (t === 0 || t === 1) { return t; }\n return 1 - progress;\n }\n\n function getDuration() {\n var cached = cache.springs[string];\n if (cached) { return cached; }\n var frame = 1/6;\n var elapsed = 0;\n var rest = 0;\n while(true) {\n elapsed += frame;\n if (solver(elapsed) === 1) {\n rest++;\n if (rest >= 16) { break; }\n } else {\n rest = 0;\n }\n }\n var duration = elapsed * frame * 1000;\n cache.springs[string] = duration;\n return duration;\n }\n\n return duration ? solver : getDuration;\n\n}\n\n// Basic steps easing implementation https://developer.mozilla.org/fr/docs/Web/CSS/transition-timing-function\n\nfunction steps(steps) {\n if ( steps === void 0 ) steps = 10;\n\n return function (t) { return Math.ceil((minMax(t, 0.000001, 1)) * steps) * (1 / steps); };\n}\n\n// BezierEasing https://github.com/gre/bezier-easing\n\nvar bezier = (function () {\n\n var kSplineTableSize = 11;\n var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\n\n function A(aA1, aA2) { return 1.0 - 3.0 * aA2 + 3.0 * aA1 }\n function B(aA1, aA2) { return 3.0 * aA2 - 6.0 * aA1 }\n function C(aA1) { return 3.0 * aA1 }\n\n function calcBezier(aT, aA1, aA2) { return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT }\n function getSlope(aT, aA1, aA2) { return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1) }\n\n function binarySubdivide(aX, aA, aB, mX1, mX2) {\n var currentX, currentT, i = 0;\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n if (currentX > 0.0) { aB = currentT; } else { aA = currentT; }\n } while (Math.abs(currentX) > 0.0000001 && ++i < 10);\n return currentT;\n }\n\n function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n for (var i = 0; i < 4; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) { return aGuessT; }\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n }\n\n function bezier(mX1, mY1, mX2, mY2) {\n\n if (!(0 <= mX1 && mX1 <= 1 && 0 <= mX2 && mX2 <= 1)) { return; }\n var sampleValues = new Float32Array(kSplineTableSize);\n\n if (mX1 !== mY1 || mX2 !== mY2) {\n for (var i = 0; i < kSplineTableSize; ++i) {\n sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n }\n\n function getTForX(aX) {\n\n var intervalStart = 0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n\n for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n\n --currentSample;\n\n var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]);\n var guessForT = intervalStart + dist * kSampleStepSize;\n var initialSlope = getSlope(guessForT, mX1, mX2);\n\n if (initialSlope >= 0.001) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n } else if (initialSlope === 0.0) {\n return guessForT;\n } else {\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n\n }\n\n return function (x) {\n if (mX1 === mY1 && mX2 === mY2) { return x; }\n if (x === 0 || x === 1) { return x; }\n return calcBezier(getTForX(x), mY1, mY2);\n }\n\n }\n\n return bezier;\n\n})();\n\nvar penner = (function () {\n\n // Based on jQuery UI's implemenation of easing equations from Robert Penner (http://www.robertpenner.com/easing)\n\n var eases = { linear: function () { return function (t) { return t; }; } };\n\n var functionEasings = {\n Sine: function () { return function (t) { return 1 - Math.cos(t * Math.PI / 2); }; },\n Circ: function () { return function (t) { return 1 - Math.sqrt(1 - t * t); }; },\n Back: function () { return function (t) { return t * t * (3 * t - 2); }; },\n Bounce: function () { return function (t) {\n var pow2, b = 4;\n while (t < (( pow2 = Math.pow(2, --b)) - 1) / 11) {}\n return 1 / Math.pow(4, 3 - b) - 7.5625 * Math.pow(( pow2 * 3 - 2 ) / 22 - t, 2)\n }; },\n Elastic: function (amplitude, period) {\n if ( amplitude === void 0 ) amplitude = 1;\n if ( period === void 0 ) period = .5;\n\n var a = minMax(amplitude, 1, 10);\n var p = minMax(period, .1, 2);\n return function (t) {\n return (t === 0 || t === 1) ? t : \n -a * Math.pow(2, 10 * (t - 1)) * Math.sin((((t - 1) - (p / (Math.PI * 2) * Math.asin(1 / a))) * (Math.PI * 2)) / p);\n }\n }\n };\n\n var baseEasings = ['Quad', 'Cubic', 'Quart', 'Quint', 'Expo'];\n\n baseEasings.forEach(function (name, i) {\n functionEasings[name] = function () { return function (t) { return Math.pow(t, i + 2); }; };\n });\n\n Object.keys(functionEasings).forEach(function (name) {\n var easeIn = functionEasings[name];\n eases['easeIn' + name] = easeIn;\n eases['easeOut' + name] = function (a, b) { return function (t) { return 1 - easeIn(a, b)(1 - t); }; };\n eases['easeInOut' + name] = function (a, b) { return function (t) { return t < 0.5 ? easeIn(a, b)(t * 2) / 2 : \n 1 - easeIn(a, b)(t * -2 + 2) / 2; }; };\n eases['easeOutIn' + name] = function (a, b) { return function (t) { return t < 0.5 ? (1 - easeIn(a, b)(1 - t * 2)) / 2 : \n (easeIn(a, b)(t * 2 - 1) + 1) / 2; }; };\n });\n\n return eases;\n\n})();\n\nfunction parseEasings(easing, duration) {\n if (is.fnc(easing)) { return easing; }\n var name = easing.split('(')[0];\n var ease = penner[name];\n var args = parseEasingParameters(easing);\n switch (name) {\n case 'spring' : return spring(easing, duration);\n case 'cubicBezier' : return applyArguments(bezier, args);\n case 'steps' : return applyArguments(steps, args);\n default : return applyArguments(ease, args);\n }\n}\n\n// Strings\n\nfunction selectString(str) {\n try {\n var nodes = document.querySelectorAll(str);\n return nodes;\n } catch(e) {\n return;\n }\n}\n\n// Arrays\n\nfunction filterArray(arr, callback) {\n var len = arr.length;\n var thisArg = arguments.length >= 2 ? arguments[1] : void 0;\n var result = [];\n for (var i = 0; i < len; i++) {\n if (i in arr) {\n var val = arr[i];\n if (callback.call(thisArg, val, i, arr)) {\n result.push(val);\n }\n }\n }\n return result;\n}\n\nfunction flattenArray(arr) {\n return arr.reduce(function (a, b) { return a.concat(is.arr(b) ? flattenArray(b) : b); }, []);\n}\n\nfunction toArray(o) {\n if (is.arr(o)) { return o; }\n if (is.str(o)) { o = selectString(o) || o; }\n if (o instanceof NodeList || o instanceof HTMLCollection) { return [].slice.call(o); }\n return [o];\n}\n\nfunction arrayContains(arr, val) {\n return arr.some(function (a) { return a === val; });\n}\n\n// Objects\n\nfunction cloneObject(o) {\n var clone = {};\n for (var p in o) { clone[p] = o[p]; }\n return clone;\n}\n\nfunction replaceObjectProps(o1, o2) {\n var o = cloneObject(o1);\n for (var p in o1) { o[p] = o2.hasOwnProperty(p) ? o2[p] : o1[p]; }\n return o;\n}\n\nfunction mergeObjects(o1, o2) {\n var o = cloneObject(o1);\n for (var p in o2) { o[p] = is.und(o1[p]) ? o2[p] : o1[p]; }\n return o;\n}\n\n// Colors\n\nfunction rgbToRgba(rgbValue) {\n var rgb = /rgb\\((\\d+,\\s*[\\d]+,\\s*[\\d]+)\\)/g.exec(rgbValue);\n return rgb ? (\"rgba(\" + (rgb[1]) + \",1)\") : rgbValue;\n}\n\nfunction hexToRgba(hexValue) {\n var rgx = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n var hex = hexValue.replace(rgx, function (m, r, g, b) { return r + r + g + g + b + b; } );\n var rgb = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n var r = parseInt(rgb[1], 16);\n var g = parseInt(rgb[2], 16);\n var b = parseInt(rgb[3], 16);\n return (\"rgba(\" + r + \",\" + g + \",\" + b + \",1)\");\n}\n\nfunction hslToRgba(hslValue) {\n var hsl = /hsl\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%\\)/g.exec(hslValue) || /hsla\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%,\\s*([\\d.]+)\\)/g.exec(hslValue);\n var h = parseInt(hsl[1], 10) / 360;\n var s = parseInt(hsl[2], 10) / 100;\n var l = parseInt(hsl[3], 10) / 100;\n var a = hsl[4] || 1;\n function hue2rgb(p, q, t) {\n if (t < 0) { t += 1; }\n if (t > 1) { t -= 1; }\n if (t < 1/6) { return p + (q - p) * 6 * t; }\n if (t < 1/2) { return q; }\n if (t < 2/3) { return p + (q - p) * (2/3 - t) * 6; }\n return p;\n }\n var r, g, b;\n if (s == 0) {\n r = g = b = l;\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1/3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1/3);\n }\n return (\"rgba(\" + (r * 255) + \",\" + (g * 255) + \",\" + (b * 255) + \",\" + a + \")\");\n}\n\nfunction colorToRgb(val) {\n if (is.rgb(val)) { return rgbToRgba(val); }\n if (is.hex(val)) { return hexToRgba(val); }\n if (is.hsl(val)) { return hslToRgba(val); }\n}\n\n// Units\n\nfunction getUnit(val) {\n var split = /[+-]?\\d*\\.?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(val);\n if (split) { return split[1]; }\n}\n\nfunction getTransformUnit(propName) {\n if (stringContains(propName, 'translate') || propName === 'perspective') { return 'px'; }\n if (stringContains(propName, 'rotate') || stringContains(propName, 'skew')) { return 'deg'; }\n}\n\n// Values\n\nfunction getFunctionValue(val, animatable) {\n if (!is.fnc(val)) { return val; }\n return val(animatable.target, animatable.id, animatable.total);\n}\n\nfunction getAttribute(el, prop) {\n return el.getAttribute(prop);\n}\n\nfunction convertPxToUnit(el, value, unit) {\n var valueUnit = getUnit(value);\n if (arrayContains([unit, 'deg', 'rad', 'turn'], valueUnit)) { return value; }\n var cached = cache.CSS[value + unit];\n if (!is.und(cached)) { return cached; }\n var baseline = 100;\n var tempEl = document.createElement(el.tagName);\n var parentEl = (el.parentNode && (el.parentNode !== document)) ? el.parentNode : document.body;\n parentEl.appendChild(tempEl);\n tempEl.style.position = 'absolute';\n tempEl.style.width = baseline + unit;\n var factor = baseline / tempEl.offsetWidth;\n parentEl.removeChild(tempEl);\n var convertedUnit = factor * parseFloat(value);\n cache.CSS[value + unit] = convertedUnit;\n return convertedUnit;\n}\n\nfunction getCSSValue(el, prop, unit) {\n if (prop in el.style) {\n var uppercasePropName = prop.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n var value = el.style[prop] || getComputedStyle(el).getPropertyValue(uppercasePropName) || '0';\n return unit ? convertPxToUnit(el, value, unit) : value;\n }\n}\n\nfunction getAnimationType(el, prop) {\n if (is.dom(el) && !is.inp(el) && (!is.nil(getAttribute(el, prop)) || (is.svg(el) && el[prop]))) { return 'attribute'; }\n if (is.dom(el) && arrayContains(validTransforms, prop)) { return 'transform'; }\n if (is.dom(el) && (prop !== 'transform' && getCSSValue(el, prop))) { return 'css'; }\n if (el[prop] != null) { return 'object'; }\n}\n\nfunction getElementTransforms(el) {\n if (!is.dom(el)) { return; }\n var str = el.style.transform || '';\n var reg = /(\\w+)\\(([^)]*)\\)/g;\n var transforms = new Map();\n var m; while (m = reg.exec(str)) { transforms.set(m[1], m[2]); }\n return transforms;\n}\n\nfunction getTransformValue(el, propName, animatable, unit) {\n var defaultVal = stringContains(propName, 'scale') ? 1 : 0 + getTransformUnit(propName);\n var value = getElementTransforms(el).get(propName) || defaultVal;\n if (animatable) {\n animatable.transforms.list.set(propName, value);\n animatable.transforms['last'] = propName;\n }\n return unit ? convertPxToUnit(el, value, unit) : value;\n}\n\nfunction getOriginalTargetValue(target, propName, unit, animatable) {\n switch (getAnimationType(target, propName)) {\n case 'transform': return getTransformValue(target, propName, animatable, unit);\n case 'css': return getCSSValue(target, propName, unit);\n case 'attribute': return getAttribute(target, propName);\n default: return target[propName] || 0;\n }\n}\n\nfunction getRelativeValue(to, from) {\n var operator = /^(\\*=|\\+=|-=)/.exec(to);\n if (!operator) { return to; }\n var u = getUnit(to) || 0;\n var x = parseFloat(from);\n var y = parseFloat(to.replace(operator[0], ''));\n switch (operator[0][0]) {\n case '+': return x + y + u;\n case '-': return x - y + u;\n case '*': return x * y + u;\n }\n}\n\nfunction validateValue(val, unit) {\n if (is.col(val)) { return colorToRgb(val); }\n if (/\\s/g.test(val)) { return val; }\n var originalUnit = getUnit(val);\n var unitLess = originalUnit ? val.substr(0, val.length - originalUnit.length) : val;\n if (unit) { return unitLess + unit; }\n return unitLess;\n}\n\n// getTotalLength() equivalent for circle, rect, polyline, polygon and line shapes\n// adapted from https://gist.github.com/SebLambla/3e0550c496c236709744\n\nfunction getDistance(p1, p2) {\n return Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));\n}\n\nfunction getCircleLength(el) {\n return Math.PI * 2 * getAttribute(el, 'r');\n}\n\nfunction getRectLength(el) {\n return (getAttribute(el, 'width') * 2) + (getAttribute(el, 'height') * 2);\n}\n\nfunction getLineLength(el) {\n return getDistance(\n {x: getAttribute(el, 'x1'), y: getAttribute(el, 'y1')}, \n {x: getAttribute(el, 'x2'), y: getAttribute(el, 'y2')}\n );\n}\n\nfunction getPolylineLength(el) {\n var points = el.points;\n var totalLength = 0;\n var previousPos;\n for (var i = 0 ; i < points.numberOfItems; i++) {\n var currentPos = points.getItem(i);\n if (i > 0) { totalLength += getDistance(previousPos, currentPos); }\n previousPos = currentPos;\n }\n return totalLength;\n}\n\nfunction getPolygonLength(el) {\n var points = el.points;\n return getPolylineLength(el) + getDistance(points.getItem(points.numberOfItems - 1), points.getItem(0));\n}\n\n// Path animation\n\nfunction getTotalLength(el) {\n if (el.getTotalLength) { return el.getTotalLength(); }\n switch(el.tagName.toLowerCase()) {\n case 'circle': return getCircleLength(el);\n case 'rect': return getRectLength(el);\n case 'line': return getLineLength(el);\n case 'polyline': return getPolylineLength(el);\n case 'polygon': return getPolygonLength(el);\n }\n}\n\nfunction setDashoffset(el) {\n var pathLength = getTotalLength(el);\n el.setAttribute('stroke-dasharray', pathLength);\n return pathLength;\n}\n\n// Motion path\n\nfunction getParentSvgEl(el) {\n var parentEl = el.parentNode;\n while (is.svg(parentEl)) {\n if (!is.svg(parentEl.parentNode)) { break; }\n parentEl = parentEl.parentNode;\n }\n return parentEl;\n}\n\nfunction getParentSvg(pathEl, svgData) {\n var svg = svgData || {};\n var parentSvgEl = svg.el || getParentSvgEl(pathEl);\n var rect = parentSvgEl.getBoundingClientRect();\n var viewBoxAttr = getAttribute(parentSvgEl, 'viewBox');\n var width = rect.width;\n var height = rect.height;\n var viewBox = svg.viewBox || (viewBoxAttr ? viewBoxAttr.split(' ') : [0, 0, width, height]);\n return {\n el: parentSvgEl,\n viewBox: viewBox,\n x: viewBox[0] / 1,\n y: viewBox[1] / 1,\n w: width,\n h: height,\n vW: viewBox[2],\n vH: viewBox[3]\n }\n}\n\nfunction getPath(path, percent) {\n var pathEl = is.str(path) ? selectString(path)[0] : path;\n var p = percent || 100;\n return function(property) {\n return {\n property: property,\n el: pathEl,\n svg: getParentSvg(pathEl),\n totalLength: getTotalLength(pathEl) * (p / 100)\n }\n }\n}\n\nfunction getPathProgress(path, progress, isPathTargetInsideSVG) {\n function point(offset) {\n if ( offset === void 0 ) offset = 0;\n\n var l = progress + offset >= 1 ? progress + offset : 0;\n return path.el.getPointAtLength(l);\n }\n var svg = getParentSvg(path.el, path.svg);\n var p = point();\n var p0 = point(-1);\n var p1 = point(+1);\n var scaleX = isPathTargetInsideSVG ? 1 : svg.w / svg.vW;\n var scaleY = isPathTargetInsideSVG ? 1 : svg.h / svg.vH;\n switch (path.property) {\n case 'x': return (p.x - svg.x) * scaleX;\n case 'y': return (p.y - svg.y) * scaleY;\n case 'angle': return Math.atan2(p1.y - p0.y, p1.x - p0.x) * 180 / Math.PI;\n }\n}\n\n// Decompose value\n\nfunction decomposeValue(val, unit) {\n // const rgx = /-?\\d*\\.?\\d+/g; // handles basic numbers\n // const rgx = /[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/g; // handles exponents notation\n var rgx = /[+-]?\\d*\\.?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/g; // handles exponents notation\n var value = validateValue((is.pth(val) ? val.totalLength : val), unit) + '';\n return {\n original: value,\n numbers: value.match(rgx) ? value.match(rgx).map(Number) : [0],\n strings: (is.str(val) || unit) ? value.split(rgx) : []\n }\n}\n\n// Animatables\n\nfunction parseTargets(targets) {\n var targetsArray = targets ? (flattenArray(is.arr(targets) ? targets.map(toArray) : toArray(targets))) : [];\n return filterArray(targetsArray, function (item, pos, self) { return self.indexOf(item) === pos; });\n}\n\nfunction getAnimatables(targets) {\n var parsed = parseTargets(targets);\n return parsed.map(function (t, i) {\n return {target: t, id: i, total: parsed.length, transforms: { list: getElementTransforms(t) } };\n });\n}\n\n// Properties\n\nfunction normalizePropertyTweens(prop, tweenSettings) {\n var settings = cloneObject(tweenSettings);\n // Override duration if easing is a spring\n if (/^spring/.test(settings.easing)) { settings.duration = spring(settings.easing); }\n if (is.arr(prop)) {\n var l = prop.length;\n var isFromTo = (l === 2 && !is.obj(prop[0]));\n if (!isFromTo) {\n // Duration divided by the number of tweens\n if (!is.fnc(tweenSettings.duration)) { settings.duration = tweenSettings.duration / l; }\n } else {\n // Transform [from, to] values shorthand to a valid tween value\n prop = {value: prop};\n }\n }\n var propArray = is.arr(prop) ? prop : [prop];\n return propArray.map(function (v, i) {\n var obj = (is.obj(v) && !is.pth(v)) ? v : {value: v};\n // Default delay value should only be applied to the first tween\n if (is.und(obj.delay)) { obj.delay = !i ? tweenSettings.delay : 0; }\n // Default endDelay value should only be applied to the last tween\n if (is.und(obj.endDelay)) { obj.endDelay = i === propArray.length - 1 ? tweenSettings.endDelay : 0; }\n return obj;\n }).map(function (k) { return mergeObjects(k, settings); });\n}\n\n\nfunction flattenKeyframes(keyframes) {\n var propertyNames = filterArray(flattenArray(keyframes.map(function (key) { return Object.keys(key); })), function (p) { return is.key(p); })\n .reduce(function (a,b) { if (a.indexOf(b) < 0) { a.push(b); } return a; }, []);\n var properties = {};\n var loop = function ( i ) {\n var propName = propertyNames[i];\n properties[propName] = keyframes.map(function (key) {\n var newKey = {};\n for (var p in key) {\n if (is.key(p)) {\n if (p == propName) { newKey.value = key[p]; }\n } else {\n newKey[p] = key[p];\n }\n }\n return newKey;\n });\n };\n\n for (var i = 0; i < propertyNames.length; i++) loop( i );\n return properties;\n}\n\nfunction getProperties(tweenSettings, params) {\n var properties = [];\n var keyframes = params.keyframes;\n if (keyframes) { params = mergeObjects(flattenKeyframes(keyframes), params); }\n for (var p in params) {\n if (is.key(p)) {\n properties.push({\n name: p,\n tweens: normalizePropertyTweens(params[p], tweenSettings)\n });\n }\n }\n return properties;\n}\n\n// Tweens\n\nfunction normalizeTweenValues(tween, animatable) {\n var t = {};\n for (var p in tween) {\n var value = getFunctionValue(tween[p], animatable);\n if (is.arr(value)) {\n value = value.map(function (v) { return getFunctionValue(v, animatable); });\n if (value.length === 1) { value = value[0]; }\n }\n t[p] = value;\n }\n t.duration = parseFloat(t.duration);\n t.delay = parseFloat(t.delay);\n return t;\n}\n\nfunction normalizeTweens(prop, animatable) {\n var previousTween;\n return prop.tweens.map(function (t) {\n var tween = normalizeTweenValues(t, animatable);\n var tweenValue = tween.value;\n var to = is.arr(tweenValue) ? tweenValue[1] : tweenValue;\n var toUnit = getUnit(to);\n var originalValue = getOriginalTargetValue(animatable.target, prop.name, toUnit, animatable);\n var previousValue = previousTween ? previousTween.to.original : originalValue;\n var from = is.arr(tweenValue) ? tweenValue[0] : previousValue;\n var fromUnit = getUnit(from) || getUnit(originalValue);\n var unit = toUnit || fromUnit;\n if (is.und(to)) { to = previousValue; }\n tween.from = decomposeValue(from, unit);\n tween.to = decomposeValue(getRelativeValue(to, from), unit);\n tween.start = previousTween ? previousTween.end : 0;\n tween.end = tween.start + tween.delay + tween.duration + tween.endDelay;\n tween.easing = parseEasings(tween.easing, tween.duration);\n tween.isPath = is.pth(tweenValue);\n tween.isPathTargetInsideSVG = tween.isPath && is.svg(animatable.target);\n tween.isColor = is.col(tween.from.original);\n if (tween.isColor) { tween.round = 1; }\n previousTween = tween;\n return tween;\n });\n}\n\n// Tween progress\n\nvar setProgressValue = {\n css: function (t, p, v) { return t.style[p] = v; },\n attribute: function (t, p, v) { return t.setAttribute(p, v); },\n object: function (t, p, v) { return t[p] = v; },\n transform: function (t, p, v, transforms, manual) {\n transforms.list.set(p, v);\n if (p === transforms.last || manual) {\n var str = '';\n transforms.list.forEach(function (value, prop) { str += prop + \"(\" + value + \") \"; });\n t.style.transform = str;\n }\n }\n};\n\n// Set Value helper\n\nfunction setTargetsValue(targets, properties) {\n var animatables = getAnimatables(targets);\n animatables.forEach(function (animatable) {\n for (var property in properties) {\n var value = getFunctionValue(properties[property], animatable);\n var target = animatable.target;\n var valueUnit = getUnit(value);\n var originalValue = getOriginalTargetValue(target, property, valueUnit, animatable);\n var unit = valueUnit || getUnit(originalValue);\n var to = getRelativeValue(validateValue(value, unit), originalValue);\n var animType = getAnimationType(target, property);\n setProgressValue[animType](target, property, to, animatable.transforms, true);\n }\n });\n}\n\n// Animations\n\nfunction createAnimation(animatable, prop) {\n var animType = getAnimationType(animatable.target, prop.name);\n if (animType) {\n var tweens = normalizeTweens(prop, animatable);\n var lastTween = tweens[tweens.length - 1];\n return {\n type: animType,\n property: prop.name,\n animatable: animatable,\n tweens: tweens,\n duration: lastTween.end,\n delay: tweens[0].delay,\n endDelay: lastTween.endDelay\n }\n }\n}\n\nfunction getAnimations(animatables, properties) {\n return filterArray(flattenArray(animatables.map(function (animatable) {\n return properties.map(function (prop) {\n return createAnimation(animatable, prop);\n });\n })), function (a) { return !is.und(a); });\n}\n\n// Create Instance\n\nfunction getInstanceTimings(animations, tweenSettings) {\n var animLength = animations.length;\n var getTlOffset = function (anim) { return anim.timelineOffset ? anim.timelineOffset : 0; };\n var timings = {};\n timings.duration = animLength ? Math.max.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.duration; })) : tweenSettings.duration;\n timings.delay = animLength ? Math.min.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.delay; })) : tweenSettings.delay;\n timings.endDelay = animLength ? timings.duration - Math.max.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.duration - anim.endDelay; })) : tweenSettings.endDelay;\n return timings;\n}\n\nvar instanceID = 0;\n\nfunction createNewInstance(params) {\n var instanceSettings = replaceObjectProps(defaultInstanceSettings, params);\n var tweenSettings = replaceObjectProps(defaultTweenSettings, params);\n var properties = getProperties(tweenSettings, params);\n var animatables = getAnimatables(params.targets);\n var animations = getAnimations(animatables, properties);\n var timings = getInstanceTimings(animations, tweenSettings);\n var id = instanceID;\n instanceID++;\n return mergeObjects(instanceSettings, {\n id: id,\n children: [],\n animatables: animatables,\n animations: animations,\n duration: timings.duration,\n delay: timings.delay,\n endDelay: timings.endDelay\n });\n}\n\n// Core\n\nvar activeInstances = [];\n\nvar engine = (function () {\n var raf;\n\n function play() {\n if (!raf && (!isDocumentHidden() || !anime.suspendWhenDocumentHidden) && activeInstances.length > 0) {\n raf = requestAnimationFrame(step);\n }\n }\n function step(t) {\n // memo on algorithm issue:\n // dangerous iteration over mutable `activeInstances`\n // (that collection may be updated from within callbacks of `tick`-ed animation instances)\n var activeInstancesLength = activeInstances.length;\n var i = 0;\n while (i < activeInstancesLength) {\n var activeInstance = activeInstances[i];\n if (!activeInstance.paused) {\n activeInstance.tick(t);\n i++;\n } else {\n activeInstances.splice(i, 1);\n activeInstancesLength--;\n }\n }\n raf = i > 0 ? requestAnimationFrame(step) : undefined;\n }\n\n function handleVisibilityChange() {\n if (!anime.suspendWhenDocumentHidden) { return; }\n\n if (isDocumentHidden()) {\n // suspend ticks\n raf = cancelAnimationFrame(raf);\n } else { // is back to active tab\n // first adjust animations to consider the time that ticks were suspended\n activeInstances.forEach(\n function (instance) { return instance ._onDocumentVisibility(); }\n );\n engine();\n }\n }\n if (typeof document !== 'undefined') {\n document.addEventListener('visibilitychange', handleVisibilityChange);\n }\n\n return play;\n})();\n\nfunction isDocumentHidden() {\n return !!document && document.hidden;\n}\n\n// Public Instance\n\nfunction anime(params) {\n if ( params === void 0 ) params = {};\n\n\n var startTime = 0, lastTime = 0, now = 0;\n var children, childrenLength = 0;\n var resolve = null;\n\n function makePromise(instance) {\n var promise = window.Promise && new Promise(function (_resolve) { return resolve = _resolve; });\n instance.finished = promise;\n return promise;\n }\n\n var instance = createNewInstance(params);\n var promise = makePromise(instance);\n\n function toggleInstanceDirection() {\n var direction = instance.direction;\n if (direction !== 'alternate') {\n instance.direction = direction !== 'normal' ? 'normal' : 'reverse';\n }\n instance.reversed = !instance.reversed;\n children.forEach(function (child) { return child.reversed = instance.reversed; });\n }\n\n function adjustTime(time) {\n return instance.reversed ? instance.duration - time : time;\n }\n\n function resetTime() {\n startTime = 0;\n lastTime = adjustTime(instance.currentTime) * (1 / anime.speed);\n }\n\n function seekChild(time, child) {\n if (child) { child.seek(time - child.timelineOffset); }\n }\n\n function syncInstanceChildren(time) {\n if (!instance.reversePlayback) {\n for (var i = 0; i < childrenLength; i++) { seekChild(time, children[i]); }\n } else {\n for (var i$1 = childrenLength; i$1--;) { seekChild(time, children[i$1]); }\n }\n }\n\n function setAnimationsProgress(insTime) {\n var i = 0;\n var animations = instance.animations;\n var animationsLength = animations.length;\n while (i < animationsLength) {\n var anim = animations[i];\n var animatable = anim.animatable;\n var tweens = anim.tweens;\n var tweenLength = tweens.length - 1;\n var tween = tweens[tweenLength];\n // Only check for keyframes if there is more than one tween\n if (tweenLength) { tween = filterArray(tweens, function (t) { return (insTime < t.end); })[0] || tween; }\n var elapsed = minMax(insTime - tween.start - tween.delay, 0, tween.duration) / tween.duration;\n var eased = isNaN(elapsed) ? 1 : tween.easing(elapsed);\n var strings = tween.to.strings;\n var round = tween.round;\n var numbers = [];\n var toNumbersLength = tween.to.numbers.length;\n var progress = (void 0);\n for (var n = 0; n < toNumbersLength; n++) {\n var value = (void 0);\n var toNumber = tween.to.numbers[n];\n var fromNumber = tween.from.numbers[n] || 0;\n if (!tween.isPath) {\n value = fromNumber + (eased * (toNumber - fromNumber));\n } else {\n value = getPathProgress(tween.value, eased * toNumber, tween.isPathTargetInsideSVG);\n }\n if (round) {\n if (!(tween.isColor && n > 2)) {\n value = Math.round(value * round) / round;\n }\n }\n numbers.push(value);\n }\n // Manual Array.reduce for better performances\n var stringsLength = strings.length;\n if (!stringsLength) {\n progress = numbers[0];\n } else {\n progress = strings[0];\n for (var s = 0; s < stringsLength; s++) {\n var a = strings[s];\n var b = strings[s + 1];\n var n$1 = numbers[s];\n if (!isNaN(n$1)) {\n if (!b) {\n progress += n$1 + ' ';\n } else {\n progress += n$1 + b;\n }\n }\n }\n }\n setProgressValue[anim.type](animatable.target, anim.property, progress, animatable.transforms);\n anim.currentValue = progress;\n i++;\n }\n }\n\n function setCallback(cb) {\n if (instance[cb] && !instance.passThrough) { instance[cb](instance); }\n }\n\n function countIteration() {\n if (instance.remaining && instance.remaining !== true) {\n instance.remaining--;\n }\n }\n\n function setInstanceProgress(engineTime) {\n var insDuration = instance.duration;\n var insDelay = instance.delay;\n var insEndDelay = insDuration - instance.endDelay;\n var insTime = adjustTime(engineTime);\n instance.progress = minMax((insTime / insDuration) * 100, 0, 100);\n instance.reversePlayback = insTime < instance.currentTime;\n if (children) { syncInstanceChildren(insTime); }\n if (!instance.began && instance.currentTime > 0) {\n instance.began = true;\n setCallback('begin');\n }\n if (!instance.loopBegan && instance.currentTime > 0) {\n instance.loopBegan = true;\n setCallback('loopBegin');\n }\n if (insTime <= insDelay && instance.currentTime !== 0) {\n setAnimationsProgress(0);\n }\n if ((insTime >= insEndDelay && instance.currentTime !== insDuration) || !insDuration) {\n setAnimationsProgress(insDuration);\n }\n if (insTime > insDelay && insTime < insEndDelay) {\n if (!instance.changeBegan) {\n instance.changeBegan = true;\n instance.changeCompleted = false;\n setCallback('changeBegin');\n }\n setCallback('change');\n setAnimationsProgress(insTime);\n } else {\n if (instance.changeBegan) {\n instance.changeCompleted = true;\n instance.changeBegan = false;\n setCallback('changeComplete');\n }\n }\n instance.currentTime = minMax(insTime, 0, insDuration);\n if (instance.began) { setCallback('update'); }\n if (engineTime >= insDuration) {\n lastTime = 0;\n countIteration();\n if (!instance.remaining) {\n instance.paused = true;\n if (!instance.completed) {\n instance.completed = true;\n setCallback('loopComplete');\n setCallback('complete');\n if (!instance.passThrough && 'Promise' in window) {\n resolve();\n promise = makePromise(instance);\n }\n }\n } else {\n startTime = now;\n setCallback('loopComplete');\n instance.loopBegan = false;\n if (instance.direction === 'alternate') {\n toggleInstanceDirection();\n }\n }\n }\n }\n\n instance.reset = function() {\n var direction = instance.direction;\n instance.passThrough = false;\n instance.currentTime = 0;\n instance.progress = 0;\n instance.paused = true;\n instance.began = false;\n instance.loopBegan = false;\n instance.changeBegan = false;\n instance.completed = false;\n instance.changeCompleted = false;\n instance.reversePlayback = false;\n instance.reversed = direction === 'reverse';\n instance.remaining = instance.loop;\n children = instance.children;\n childrenLength = children.length;\n for (var i = childrenLength; i--;) { instance.children[i].reset(); }\n if (instance.reversed && instance.loop !== true || (direction === 'alternate' && instance.loop === 1)) { instance.remaining++; }\n setAnimationsProgress(instance.reversed ? instance.duration : 0);\n };\n\n // internal method (for engine) to adjust animation timings before restoring engine ticks (rAF)\n instance._onDocumentVisibility = resetTime;\n\n // Set Value helper\n\n instance.set = function(targets, properties) {\n setTargetsValue(targets, properties);\n return instance;\n };\n\n instance.tick = function(t) {\n now = t;\n if (!startTime) { startTime = now; }\n setInstanceProgress((now + (lastTime - startTime)) * anime.speed);\n };\n\n instance.seek = function(time) {\n setInstanceProgress(adjustTime(time));\n };\n\n instance.pause = function() {\n instance.paused = true;\n resetTime();\n };\n\n instance.play = function() {\n if (!instance.paused) { return; }\n if (instance.completed) { instance.reset(); }\n instance.paused = false;\n activeInstances.push(instance);\n resetTime();\n engine();\n };\n\n instance.reverse = function() {\n toggleInstanceDirection();\n instance.completed = instance.reversed ? false : true;\n resetTime();\n };\n\n instance.restart = function() {\n instance.reset();\n instance.play();\n };\n\n instance.remove = function(targets) {\n var targetsArray = parseTargets(targets);\n removeTargetsFromInstance(targetsArray, instance);\n };\n\n instance.reset();\n\n if (instance.autoplay) { instance.play(); }\n\n return instance;\n\n}\n\n// Remove targets from animation\n\nfunction removeTargetsFromAnimations(targetsArray, animations) {\n for (var a = animations.length; a--;) {\n if (arrayContains(targetsArray, animations[a].animatable.target)) {\n animations.splice(a, 1);\n }\n }\n}\n\nfunction removeTargetsFromInstance(targetsArray, instance) {\n var animations = instance.animations;\n var children = instance.children;\n removeTargetsFromAnimations(targetsArray, animations);\n for (var c = children.length; c--;) {\n var child = children[c];\n var childAnimations = child.animations;\n removeTargetsFromAnimations(targetsArray, childAnimations);\n if (!childAnimations.length && !child.children.length) { children.splice(c, 1); }\n }\n if (!animations.length && !children.length) { instance.pause(); }\n}\n\nfunction removeTargetsFromActiveInstances(targets) {\n var targetsArray = parseTargets(targets);\n for (var i = activeInstances.length; i--;) {\n var instance = activeInstances[i];\n removeTargetsFromInstance(targetsArray, instance);\n }\n}\n\n// Stagger helpers\n\nfunction stagger(val, params) {\n if ( params === void 0 ) params = {};\n\n var direction = params.direction || 'normal';\n var easing = params.easing ? parseEasings(params.easing) : null;\n var grid = params.grid;\n var axis = params.axis;\n var fromIndex = params.from || 0;\n var fromFirst = fromIndex === 'first';\n var fromCenter = fromIndex === 'center';\n var fromLast = fromIndex === 'last';\n var isRange = is.arr(val);\n var val1 = isRange ? parseFloat(val[0]) : parseFloat(val);\n var val2 = isRange ? parseFloat(val[1]) : 0;\n var unit = getUnit(isRange ? val[1] : val) || 0;\n var start = params.start || 0 + (isRange ? val1 : 0);\n var values = [];\n var maxValue = 0;\n return function (el, i, t) {\n if (fromFirst) { fromIndex = 0; }\n if (fromCenter) { fromIndex = (t - 1) / 2; }\n if (fromLast) { fromIndex = t - 1; }\n if (!values.length) {\n for (var index = 0; index < t; index++) {\n if (!grid) {\n values.push(Math.abs(fromIndex - index));\n } else {\n var fromX = !fromCenter ? fromIndex%grid[0] : (grid[0]-1)/2;\n var fromY = !fromCenter ? Math.floor(fromIndex/grid[0]) : (grid[1]-1)/2;\n var toX = index%grid[0];\n var toY = Math.floor(index/grid[0]);\n var distanceX = fromX - toX;\n var distanceY = fromY - toY;\n var value = Math.sqrt(distanceX * distanceX + distanceY * distanceY);\n if (axis === 'x') { value = -distanceX; }\n if (axis === 'y') { value = -distanceY; }\n values.push(value);\n }\n maxValue = Math.max.apply(Math, values);\n }\n if (easing) { values = values.map(function (val) { return easing(val / maxValue) * maxValue; }); }\n if (direction === 'reverse') { values = values.map(function (val) { return axis ? (val < 0) ? val * -1 : -val : Math.abs(maxValue - val); }); }\n }\n var spacing = isRange ? (val2 - val1) / maxValue : val1;\n return start + (spacing * (Math.round(values[i] * 100) / 100)) + unit;\n }\n}\n\n// Timeline\n\nfunction timeline(params) {\n if ( params === void 0 ) params = {};\n\n var tl = anime(params);\n tl.duration = 0;\n tl.add = function(instanceParams, timelineOffset) {\n var tlIndex = activeInstances.indexOf(tl);\n var children = tl.children;\n if (tlIndex > -1) { activeInstances.splice(tlIndex, 1); }\n function passThrough(ins) { ins.passThrough = true; }\n for (var i = 0; i < children.length; i++) { passThrough(children[i]); }\n var insParams = mergeObjects(instanceParams, replaceObjectProps(defaultTweenSettings, params));\n insParams.targets = insParams.targets || params.targets;\n var tlDuration = tl.duration;\n insParams.autoplay = false;\n insParams.direction = tl.direction;\n insParams.timelineOffset = is.und(timelineOffset) ? tlDuration : getRelativeValue(timelineOffset, tlDuration);\n passThrough(tl);\n tl.seek(insParams.timelineOffset);\n var ins = anime(insParams);\n passThrough(ins);\n children.push(ins);\n var timings = getInstanceTimings(children, params);\n tl.delay = timings.delay;\n tl.endDelay = timings.endDelay;\n tl.duration = timings.duration;\n tl.seek(0);\n tl.reset();\n if (tl.autoplay) { tl.play(); }\n return tl;\n };\n return tl;\n}\n\nanime.version = '3.2.1';\nanime.speed = 1;\n// TODO:#review: naming, documentation\nanime.suspendWhenDocumentHidden = true;\nanime.running = activeInstances;\nanime.remove = removeTargetsFromActiveInstances;\nanime.get = getOriginalTargetValue;\nanime.set = setTargetsValue;\nanime.convertPx = convertPxToUnit;\nanime.path = getPath;\nanime.setDashoffset = setDashoffset;\nanime.stagger = stagger;\nanime.timeline = timeline;\nanime.easing = parseEasings;\nanime.penner = penner;\nanime.random = function (min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; };\n\nexport default anime;\n","/**\n * Dom7 3.0.0\n * Minimalistic JavaScript library for DOM manipulation, with a jQuery-compatible API\n * https://framework7.io/docs/dom7.html\n *\n * Copyright 2020, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: November 9, 2020\n */\nimport { getWindow, getDocument } from 'ssr-window';\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _construct(Parent, args, Class) {\n if (_isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}\n\nfunction _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !_isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return _construct(Class, arguments, _getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return _setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\n/* eslint-disable no-proto */\nfunction makeReactive(obj) {\n var proto = obj.__proto__;\n Object.defineProperty(obj, '__proto__', {\n get: function get() {\n return proto;\n },\n set: function set(value) {\n proto.__proto__ = value;\n }\n });\n}\n\nvar Dom7 = /*#__PURE__*/function (_Array) {\n _inheritsLoose(Dom7, _Array);\n\n function Dom7(items) {\n var _this;\n\n _this = _Array.call.apply(_Array, [this].concat(items)) || this;\n makeReactive(_assertThisInitialized(_this));\n return _this;\n }\n\n return Dom7;\n}( /*#__PURE__*/_wrapNativeSuper(Array));\n\nfunction arrayFlat(arr) {\n if (arr === void 0) {\n arr = [];\n }\n\n var res = [];\n arr.forEach(function (el) {\n if (Array.isArray(el)) {\n res.push.apply(res, arrayFlat(el));\n } else {\n res.push(el);\n }\n });\n return res;\n}\nfunction arrayFilter(arr, callback) {\n return Array.prototype.filter.call(arr, callback);\n}\nfunction arrayUnique(arr) {\n var uniqueArray = [];\n\n for (var i = 0; i < arr.length; i += 1) {\n if (uniqueArray.indexOf(arr[i]) === -1) uniqueArray.push(arr[i]);\n }\n\n return uniqueArray;\n}\nfunction toCamelCase(string) {\n return string.toLowerCase().replace(/-(.)/g, function (match, group) {\n return group.toUpperCase();\n });\n}\n\nfunction qsa(selector, context) {\n if (typeof selector !== 'string') {\n return [selector];\n }\n\n var a = [];\n var res = context.querySelectorAll(selector);\n\n for (var i = 0; i < res.length; i += 1) {\n a.push(res[i]);\n }\n\n return a;\n}\n\nfunction $(selector, context) {\n var window = getWindow();\n var document = getDocument();\n var arr = [];\n\n if (!context && selector instanceof Dom7) {\n return selector;\n }\n\n if (!selector) {\n return new Dom7(arr);\n }\n\n if (typeof selector === 'string') {\n var html = selector.trim();\n\n if (html.indexOf('<') >= 0 && html.indexOf('>') >= 0) {\n var toCreate = 'div';\n if (html.indexOf(' 0;\n }).length > 0;\n}\n\nfunction attr(attrs, value) {\n if (arguments.length === 1 && typeof attrs === 'string') {\n // Get attr\n if (this[0]) return this[0].getAttribute(attrs);\n return undefined;\n } // Set attrs\n\n\n for (var i = 0; i < this.length; i += 1) {\n if (arguments.length === 2) {\n // String\n this[i].setAttribute(attrs, value);\n } else {\n // Object\n for (var attrName in attrs) {\n this[i][attrName] = attrs[attrName];\n this[i].setAttribute(attrName, attrs[attrName]);\n }\n }\n }\n\n return this;\n}\n\nfunction removeAttr(attr) {\n for (var i = 0; i < this.length; i += 1) {\n this[i].removeAttribute(attr);\n }\n\n return this;\n}\n\nfunction prop(props, value) {\n if (arguments.length === 1 && typeof props === 'string') {\n // Get prop\n if (this[0]) return this[0][props];\n } else {\n // Set props\n for (var i = 0; i < this.length; i += 1) {\n if (arguments.length === 2) {\n // String\n this[i][props] = value;\n } else {\n // Object\n for (var propName in props) {\n this[i][propName] = props[propName];\n }\n }\n }\n\n return this;\n }\n\n return this;\n}\n\nfunction data(key, value) {\n var el;\n\n if (typeof value === 'undefined') {\n el = this[0];\n if (!el) return undefined; // Get value\n\n if (el.dom7ElementDataStorage && key in el.dom7ElementDataStorage) {\n return el.dom7ElementDataStorage[key];\n }\n\n var dataKey = el.getAttribute(\"data-\" + key);\n\n if (dataKey) {\n return dataKey;\n }\n\n return undefined;\n } // Set value\n\n\n for (var i = 0; i < this.length; i += 1) {\n el = this[i];\n if (!el.dom7ElementDataStorage) el.dom7ElementDataStorage = {};\n el.dom7ElementDataStorage[key] = value;\n }\n\n return this;\n}\n\nfunction removeData(key) {\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n\n if (el.dom7ElementDataStorage && el.dom7ElementDataStorage[key]) {\n el.dom7ElementDataStorage[key] = null;\n delete el.dom7ElementDataStorage[key];\n }\n }\n}\n\nfunction dataset() {\n var el = this[0];\n if (!el) return undefined;\n var dataset = {}; // eslint-disable-line\n\n if (el.dataset) {\n for (var dataKey in el.dataset) {\n dataset[dataKey] = el.dataset[dataKey];\n }\n } else {\n for (var i = 0; i < el.attributes.length; i += 1) {\n var _attr = el.attributes[i];\n\n if (_attr.name.indexOf('data-') >= 0) {\n dataset[toCamelCase(_attr.name.split('data-')[1])] = _attr.value;\n }\n }\n }\n\n for (var key in dataset) {\n if (dataset[key] === 'false') dataset[key] = false;else if (dataset[key] === 'true') dataset[key] = true;else if (parseFloat(dataset[key]) === dataset[key] * 1) dataset[key] *= 1;\n }\n\n return dataset;\n}\n\nfunction val(value) {\n if (typeof value === 'undefined') {\n // get value\n var el = this[0];\n if (!el) return undefined;\n\n if (el.multiple && el.nodeName.toLowerCase() === 'select') {\n var values = [];\n\n for (var i = 0; i < el.selectedOptions.length; i += 1) {\n values.push(el.selectedOptions[i].value);\n }\n\n return values;\n }\n\n return el.value;\n } // set value\n\n\n for (var _i = 0; _i < this.length; _i += 1) {\n var _el = this[_i];\n\n if (Array.isArray(value) && _el.multiple && _el.nodeName.toLowerCase() === 'select') {\n for (var j = 0; j < _el.options.length; j += 1) {\n _el.options[j].selected = value.indexOf(_el.options[j].value) >= 0;\n }\n } else {\n _el.value = value;\n }\n }\n\n return this;\n}\n\nfunction value(value) {\n return this.val(value);\n}\n\nfunction transform(transform) {\n for (var i = 0; i < this.length; i += 1) {\n this[i].style.transform = transform;\n }\n\n return this;\n}\n\nfunction transition(duration) {\n for (var i = 0; i < this.length; i += 1) {\n this[i].style.transitionDuration = typeof duration !== 'string' ? duration + \"ms\" : duration;\n }\n\n return this;\n}\n\nfunction on() {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n var eventType = args[0],\n targetSelector = args[1],\n listener = args[2],\n capture = args[3];\n\n if (typeof args[1] === 'function') {\n eventType = args[0];\n listener = args[1];\n capture = args[2];\n targetSelector = undefined;\n }\n\n if (!capture) capture = false;\n\n function handleLiveEvent(e) {\n var target = e.target;\n if (!target) return;\n var eventData = e.target.dom7EventData || [];\n\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n\n if ($(target).is(targetSelector)) listener.apply(target, eventData);else {\n var _parents = $(target).parents(); // eslint-disable-line\n\n\n for (var k = 0; k < _parents.length; k += 1) {\n if ($(_parents[k]).is(targetSelector)) listener.apply(_parents[k], eventData);\n }\n }\n }\n\n function handleEvent(e) {\n var eventData = e && e.target ? e.target.dom7EventData || [] : [];\n\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n\n listener.apply(this, eventData);\n }\n\n var events = eventType.split(' ');\n var j;\n\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n\n if (!targetSelector) {\n for (j = 0; j < events.length; j += 1) {\n var event = events[j];\n if (!el.dom7Listeners) el.dom7Listeners = {};\n if (!el.dom7Listeners[event]) el.dom7Listeners[event] = [];\n el.dom7Listeners[event].push({\n listener: listener,\n proxyListener: handleEvent\n });\n el.addEventListener(event, handleEvent, capture);\n }\n } else {\n // Live events\n for (j = 0; j < events.length; j += 1) {\n var _event = events[j];\n if (!el.dom7LiveListeners) el.dom7LiveListeners = {};\n if (!el.dom7LiveListeners[_event]) el.dom7LiveListeners[_event] = [];\n\n el.dom7LiveListeners[_event].push({\n listener: listener,\n proxyListener: handleLiveEvent\n });\n\n el.addEventListener(_event, handleLiveEvent, capture);\n }\n }\n }\n\n return this;\n}\n\nfunction off() {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n var eventType = args[0],\n targetSelector = args[1],\n listener = args[2],\n capture = args[3];\n\n if (typeof args[1] === 'function') {\n eventType = args[0];\n listener = args[1];\n capture = args[2];\n targetSelector = undefined;\n }\n\n if (!capture) capture = false;\n var events = eventType.split(' ');\n\n for (var i = 0; i < events.length; i += 1) {\n var event = events[i];\n\n for (var j = 0; j < this.length; j += 1) {\n var el = this[j];\n var handlers = void 0;\n\n if (!targetSelector && el.dom7Listeners) {\n handlers = el.dom7Listeners[event];\n } else if (targetSelector && el.dom7LiveListeners) {\n handlers = el.dom7LiveListeners[event];\n }\n\n if (handlers && handlers.length) {\n for (var k = handlers.length - 1; k >= 0; k -= 1) {\n var handler = handlers[k];\n\n if (listener && handler.listener === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (listener && handler.listener && handler.listener.dom7proxy && handler.listener.dom7proxy === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (!listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n }\n }\n }\n }\n }\n\n return this;\n}\n\nfunction once() {\n var dom = this;\n\n for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n args[_key7] = arguments[_key7];\n }\n\n var eventName = args[0],\n targetSelector = args[1],\n listener = args[2],\n capture = args[3];\n\n if (typeof args[1] === 'function') {\n eventName = args[0];\n listener = args[1];\n capture = args[2];\n targetSelector = undefined;\n }\n\n function onceHandler() {\n for (var _len8 = arguments.length, eventArgs = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {\n eventArgs[_key8] = arguments[_key8];\n }\n\n listener.apply(this, eventArgs);\n dom.off(eventName, targetSelector, onceHandler, capture);\n\n if (onceHandler.dom7proxy) {\n delete onceHandler.dom7proxy;\n }\n }\n\n onceHandler.dom7proxy = listener;\n return dom.on(eventName, targetSelector, onceHandler, capture);\n}\n\nfunction trigger() {\n var window = getWindow();\n\n for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {\n args[_key9] = arguments[_key9];\n }\n\n var events = args[0].split(' ');\n var eventData = args[1];\n\n for (var i = 0; i < events.length; i += 1) {\n var event = events[i];\n\n for (var j = 0; j < this.length; j += 1) {\n var el = this[j];\n\n if (window.CustomEvent) {\n var evt = new window.CustomEvent(event, {\n detail: eventData,\n bubbles: true,\n cancelable: true\n });\n el.dom7EventData = args.filter(function (data, dataIndex) {\n return dataIndex > 0;\n });\n el.dispatchEvent(evt);\n el.dom7EventData = [];\n delete el.dom7EventData;\n }\n }\n }\n\n return this;\n}\n\nfunction transitionEnd(callback) {\n var dom = this;\n\n function fireCallBack(e) {\n if (e.target !== this) return;\n callback.call(this, e);\n dom.off('transitionend', fireCallBack);\n }\n\n if (callback) {\n dom.on('transitionend', fireCallBack);\n }\n\n return this;\n}\n\nfunction animationEnd(callback) {\n var dom = this;\n\n function fireCallBack(e) {\n if (e.target !== this) return;\n callback.call(this, e);\n dom.off('animationend', fireCallBack);\n }\n\n if (callback) {\n dom.on('animationend', fireCallBack);\n }\n\n return this;\n}\n\nfunction width() {\n var window = getWindow();\n\n if (this[0] === window) {\n return window.innerWidth;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('width'));\n }\n\n return null;\n}\n\nfunction outerWidth(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n var _styles = this.styles();\n\n return this[0].offsetWidth + parseFloat(_styles.getPropertyValue('margin-right')) + parseFloat(_styles.getPropertyValue('margin-left'));\n }\n\n return this[0].offsetWidth;\n }\n\n return null;\n}\n\nfunction height() {\n var window = getWindow();\n\n if (this[0] === window) {\n return window.innerHeight;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('height'));\n }\n\n return null;\n}\n\nfunction outerHeight(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n var _styles2 = this.styles();\n\n return this[0].offsetHeight + parseFloat(_styles2.getPropertyValue('margin-top')) + parseFloat(_styles2.getPropertyValue('margin-bottom'));\n }\n\n return this[0].offsetHeight;\n }\n\n return null;\n}\n\nfunction offset() {\n if (this.length > 0) {\n var window = getWindow();\n var document = getDocument();\n var el = this[0];\n var box = el.getBoundingClientRect();\n var body = document.body;\n var clientTop = el.clientTop || body.clientTop || 0;\n var clientLeft = el.clientLeft || body.clientLeft || 0;\n var scrollTop = el === window ? window.scrollY : el.scrollTop;\n var scrollLeft = el === window ? window.scrollX : el.scrollLeft;\n return {\n top: box.top + scrollTop - clientTop,\n left: box.left + scrollLeft - clientLeft\n };\n }\n\n return null;\n}\n\nfunction hide() {\n for (var i = 0; i < this.length; i += 1) {\n this[i].style.display = 'none';\n }\n\n return this;\n}\n\nfunction show() {\n var window = getWindow();\n\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n\n if (el.style.display === 'none') {\n el.style.display = '';\n }\n\n if (window.getComputedStyle(el, null).getPropertyValue('display') === 'none') {\n // Still not visible\n el.style.display = 'block';\n }\n }\n\n return this;\n}\n\nfunction styles() {\n var window = getWindow();\n if (this[0]) return window.getComputedStyle(this[0], null);\n return {};\n}\n\nfunction css(props, value) {\n var window = getWindow();\n var i;\n\n if (arguments.length === 1) {\n if (typeof props === 'string') {\n // .css('width')\n if (this[0]) return window.getComputedStyle(this[0], null).getPropertyValue(props);\n } else {\n // .css({ width: '100px' })\n for (i = 0; i < this.length; i += 1) {\n for (var _prop in props) {\n this[i].style[_prop] = props[_prop];\n }\n }\n\n return this;\n }\n }\n\n if (arguments.length === 2 && typeof props === 'string') {\n // .css('width', '100px')\n for (i = 0; i < this.length; i += 1) {\n this[i].style[props] = value;\n }\n\n return this;\n }\n\n return this;\n}\n\nfunction each(callback) {\n if (!callback) return this;\n this.forEach(function (el, index) {\n callback.apply(el, [el, index]);\n });\n return this;\n}\n\nfunction filter(callback) {\n var result = arrayFilter(this, callback);\n return $(result);\n}\n\nfunction html(html) {\n if (typeof html === 'undefined') {\n return this[0] ? this[0].innerHTML : null;\n }\n\n for (var i = 0; i < this.length; i += 1) {\n this[i].innerHTML = html;\n }\n\n return this;\n}\n\nfunction text(text) {\n if (typeof text === 'undefined') {\n return this[0] ? this[0].textContent.trim() : null;\n }\n\n for (var i = 0; i < this.length; i += 1) {\n this[i].textContent = text;\n }\n\n return this;\n}\n\nfunction is(selector) {\n var window = getWindow();\n var document = getDocument();\n var el = this[0];\n var compareWith;\n var i;\n if (!el || typeof selector === 'undefined') return false;\n\n if (typeof selector === 'string') {\n if (el.matches) return el.matches(selector);\n if (el.webkitMatchesSelector) return el.webkitMatchesSelector(selector);\n if (el.msMatchesSelector) return el.msMatchesSelector(selector);\n compareWith = $(selector);\n\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) return true;\n }\n\n return false;\n }\n\n if (selector === document) {\n return el === document;\n }\n\n if (selector === window) {\n return el === window;\n }\n\n if (selector.nodeType || selector instanceof Dom7) {\n compareWith = selector.nodeType ? [selector] : selector;\n\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) return true;\n }\n\n return false;\n }\n\n return false;\n}\n\nfunction index() {\n var child = this[0];\n var i;\n\n if (child) {\n i = 0; // eslint-disable-next-line\n\n while ((child = child.previousSibling) !== null) {\n if (child.nodeType === 1) i += 1;\n }\n\n return i;\n }\n\n return undefined;\n}\n\nfunction eq(index) {\n if (typeof index === 'undefined') return this;\n var length = this.length;\n\n if (index > length - 1) {\n return $([]);\n }\n\n if (index < 0) {\n var returnIndex = length + index;\n if (returnIndex < 0) return $([]);\n return $([this[returnIndex]]);\n }\n\n return $([this[index]]);\n}\n\nfunction append() {\n var newChild;\n var document = getDocument();\n\n for (var k = 0; k < arguments.length; k += 1) {\n newChild = k < 0 || arguments.length <= k ? undefined : arguments[k];\n\n for (var i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n var tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n\n while (tempDiv.firstChild) {\n this[i].appendChild(tempDiv.firstChild);\n }\n } else if (newChild instanceof Dom7) {\n for (var j = 0; j < newChild.length; j += 1) {\n this[i].appendChild(newChild[j]);\n }\n } else {\n this[i].appendChild(newChild);\n }\n }\n }\n\n return this;\n}\n\nfunction appendTo(parent) {\n $(parent).append(this);\n return this;\n}\n\nfunction prepend(newChild) {\n var document = getDocument();\n var i;\n var j;\n\n for (i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n var tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n\n for (j = tempDiv.childNodes.length - 1; j >= 0; j -= 1) {\n this[i].insertBefore(tempDiv.childNodes[j], this[i].childNodes[0]);\n }\n } else if (newChild instanceof Dom7) {\n for (j = 0; j < newChild.length; j += 1) {\n this[i].insertBefore(newChild[j], this[i].childNodes[0]);\n }\n } else {\n this[i].insertBefore(newChild, this[i].childNodes[0]);\n }\n }\n\n return this;\n}\n\nfunction prependTo(parent) {\n $(parent).prepend(this);\n return this;\n}\n\nfunction insertBefore(selector) {\n var before = $(selector);\n\n for (var i = 0; i < this.length; i += 1) {\n if (before.length === 1) {\n before[0].parentNode.insertBefore(this[i], before[0]);\n } else if (before.length > 1) {\n for (var j = 0; j < before.length; j += 1) {\n before[j].parentNode.insertBefore(this[i].cloneNode(true), before[j]);\n }\n }\n }\n}\n\nfunction insertAfter(selector) {\n var after = $(selector);\n\n for (var i = 0; i < this.length; i += 1) {\n if (after.length === 1) {\n after[0].parentNode.insertBefore(this[i], after[0].nextSibling);\n } else if (after.length > 1) {\n for (var j = 0; j < after.length; j += 1) {\n after[j].parentNode.insertBefore(this[i].cloneNode(true), after[j].nextSibling);\n }\n }\n }\n}\n\nfunction next(selector) {\n if (this.length > 0) {\n if (selector) {\n if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) {\n return $([this[0].nextElementSibling]);\n }\n\n return $([]);\n }\n\n if (this[0].nextElementSibling) return $([this[0].nextElementSibling]);\n return $([]);\n }\n\n return $([]);\n}\n\nfunction nextAll(selector) {\n var nextEls = [];\n var el = this[0];\n if (!el) return $([]);\n\n while (el.nextElementSibling) {\n var _next = el.nextElementSibling; // eslint-disable-line\n\n if (selector) {\n if ($(_next).is(selector)) nextEls.push(_next);\n } else nextEls.push(_next);\n\n el = _next;\n }\n\n return $(nextEls);\n}\n\nfunction prev(selector) {\n if (this.length > 0) {\n var el = this[0];\n\n if (selector) {\n if (el.previousElementSibling && $(el.previousElementSibling).is(selector)) {\n return $([el.previousElementSibling]);\n }\n\n return $([]);\n }\n\n if (el.previousElementSibling) return $([el.previousElementSibling]);\n return $([]);\n }\n\n return $([]);\n}\n\nfunction prevAll(selector) {\n var prevEls = [];\n var el = this[0];\n if (!el) return $([]);\n\n while (el.previousElementSibling) {\n var _prev = el.previousElementSibling; // eslint-disable-line\n\n if (selector) {\n if ($(_prev).is(selector)) prevEls.push(_prev);\n } else prevEls.push(_prev);\n\n el = _prev;\n }\n\n return $(prevEls);\n}\n\nfunction siblings(selector) {\n return this.nextAll(selector).add(this.prevAll(selector));\n}\n\nfunction parent(selector) {\n var parents = []; // eslint-disable-line\n\n for (var i = 0; i < this.length; i += 1) {\n if (this[i].parentNode !== null) {\n if (selector) {\n if ($(this[i].parentNode).is(selector)) parents.push(this[i].parentNode);\n } else {\n parents.push(this[i].parentNode);\n }\n }\n }\n\n return $(parents);\n}\n\nfunction parents(selector) {\n var parents = []; // eslint-disable-line\n\n for (var i = 0; i < this.length; i += 1) {\n var _parent = this[i].parentNode; // eslint-disable-line\n\n while (_parent) {\n if (selector) {\n if ($(_parent).is(selector)) parents.push(_parent);\n } else {\n parents.push(_parent);\n }\n\n _parent = _parent.parentNode;\n }\n }\n\n return $(parents);\n}\n\nfunction closest(selector) {\n var closest = this; // eslint-disable-line\n\n if (typeof selector === 'undefined') {\n return $([]);\n }\n\n if (!closest.is(selector)) {\n closest = closest.parents(selector).eq(0);\n }\n\n return closest;\n}\n\nfunction find(selector) {\n var foundElements = [];\n\n for (var i = 0; i < this.length; i += 1) {\n var found = this[i].querySelectorAll(selector);\n\n for (var j = 0; j < found.length; j += 1) {\n foundElements.push(found[j]);\n }\n }\n\n return $(foundElements);\n}\n\nfunction children(selector) {\n var children = []; // eslint-disable-line\n\n for (var i = 0; i < this.length; i += 1) {\n var childNodes = this[i].children;\n\n for (var j = 0; j < childNodes.length; j += 1) {\n if (!selector || $(childNodes[j]).is(selector)) {\n children.push(childNodes[j]);\n }\n }\n }\n\n return $(children);\n}\n\nfunction remove() {\n for (var i = 0; i < this.length; i += 1) {\n if (this[i].parentNode) this[i].parentNode.removeChild(this[i]);\n }\n\n return this;\n}\n\nfunction detach() {\n return this.remove();\n}\n\nfunction add() {\n var dom = this;\n var i;\n var j;\n\n for (var _len10 = arguments.length, els = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {\n els[_key10] = arguments[_key10];\n }\n\n for (i = 0; i < els.length; i += 1) {\n var toAdd = $(els[i]);\n\n for (j = 0; j < toAdd.length; j += 1) {\n dom.push(toAdd[j]);\n }\n }\n\n return dom;\n}\n\nfunction empty() {\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n\n if (el.nodeType === 1) {\n for (var j = 0; j < el.childNodes.length; j += 1) {\n if (el.childNodes[j].parentNode) {\n el.childNodes[j].parentNode.removeChild(el.childNodes[j]);\n }\n }\n\n el.textContent = '';\n }\n }\n\n return this;\n}\n\nfunction scrollTo() {\n var window = getWindow();\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var left = args[0],\n top = args[1],\n duration = args[2],\n easing = args[3],\n callback = args[4];\n\n if (args.length === 4 && typeof easing === 'function') {\n callback = easing;\n left = args[0];\n top = args[1];\n duration = args[2];\n callback = args[3];\n easing = args[4];\n }\n\n if (typeof easing === 'undefined') easing = 'swing';\n return this.each(function animate() {\n var el = this;\n var currentTop;\n var currentLeft;\n var maxTop;\n var maxLeft;\n var newTop;\n var newLeft;\n var scrollTop; // eslint-disable-line\n\n var scrollLeft; // eslint-disable-line\n\n var animateTop = top > 0 || top === 0;\n var animateLeft = left > 0 || left === 0;\n\n if (typeof easing === 'undefined') {\n easing = 'swing';\n }\n\n if (animateTop) {\n currentTop = el.scrollTop;\n\n if (!duration) {\n el.scrollTop = top;\n }\n }\n\n if (animateLeft) {\n currentLeft = el.scrollLeft;\n\n if (!duration) {\n el.scrollLeft = left;\n }\n }\n\n if (!duration) return;\n\n if (animateTop) {\n maxTop = el.scrollHeight - el.offsetHeight;\n newTop = Math.max(Math.min(top, maxTop), 0);\n }\n\n if (animateLeft) {\n maxLeft = el.scrollWidth - el.offsetWidth;\n newLeft = Math.max(Math.min(left, maxLeft), 0);\n }\n\n var startTime = null;\n if (animateTop && newTop === currentTop) animateTop = false;\n if (animateLeft && newLeft === currentLeft) animateLeft = false;\n\n function render(time) {\n if (time === void 0) {\n time = new Date().getTime();\n }\n\n if (startTime === null) {\n startTime = time;\n }\n\n var progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n var easeProgress = easing === 'linear' ? progress : 0.5 - Math.cos(progress * Math.PI) / 2;\n var done;\n if (animateTop) scrollTop = currentTop + easeProgress * (newTop - currentTop);\n if (animateLeft) scrollLeft = currentLeft + easeProgress * (newLeft - currentLeft);\n\n if (animateTop && newTop > currentTop && scrollTop >= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n\n if (animateTop && newTop < currentTop && scrollTop <= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n\n if (animateLeft && newLeft > currentLeft && scrollLeft >= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n\n if (animateLeft && newLeft < currentLeft && scrollLeft <= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n\n if (done) {\n if (callback) callback();\n return;\n }\n\n if (animateTop) el.scrollTop = scrollTop;\n if (animateLeft) el.scrollLeft = scrollLeft;\n window.requestAnimationFrame(render);\n }\n\n window.requestAnimationFrame(render);\n });\n} // scrollTop(top, duration, easing, callback) {\n\n\nfunction scrollTop() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var top = args[0],\n duration = args[1],\n easing = args[2],\n callback = args[3];\n\n if (args.length === 3 && typeof easing === 'function') {\n top = args[0];\n duration = args[1];\n callback = args[2];\n easing = args[3];\n }\n\n var dom = this;\n\n if (typeof top === 'undefined') {\n if (dom.length > 0) return dom[0].scrollTop;\n return null;\n }\n\n return dom.scrollTo(undefined, top, duration, easing, callback);\n}\n\nfunction scrollLeft() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n var left = args[0],\n duration = args[1],\n easing = args[2],\n callback = args[3];\n\n if (args.length === 3 && typeof easing === 'function') {\n left = args[0];\n duration = args[1];\n callback = args[2];\n easing = args[3];\n }\n\n var dom = this;\n\n if (typeof left === 'undefined') {\n if (dom.length > 0) return dom[0].scrollLeft;\n return null;\n }\n\n return dom.scrollTo(left, undefined, duration, easing, callback);\n}\n\nfunction animate(initialProps, initialParams) {\n var window = getWindow();\n var els = this;\n var a = {\n props: Object.assign({}, initialProps),\n params: Object.assign({\n duration: 300,\n easing: 'swing' // or 'linear'\n\n /* Callbacks\n begin(elements)\n complete(elements)\n progress(elements, complete, remaining, start, tweenValue)\n */\n\n }, initialParams),\n elements: els,\n animating: false,\n que: [],\n easingProgress: function easingProgress(easing, progress) {\n if (easing === 'swing') {\n return 0.5 - Math.cos(progress * Math.PI) / 2;\n }\n\n if (typeof easing === 'function') {\n return easing(progress);\n }\n\n return progress;\n },\n stop: function stop() {\n if (a.frameId) {\n window.cancelAnimationFrame(a.frameId);\n }\n\n a.animating = false;\n a.elements.each(function (el) {\n var element = el;\n delete element.dom7AnimateInstance;\n });\n a.que = [];\n },\n done: function done(complete) {\n a.animating = false;\n a.elements.each(function (el) {\n var element = el;\n delete element.dom7AnimateInstance;\n });\n if (complete) complete(els);\n\n if (a.que.length > 0) {\n var que = a.que.shift();\n a.animate(que[0], que[1]);\n }\n },\n animate: function animate(props, params) {\n if (a.animating) {\n a.que.push([props, params]);\n return a;\n }\n\n var elements = []; // Define & Cache Initials & Units\n\n a.elements.each(function (el, index) {\n var initialFullValue;\n var initialValue;\n var unit;\n var finalValue;\n var finalFullValue;\n if (!el.dom7AnimateInstance) a.elements[index].dom7AnimateInstance = a;\n elements[index] = {\n container: el\n };\n Object.keys(props).forEach(function (prop) {\n initialFullValue = window.getComputedStyle(el, null).getPropertyValue(prop).replace(',', '.');\n initialValue = parseFloat(initialFullValue);\n unit = initialFullValue.replace(initialValue, '');\n finalValue = parseFloat(props[prop]);\n finalFullValue = props[prop] + unit;\n elements[index][prop] = {\n initialFullValue: initialFullValue,\n initialValue: initialValue,\n unit: unit,\n finalValue: finalValue,\n finalFullValue: finalFullValue,\n currentValue: initialValue\n };\n });\n });\n var startTime = null;\n var time;\n var elementsDone = 0;\n var propsDone = 0;\n var done;\n var began = false;\n a.animating = true;\n\n function render() {\n time = new Date().getTime();\n var progress;\n var easeProgress; // let el;\n\n if (!began) {\n began = true;\n if (params.begin) params.begin(els);\n }\n\n if (startTime === null) {\n startTime = time;\n }\n\n if (params.progress) {\n // eslint-disable-next-line\n params.progress(els, Math.max(Math.min((time - startTime) / params.duration, 1), 0), startTime + params.duration - time < 0 ? 0 : startTime + params.duration - time, startTime);\n }\n\n elements.forEach(function (element) {\n var el = element;\n if (done || el.done) return;\n Object.keys(props).forEach(function (prop) {\n if (done || el.done) return;\n progress = Math.max(Math.min((time - startTime) / params.duration, 1), 0);\n easeProgress = a.easingProgress(params.easing, progress);\n var _el$prop = el[prop],\n initialValue = _el$prop.initialValue,\n finalValue = _el$prop.finalValue,\n unit = _el$prop.unit;\n el[prop].currentValue = initialValue + easeProgress * (finalValue - initialValue);\n var currentValue = el[prop].currentValue;\n\n if (finalValue > initialValue && currentValue >= finalValue || finalValue < initialValue && currentValue <= finalValue) {\n el.container.style[prop] = finalValue + unit;\n propsDone += 1;\n\n if (propsDone === Object.keys(props).length) {\n el.done = true;\n elementsDone += 1;\n }\n\n if (elementsDone === elements.length) {\n done = true;\n }\n }\n\n if (done) {\n a.done(params.complete);\n return;\n }\n\n el.container.style[prop] = currentValue + unit;\n });\n });\n if (done) return; // Then call\n\n a.frameId = window.requestAnimationFrame(render);\n }\n\n a.frameId = window.requestAnimationFrame(render);\n return a;\n }\n };\n\n if (a.elements.length === 0) {\n return els;\n }\n\n var animateInstance;\n\n for (var i = 0; i < a.elements.length; i += 1) {\n if (a.elements[i].dom7AnimateInstance) {\n animateInstance = a.elements[i].dom7AnimateInstance;\n } else a.elements[i].dom7AnimateInstance = a;\n }\n\n if (!animateInstance) {\n animateInstance = a;\n }\n\n if (initialProps === 'stop') {\n animateInstance.stop();\n } else {\n animateInstance.animate(a.props, a.params);\n }\n\n return els;\n}\n\nfunction stop() {\n var els = this;\n\n for (var i = 0; i < els.length; i += 1) {\n if (els[i].dom7AnimateInstance) {\n els[i].dom7AnimateInstance.stop();\n }\n }\n}\n\nvar noTrigger = 'resize scroll'.split(' ');\n\nfunction shortcut(name) {\n function eventHandler() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (typeof args[0] === 'undefined') {\n for (var i = 0; i < this.length; i += 1) {\n if (noTrigger.indexOf(name) < 0) {\n if (name in this[i]) this[i][name]();else {\n $(this[i]).trigger(name);\n }\n }\n }\n\n return this;\n }\n\n return this.on.apply(this, [name].concat(args));\n }\n\n return eventHandler;\n}\n\nvar click = shortcut('click');\nvar blur = shortcut('blur');\nvar focus = shortcut('focus');\nvar focusin = shortcut('focusin');\nvar focusout = shortcut('focusout');\nvar keyup = shortcut('keyup');\nvar keydown = shortcut('keydown');\nvar keypress = shortcut('keypress');\nvar submit = shortcut('submit');\nvar change = shortcut('change');\nvar mousedown = shortcut('mousedown');\nvar mousemove = shortcut('mousemove');\nvar mouseup = shortcut('mouseup');\nvar mouseenter = shortcut('mouseenter');\nvar mouseleave = shortcut('mouseleave');\nvar mouseout = shortcut('mouseout');\nvar mouseover = shortcut('mouseover');\nvar touchstart = shortcut('touchstart');\nvar touchend = shortcut('touchend');\nvar touchmove = shortcut('touchmove');\nvar resize = shortcut('resize');\nvar scroll = shortcut('scroll');\n\nexport default $;\nexport { $, add, addClass, animate, animationEnd, append, appendTo, attr, blur, change, children, click, closest, css, data, dataset, detach, each, empty, eq, filter, find, focus, focusin, focusout, hasClass, height, hide, html, index, insertAfter, insertBefore, is, keydown, keypress, keyup, mousedown, mouseenter, mouseleave, mousemove, mouseout, mouseover, mouseup, next, nextAll, off, offset, on, once, outerHeight, outerWidth, parent, parents, prepend, prependTo, prev, prevAll, prop, remove, removeAttr, removeClass, removeData, resize, scroll, scrollLeft, scrollTo, scrollTop, show, siblings, stop, styles, submit, text, toggleClass, touchend, touchmove, touchstart, transform, transition, transitionEnd, trigger, val, value, width };\n","if (typeof Element !== \"undefined\") {\n if (!Element.prototype.matches) {\n Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\n }\n\n if (!Element.prototype.closest) {\n Element.prototype.closest = function (s) {\n var el = this;\n\n do {\n if (el.matches(s)) return el;\n el = el.parentElement || el.parentNode;\n } while (el !== null && el.nodeType === 1);\n \n return null;\n };\n }\n}\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; };\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\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 defineProperty(generator, \"_invoke\", { value: makeInvokeMethod(innerFn, self, context) });\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(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 = GeneratorFunctionPrototype;\n defineProperty(Gp, \"constructor\", { value: GeneratorFunctionPrototype, configurable: true });\n defineProperty(\n GeneratorFunctionPrototype,\n \"constructor\",\n { value: GeneratorFunction, configurable: true }\n );\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\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 define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n defineProperty(this, \"_invoke\", { value: enqueue });\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method;\n var method = delegate.iterator[methodName];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method, or a missing .next mehtod, always terminate the\n // yield* loop.\n context.delegate = null;\n\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (methodName === \"throw\" && 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 if (methodName !== \"return\") {\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a '\" + methodName + \"' 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 define(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 define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(val) {\n var object = Object(val);\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","/*!\r\n\tBy André Rinas, www.andrerinas.de\r\n\tDocumentation, www.simplelightbox.de\r\n\tAvailable for use under the MIT License\r\n\tVersion 2.12.1\r\n*/\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nvar SimpleLightbox = /*#__PURE__*/function () {\n function SimpleLightbox(elements, options) {\n var _this = this;\n _classCallCheck(this, SimpleLightbox);\n _defineProperty(this, \"defaultOptions\", {\n sourceAttr: 'href',\n overlay: true,\n overlayOpacity: 0.7,\n spinner: true,\n nav: true,\n navText: ['‹', '›'],\n captions: true,\n captionDelay: 0,\n captionSelector: 'img',\n captionType: 'attr',\n captionsData: 'title',\n captionPosition: 'bottom',\n captionClass: '',\n close: true,\n closeText: '×',\n swipeClose: true,\n showCounter: true,\n fileExt: 'png|jpg|jpeg|gif|webp',\n animationSlide: true,\n animationSpeed: 250,\n preloading: true,\n enableKeyboard: true,\n loop: true,\n rel: false,\n docClose: true,\n swipeTolerance: 50,\n className: 'simple-lightbox',\n widthRatio: 0.8,\n heightRatio: 0.9,\n scaleImageToRatio: false,\n disableRightClick: false,\n disableScroll: true,\n alertError: true,\n alertErrorMessage: 'Image not found, next image will be loaded',\n additionalHtml: false,\n history: true,\n throttleInterval: 0,\n doubleTapZoom: 2,\n maxZoom: 10,\n htmlClass: 'has-lightbox',\n rtl: false,\n fixedClass: 'sl-fixed',\n fadeSpeed: 300,\n uniqueImages: true,\n focus: true,\n scrollZoom: true,\n scrollZoomFactor: 0.5,\n download: false\n });\n _defineProperty(this, \"transitionPrefix\", void 0);\n _defineProperty(this, \"isPassiveEventsSupported\", void 0);\n _defineProperty(this, \"transitionCapable\", false);\n _defineProperty(this, \"isTouchDevice\", 'ontouchstart' in window);\n _defineProperty(this, \"isAppleDevice\", /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform));\n _defineProperty(this, \"initialLocationHash\", void 0);\n _defineProperty(this, \"pushStateSupport\", 'pushState' in history);\n _defineProperty(this, \"isOpen\", false);\n _defineProperty(this, \"isAnimating\", false);\n _defineProperty(this, \"isClosing\", false);\n _defineProperty(this, \"isFadeIn\", false);\n _defineProperty(this, \"urlChangedOnce\", false);\n _defineProperty(this, \"hashReseted\", false);\n _defineProperty(this, \"historyHasChanges\", false);\n _defineProperty(this, \"historyUpdateTimeout\", null);\n _defineProperty(this, \"currentImage\", void 0);\n _defineProperty(this, \"eventNamespace\", 'simplelightbox');\n _defineProperty(this, \"domNodes\", {});\n _defineProperty(this, \"loadedImages\", []);\n _defineProperty(this, \"initialImageIndex\", 0);\n _defineProperty(this, \"currentImageIndex\", 0);\n _defineProperty(this, \"initialSelector\", null);\n _defineProperty(this, \"globalScrollbarWidth\", 0);\n _defineProperty(this, \"controlCoordinates\", {\n swipeDiff: 0,\n swipeYDiff: 0,\n swipeStart: 0,\n swipeEnd: 0,\n swipeYStart: 0,\n swipeYEnd: 0,\n mousedown: false,\n imageLeft: 0,\n zoomed: false,\n containerHeight: 0,\n containerWidth: 0,\n containerOffsetX: 0,\n containerOffsetY: 0,\n imgHeight: 0,\n imgWidth: 0,\n capture: false,\n initialOffsetX: 0,\n initialOffsetY: 0,\n initialPointerOffsetX: 0,\n initialPointerOffsetY: 0,\n initialPointerOffsetX2: 0,\n initialPointerOffsetY2: 0,\n initialScale: 1,\n initialPinchDistance: 0,\n pointerOffsetX: 0,\n pointerOffsetY: 0,\n pointerOffsetX2: 0,\n pointerOffsetY2: 0,\n targetOffsetX: 0,\n targetOffsetY: 0,\n targetScale: 0,\n pinchOffsetX: 0,\n pinchOffsetY: 0,\n limitOffsetX: 0,\n limitOffsetY: 0,\n scaleDifference: 0,\n targetPinchDistance: 0,\n touchCount: 0,\n doubleTapped: false,\n touchmoveCount: 0\n });\n this.options = Object.assign(this.defaultOptions, options);\n this.isPassiveEventsSupported = this.checkPassiveEventsSupport();\n if (typeof elements === 'string') {\n this.initialSelector = elements;\n this.elements = Array.from(document.querySelectorAll(elements));\n } else {\n this.elements = typeof elements.length !== 'undefined' && elements.length > 0 ? Array.from(elements) : [elements];\n }\n this.relatedElements = [];\n this.transitionPrefix = this.calculateTransitionPrefix();\n this.transitionCapable = this.transitionPrefix !== false;\n this.initialLocationHash = this.hash;\n\n // this should be handled by attribute selector IMHO! => 'a[rel=bla]'...\n if (this.options.rel) {\n this.elements = this.getRelated(this.options.rel);\n }\n if (this.options.uniqueImages) {\n var imgArr = [];\n this.elements = Array.from(this.elements).filter(function (element) {\n var src = element.getAttribute(_this.options.sourceAttr);\n if (imgArr.indexOf(src) === -1) {\n imgArr.push(src);\n return true;\n }\n return false;\n });\n }\n this.createDomNodes();\n if (this.options.close) {\n this.domNodes.wrapper.appendChild(this.domNodes.closeButton);\n }\n if (this.options.nav) {\n this.domNodes.wrapper.appendChild(this.domNodes.navigation);\n }\n if (this.options.spinner) {\n this.domNodes.wrapper.appendChild(this.domNodes.spinner);\n }\n this.addEventListener(this.elements, 'click.' + this.eventNamespace, function (event) {\n if (_this.isValidLink(event.currentTarget)) {\n event.preventDefault();\n if (_this.isAnimating) {\n return false;\n }\n _this.initialImageIndex = _this.elements.indexOf(event.currentTarget);\n _this.openImage(event.currentTarget);\n }\n });\n\n // close addEventListener click addEventListener doc\n if (this.options.docClose) {\n this.addEventListener(this.domNodes.wrapper, ['click.' + this.eventNamespace, 'touchstart.' + this.eventNamespace], function (event) {\n if (_this.isOpen && event.target === event.currentTarget) {\n _this.close();\n }\n });\n }\n\n // disable rightclick\n if (this.options.disableRightClick) {\n this.addEventListener(document.body, 'contextmenu.' + this.eventNamespace, function (event) {\n if (event.target.parentElement.classList.contains(\"sl-image\")) {\n event.preventDefault();\n }\n });\n }\n\n // keyboard-control\n if (this.options.enableKeyboard) {\n this.addEventListener(document.body, 'keyup.' + this.eventNamespace, this.throttle(function (event) {\n _this.controlCoordinates.swipeDiff = 0;\n // keyboard control only if lightbox is open\n\n if (_this.isAnimating && event.key === 'Escape') {\n _this.currentImage.setAttribute('src', '');\n _this.isAnimating = false;\n return _this.close();\n }\n if (_this.isOpen) {\n event.preventDefault();\n if (event.key === 'Escape') {\n _this.close();\n }\n if (!_this.isAnimating && ['ArrowLeft', 'ArrowRight'].indexOf(event.key) > -1) {\n _this.loadImage(event.key === 'ArrowRight' ? 1 : -1);\n }\n }\n }, this.options.throttleInterval));\n }\n this.addEvents();\n }\n _createClass(SimpleLightbox, [{\n key: \"checkPassiveEventsSupport\",\n value: function checkPassiveEventsSupport() {\n // https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md#feature-detection\n // Test via a getter in the options object to see if the passive property is accessed\n var supportsPassive = false;\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get: function get() {\n supportsPassive = true;\n }\n });\n window.addEventListener(\"testPassive\", null, opts);\n window.removeEventListener(\"testPassive\", null, opts);\n } catch (e) {}\n return supportsPassive;\n }\n }, {\n key: \"generateQuerySelector\",\n value: function generateQuerySelector(elem) {\n var tagName = elem.tagName,\n id = elem.id,\n className = elem.className,\n parentNode = elem.parentNode;\n if (tagName === 'HTML') return 'HTML';\n var str = tagName;\n str += id !== '' ? \"#\".concat(id) : '';\n if (className) {\n var classes = className.trim().split(/\\s/);\n for (var i = 0; i < classes.length; i++) {\n str += \".\".concat(classes[i]);\n }\n }\n var childIndex = 1;\n for (var e = elem; e.previousElementSibling; e = e.previousElementSibling) {\n childIndex += 1;\n }\n str += \":nth-child(\".concat(childIndex, \")\");\n return \"\".concat(this.generateQuerySelector(parentNode), \" > \").concat(str);\n }\n\n // generateQuerySelector(el) {\n // if (el.tagName.toLowerCase() == \"html\")\n // return \"HTML\";\n // var str = el.tagName;\n // str += (el.id != \"\") ? \"#\" + el.id : \"\";\n // if (el.className) {\n // var classes = el.className.split(/\\s/);\n // for (var i = 0; i < classes.length; i++) {\n // str += \".\" + classes[i]\n // }\n // }\n // return this.generateQuerySelector(el.parentNode) + \" > \" + str;\n // }\n }, {\n key: \"createDomNodes\",\n value: function createDomNodes() {\n this.domNodes.overlay = document.createElement('div');\n this.domNodes.overlay.classList.add('sl-overlay');\n this.domNodes.overlay.dataset.opacityTarget = this.options.overlayOpacity;\n this.domNodes.closeButton = document.createElement('button');\n this.domNodes.closeButton.classList.add('sl-close');\n this.domNodes.closeButton.innerHTML = this.options.closeText;\n this.domNodes.spinner = document.createElement('div');\n this.domNodes.spinner.classList.add('sl-spinner');\n this.domNodes.spinner.innerHTML = '
';\n this.domNodes.navigation = document.createElement('div');\n this.domNodes.navigation.classList.add('sl-navigation');\n this.domNodes.navigation.innerHTML = \"\");\n this.domNodes.counter = document.createElement('div');\n this.domNodes.counter.classList.add('sl-counter');\n this.domNodes.counter.innerHTML = '/';\n this.domNodes.download = document.createElement('div');\n this.domNodes.download.classList.add('sl-download');\n this.domNodes.downloadLink = document.createElement('a');\n this.domNodes.downloadLink.setAttribute('download', '');\n this.domNodes.downloadLink.textContent = this.options.download;\n this.domNodes.download.appendChild(this.domNodes.downloadLink);\n this.domNodes.caption = document.createElement('div');\n this.domNodes.caption.classList.add('sl-caption', 'pos-' + this.options.captionPosition);\n if (this.options.captionClass) {\n var _this$domNodes$captio;\n var captionClasses = this.options.captionClass.split(/[\\s,]+/);\n (_this$domNodes$captio = this.domNodes.caption.classList).add.apply(_this$domNodes$captio, _toConsumableArray(captionClasses));\n }\n this.domNodes.image = document.createElement('div');\n this.domNodes.image.classList.add('sl-image');\n this.domNodes.wrapper = document.createElement('div');\n this.domNodes.wrapper.classList.add('sl-wrapper');\n this.domNodes.wrapper.setAttribute('tabindex', -1);\n this.domNodes.wrapper.setAttribute('role', 'dialog');\n this.domNodes.wrapper.setAttribute('aria-hidden', false);\n if (this.options.className) {\n this.domNodes.wrapper.classList.add(this.options.className);\n }\n if (this.options.rtl) {\n this.domNodes.wrapper.classList.add('sl-dir-rtl');\n }\n }\n }, {\n key: \"throttle\",\n value: function throttle(func, limit) {\n var inThrottle;\n return function () {\n if (!inThrottle) {\n func.apply(this, arguments);\n inThrottle = true;\n setTimeout(function () {\n return inThrottle = false;\n }, limit);\n }\n };\n }\n }, {\n key: \"isValidLink\",\n value: function isValidLink(element) {\n return !this.options.fileExt || element.getAttribute(this.options.sourceAttr) && new RegExp('(' + this.options.fileExt + ')($|\\\\?.*$)', 'i').test(element.getAttribute(this.options.sourceAttr));\n }\n }, {\n key: \"calculateTransitionPrefix\",\n value: function calculateTransitionPrefix() {\n var s = (document.body || document.documentElement).style;\n return 'transition' in s ? '' : 'WebkitTransition' in s ? '-webkit-' : 'MozTransition' in s ? '-moz-' : 'OTransition' in s ? '-o' : false;\n }\n }, {\n key: \"getScrollbarWidth\",\n value: function getScrollbarWidth() {\n var scrollbarWidth = 0;\n var scrollDiv = document.createElement('div');\n scrollDiv.classList.add('sl-scrollbar-measure');\n document.body.appendChild(scrollDiv);\n scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n return scrollbarWidth;\n }\n }, {\n key: \"toggleScrollbar\",\n value: function toggleScrollbar(type) {\n var scrollbarWidth = 0;\n var fixedElements = [].slice.call(document.querySelectorAll('.' + this.options.fixedClass));\n if (type === 'hide') {\n var fullWindowWidth = window.innerWidth;\n if (!fullWindowWidth) {\n var documentElementRect = document.documentElement.getBoundingClientRect();\n fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left);\n }\n if (document.body.clientWidth < fullWindowWidth || this.isAppleDevice) {\n var paddingRight = parseInt(document.body.style.paddingRight || 0, 10);\n scrollbarWidth = this.getScrollbarWidth();\n document.body.dataset.originalPaddingRight = paddingRight;\n if (scrollbarWidth > 0 || scrollbarWidth == 0 && this.isAppleDevice) {\n document.body.classList.add('hidden-scroll');\n document.body.style.paddingRight = paddingRight + scrollbarWidth + 'px';\n fixedElements.forEach(function (element) {\n var actualPadding = element.style.paddingRight;\n var calculatedPadding = window.getComputedStyle(element)['padding-right'];\n element.dataset.originalPaddingRight = actualPadding;\n element.style.paddingRight = \"\".concat(parseFloat(calculatedPadding) + scrollbarWidth, \"px\");\n });\n }\n }\n } else {\n document.body.classList.remove('hidden-scroll');\n document.body.style.paddingRight = document.body.dataset.originalPaddingRight;\n fixedElements.forEach(function (element) {\n var padding = element.dataset.originalPaddingRight;\n if (typeof padding !== 'undefined') {\n element.style.paddingRight = padding;\n }\n });\n }\n return scrollbarWidth;\n }\n }, {\n key: \"close\",\n value: function close() {\n var _this2 = this;\n if (!this.isOpen || this.isAnimating || this.isClosing) {\n return false;\n }\n this.isClosing = true;\n var element = this.relatedElements[this.currentImageIndex];\n element.dispatchEvent(new Event('close.simplelightbox'));\n if (this.options.history) {\n this.historyHasChanges = false;\n if (!this.hashReseted) {\n this.resetHash();\n }\n }\n this.removeEventListener(document, 'focusin.' + this.eventNamespace);\n this.fadeOut(this.domNodes.overlay, this.options.fadeSpeed);\n this.fadeOut(document.querySelectorAll('.sl-image img, .sl-close, .sl-navigation, .sl-image .sl-caption, .sl-counter'), this.options.fadeSpeed, function () {\n if (_this2.options.disableScroll) {\n _this2.toggleScrollbar('show');\n }\n if (_this2.options.htmlClass && _this2.options.htmlClass !== '') {\n document.querySelector('html').classList.remove(_this2.options.htmlClass);\n }\n document.body.removeChild(_this2.domNodes.wrapper);\n document.body.removeChild(_this2.domNodes.overlay);\n _this2.domNodes.additionalHtml = null;\n _this2.domNodes.download = null;\n element.dispatchEvent(new Event('closed.simplelightbox'));\n _this2.isClosing = false;\n });\n this.currentImage = null;\n this.isOpen = false;\n this.isAnimating = false;\n\n // reset touchcontrol coordinates\n for (var key in this.controlCoordinates) {\n this.controlCoordinates[key] = 0;\n }\n this.controlCoordinates.mousedown = false;\n this.controlCoordinates.zoomed = false;\n this.controlCoordinates.capture = false;\n this.controlCoordinates.initialScale = this.minMax(1, 1, this.options.maxZoom);\n this.controlCoordinates.doubleTapped = false;\n }\n }, {\n key: \"hash\",\n get: function get() {\n return window.location.hash.substring(1);\n }\n }, {\n key: \"preload\",\n value: function preload() {\n var _this3 = this;\n var index = this.currentImageIndex,\n length = this.relatedElements.length,\n next = index + 1 < 0 ? length - 1 : index + 1 >= length - 1 ? 0 : index + 1,\n prev = index - 1 < 0 ? length - 1 : index - 1 >= length - 1 ? 0 : index - 1,\n nextImage = new Image(),\n prevImage = new Image();\n nextImage.addEventListener('load', function (event) {\n var src = event.target.getAttribute('src');\n if (_this3.loadedImages.indexOf(src) === -1) {\n //is this condition even required... setting multiple times will not change usage...\n _this3.loadedImages.push(src);\n }\n _this3.relatedElements[index].dispatchEvent(new Event('nextImageLoaded.' + _this3.eventNamespace));\n });\n nextImage.setAttribute('src', this.relatedElements[next].getAttribute(this.options.sourceAttr));\n prevImage.addEventListener('load', function (event) {\n var src = event.target.getAttribute('src');\n if (_this3.loadedImages.indexOf(src) === -1) {\n _this3.loadedImages.push(src);\n }\n _this3.relatedElements[index].dispatchEvent(new Event('prevImageLoaded.' + _this3.eventNamespace));\n });\n prevImage.setAttribute('src', this.relatedElements[prev].getAttribute(this.options.sourceAttr));\n }\n }, {\n key: \"loadImage\",\n value: function loadImage(direction) {\n var _this4 = this;\n var slideDirection = direction;\n if (this.options.rtl) {\n direction = -direction;\n }\n this.relatedElements[this.currentImageIndex].dispatchEvent(new Event('change.' + this.eventNamespace));\n this.relatedElements[this.currentImageIndex].dispatchEvent(new Event((direction === 1 ? 'next' : 'prev') + '.' + this.eventNamespace));\n var newIndex = this.currentImageIndex + direction;\n if (this.isAnimating || (newIndex < 0 || newIndex >= this.relatedElements.length) && this.options.loop === false) {\n return false;\n }\n this.currentImageIndex = newIndex < 0 ? this.relatedElements.length - 1 : newIndex > this.relatedElements.length - 1 ? 0 : newIndex;\n this.domNodes.counter.querySelector('.sl-current').innerHTML = this.currentImageIndex + 1;\n if (this.options.animationSlide) {\n this.slide(this.options.animationSpeed / 1000, -100 * slideDirection - this.controlCoordinates.swipeDiff + 'px');\n }\n this.fadeOut(this.domNodes.image, this.options.fadeSpeed, function () {\n _this4.isAnimating = true;\n if (!_this4.isClosing) {\n setTimeout(function () {\n var element = _this4.relatedElements[_this4.currentImageIndex];\n _this4.currentImage.setAttribute('src', element.getAttribute(_this4.options.sourceAttr));\n if (_this4.loadedImages.indexOf(element.getAttribute(_this4.options.sourceAttr)) === -1) {\n _this4.show(_this4.domNodes.spinner);\n }\n if (_this4.domNodes.image.contains(_this4.domNodes.caption)) {\n _this4.domNodes.image.removeChild(_this4.domNodes.caption);\n }\n _this4.adjustImage(slideDirection);\n if (_this4.options.preloading) _this4.preload();\n }, 100);\n } else {\n _this4.isAnimating = false;\n }\n });\n }\n }, {\n key: \"adjustImage\",\n value: function adjustImage(direction) {\n var _this5 = this;\n if (!this.currentImage) {\n return false;\n }\n var tmpImage = new Image(),\n windowWidth = window.innerWidth * this.options.widthRatio,\n windowHeight = window.innerHeight * this.options.heightRatio;\n tmpImage.setAttribute('src', this.currentImage.getAttribute('src'));\n this.currentImage.dataset.scale = 1;\n this.currentImage.dataset.translateX = 0;\n this.currentImage.dataset.translateY = 0;\n this.zoomPanElement(0, 0, 1);\n tmpImage.addEventListener('error', function (event) {\n _this5.relatedElements[_this5.currentImageIndex].dispatchEvent(new Event('error.' + _this5.eventNamespace));\n _this5.isAnimating = false;\n _this5.isOpen = true;\n _this5.domNodes.spinner.style.display = 'none';\n var dirIsDefined = direction === 1 || direction === -1;\n if (_this5.initialImageIndex === _this5.currentImageIndex && dirIsDefined) {\n return _this5.close();\n }\n if (_this5.options.alertError) {\n alert(_this5.options.alertErrorMessage);\n }\n _this5.loadImage(dirIsDefined ? direction : 1);\n });\n tmpImage.addEventListener('load', function (event) {\n if (typeof direction !== 'undefined') {\n _this5.relatedElements[_this5.currentImageIndex].dispatchEvent(new Event('changed.' + _this5.eventNamespace));\n _this5.relatedElements[_this5.currentImageIndex].dispatchEvent(new Event((direction === 1 ? 'nextDone' : 'prevDone') + '.' + _this5.eventNamespace));\n }\n\n // history\n if (_this5.options.history) {\n _this5.updateURL();\n }\n if (_this5.loadedImages.indexOf(_this5.currentImage.getAttribute('src')) === -1) {\n _this5.loadedImages.push(_this5.currentImage.getAttribute('src'));\n }\n var imageWidth = event.target.width,\n imageHeight = event.target.height;\n if (_this5.options.scaleImageToRatio || imageWidth > windowWidth || imageHeight > windowHeight) {\n var ratio = imageWidth / imageHeight > windowWidth / windowHeight ? imageWidth / windowWidth : imageHeight / windowHeight;\n imageWidth /= ratio;\n imageHeight /= ratio;\n }\n _this5.domNodes.image.style.top = (window.innerHeight - imageHeight) / 2 + 'px';\n _this5.domNodes.image.style.left = (window.innerWidth - imageWidth - _this5.globalScrollbarWidth) / 2 + 'px';\n _this5.domNodes.image.style.width = imageWidth + 'px';\n _this5.domNodes.image.style.height = imageHeight + 'px';\n _this5.domNodes.spinner.style.display = 'none';\n if (_this5.options.focus) {\n _this5.forceFocus();\n }\n _this5.fadeIn(_this5.currentImage, _this5.options.fadeSpeed, function () {\n if (_this5.options.focus) {\n _this5.domNodes.wrapper.focus();\n }\n });\n _this5.isOpen = true;\n var captionContainer, captionText;\n if (typeof _this5.options.captionSelector === 'string') {\n captionContainer = _this5.options.captionSelector === 'self' ? _this5.relatedElements[_this5.currentImageIndex] : document.querySelector(_this5.generateQuerySelector(_this5.relatedElements[_this5.currentImageIndex]) + ' ' + _this5.options.captionSelector);\n } else if (typeof _this5.options.captionSelector === 'function') {\n captionContainer = _this5.options.captionSelector(_this5.relatedElements[_this5.currentImageIndex]);\n }\n if (_this5.options.captions && captionContainer) {\n if (_this5.options.captionType === 'data') {\n captionText = captionContainer.dataset[_this5.options.captionsData];\n } else if (_this5.options.captionType === 'text') {\n captionText = captionContainer.innerHTML;\n } else {\n captionText = captionContainer.getAttribute(_this5.options.captionsData);\n }\n }\n if (!_this5.options.loop) {\n if (_this5.currentImageIndex === 0) {\n _this5.hide(_this5.domNodes.navigation.querySelector('.sl-prev'));\n }\n if (_this5.currentImageIndex >= _this5.relatedElements.length - 1) {\n _this5.hide(_this5.domNodes.navigation.querySelector('.sl-next'));\n }\n if (_this5.currentImageIndex > 0) {\n _this5.show(_this5.domNodes.navigation.querySelector('.sl-prev'));\n }\n if (_this5.currentImageIndex < _this5.relatedElements.length - 1) {\n _this5.show(_this5.domNodes.navigation.querySelector('.sl-next'));\n }\n } else {\n if (_this5.relatedElements.length === 1) {\n _this5.hide(_this5.domNodes.navigation.querySelectorAll('.sl-prev, .sl-next'));\n } else {\n _this5.show(_this5.domNodes.navigation.querySelectorAll('.sl-prev, .sl-next'));\n }\n }\n if (direction === 1 || direction === -1) {\n if (_this5.options.animationSlide) {\n _this5.slide(0, 100 * direction + 'px');\n setTimeout(function () {\n _this5.slide(_this5.options.animationSpeed / 1000, 0 + 'px');\n }, 50);\n }\n _this5.fadeIn(_this5.domNodes.image, _this5.options.fadeSpeed, function () {\n _this5.isAnimating = false;\n _this5.setCaption(captionText, imageWidth);\n });\n } else {\n _this5.isAnimating = false;\n _this5.setCaption(captionText, imageWidth);\n }\n if (_this5.options.additionalHtml && !_this5.domNodes.additionalHtml) {\n _this5.domNodes.additionalHtml = document.createElement('div');\n _this5.domNodes.additionalHtml.classList.add('sl-additional-html');\n _this5.domNodes.additionalHtml.innerHTML = _this5.options.additionalHtml;\n _this5.domNodes.image.appendChild(_this5.domNodes.additionalHtml);\n }\n if (_this5.options.download) {\n _this5.domNodes.downloadLink.setAttribute('href', _this5.currentImage.getAttribute('src'));\n }\n });\n }\n }, {\n key: \"zoomPanElement\",\n value: function zoomPanElement(targetOffsetX, targetOffsetY, targetScale) {\n this.currentImage.style[this.transitionPrefix + 'transform'] = 'translate(' + targetOffsetX + ',' + targetOffsetY + ') scale(' + targetScale + ')';\n }\n }, {\n key: \"minMax\",\n value: function minMax(value, min, max) {\n return value < min ? min : value > max ? max : value;\n }\n }, {\n key: \"setZoomData\",\n value: function setZoomData(initialScale, targetOffsetX, targetOffsetY) {\n this.currentImage.dataset.scale = initialScale;\n this.currentImage.dataset.translateX = targetOffsetX;\n this.currentImage.dataset.translateY = targetOffsetY;\n }\n }, {\n key: \"hashchangeHandler\",\n value: function hashchangeHandler() {\n if (this.isOpen && this.hash === this.initialLocationHash) {\n this.hashReseted = true;\n this.close();\n }\n }\n }, {\n key: \"addEvents\",\n value: function addEvents() {\n var _this6 = this;\n // resize/responsive\n this.addEventListener(window, 'resize.' + this.eventNamespace, function (event) {\n //this.adjustImage.bind(this)\n if (_this6.isOpen) {\n _this6.adjustImage();\n }\n });\n this.addEventListener(this.domNodes.closeButton, ['click.' + this.eventNamespace, 'touchstart.' + this.eventNamespace], this.close.bind(this));\n if (this.options.history) {\n setTimeout(function () {\n _this6.addEventListener(window, 'hashchange.' + _this6.eventNamespace, function (event) {\n if (_this6.isOpen) {\n _this6.hashchangeHandler();\n }\n });\n }, 40);\n }\n this.addEventListener(this.domNodes.navigation.getElementsByTagName('button'), 'click.' + this.eventNamespace, function (event) {\n if (!event.currentTarget.tagName.match(/button/i)) {\n return true;\n }\n event.preventDefault();\n _this6.controlCoordinates.swipeDiff = 0;\n _this6.loadImage(event.currentTarget.classList.contains('sl-next') ? 1 : -1);\n });\n if (this.options.scrollZoom) {\n var scale = 1;\n this.addEventListener(this.domNodes.image, ['mousewheel', 'DOMMouseScroll'], function (event) {\n if (_this6.controlCoordinates.mousedown || _this6.isAnimating || _this6.isClosing || !_this6.isOpen) {\n return true;\n }\n if (_this6.controlCoordinates.containerHeight == 0) {\n _this6.controlCoordinates.containerHeight = _this6.getDimensions(_this6.domNodes.image).height;\n _this6.controlCoordinates.containerWidth = _this6.getDimensions(_this6.domNodes.image).width;\n _this6.controlCoordinates.imgHeight = _this6.getDimensions(_this6.currentImage).height;\n _this6.controlCoordinates.imgWidth = _this6.getDimensions(_this6.currentImage).width;\n _this6.controlCoordinates.containerOffsetX = _this6.domNodes.image.offsetLeft;\n _this6.controlCoordinates.containerOffsetY = _this6.domNodes.image.offsetTop;\n _this6.controlCoordinates.initialOffsetX = parseFloat(_this6.currentImage.dataset.translateX);\n _this6.controlCoordinates.initialOffsetY = parseFloat(_this6.currentImage.dataset.translateY);\n }\n event.preventDefault();\n var delta = event.delta || event.wheelDelta;\n if (delta === undefined) {\n //we are on firefox\n delta = event.detail;\n }\n delta = Math.max(-1, Math.min(1, delta)); // cap the delta to [-1,1] for cross browser consistency\n\n // apply zoom\n scale += delta * _this6.options.scrollZoomFactor * scale;\n scale = Math.max(1, Math.min(_this6.options.maxZoom, scale));\n _this6.controlCoordinates.targetScale = scale;\n var scrollTopPos = document.documentElement.scrollTop || document.body.scrollTop;\n _this6.controlCoordinates.pinchOffsetX = event.pageX;\n _this6.controlCoordinates.pinchOffsetY = event.pageY - scrollTopPos || 0; // need to substract the scroll position\n\n _this6.controlCoordinates.limitOffsetX = (_this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerWidth) / 2;\n _this6.controlCoordinates.limitOffsetY = (_this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerHeight) / 2;\n _this6.controlCoordinates.scaleDifference = _this6.controlCoordinates.targetScale - _this6.controlCoordinates.initialScale;\n _this6.controlCoordinates.targetOffsetX = _this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerWidth ? 0 : _this6.minMax(_this6.controlCoordinates.initialOffsetX - (_this6.controlCoordinates.pinchOffsetX - _this6.controlCoordinates.containerOffsetX - _this6.controlCoordinates.containerWidth / 2 - _this6.controlCoordinates.initialOffsetX) / (_this6.controlCoordinates.targetScale - _this6.controlCoordinates.scaleDifference) * _this6.controlCoordinates.scaleDifference, _this6.controlCoordinates.limitOffsetX * -1, _this6.controlCoordinates.limitOffsetX);\n _this6.controlCoordinates.targetOffsetY = _this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerHeight ? 0 : _this6.minMax(_this6.controlCoordinates.initialOffsetY - (_this6.controlCoordinates.pinchOffsetY - _this6.controlCoordinates.containerOffsetY - _this6.controlCoordinates.containerHeight / 2 - _this6.controlCoordinates.initialOffsetY) / (_this6.controlCoordinates.targetScale - _this6.controlCoordinates.scaleDifference) * _this6.controlCoordinates.scaleDifference, _this6.controlCoordinates.limitOffsetY * -1, _this6.controlCoordinates.limitOffsetY);\n _this6.zoomPanElement(_this6.controlCoordinates.targetOffsetX + \"px\", _this6.controlCoordinates.targetOffsetY + \"px\", _this6.controlCoordinates.targetScale);\n if (_this6.controlCoordinates.targetScale > 1) {\n _this6.controlCoordinates.zoomed = true;\n if ((!_this6.domNodes.caption.style.opacity || _this6.domNodes.caption.style.opacity > 0) && _this6.domNodes.caption.style.display !== 'none') {\n _this6.fadeOut(_this6.domNodes.caption, _this6.options.fadeSpeed);\n }\n } else {\n if (_this6.controlCoordinates.initialScale === 1) {\n _this6.controlCoordinates.zoomed = false;\n if (_this6.domNodes.caption.style.display === 'none') {\n _this6.fadeIn(_this6.domNodes.caption, _this6.options.fadeSpeed);\n }\n }\n _this6.controlCoordinates.initialPinchDistance = null;\n _this6.controlCoordinates.capture = false;\n }\n _this6.controlCoordinates.initialPinchDistance = _this6.controlCoordinates.targetPinchDistance;\n _this6.controlCoordinates.initialScale = _this6.controlCoordinates.targetScale;\n _this6.controlCoordinates.initialOffsetX = _this6.controlCoordinates.targetOffsetX;\n _this6.controlCoordinates.initialOffsetY = _this6.controlCoordinates.targetOffsetY;\n _this6.setZoomData(_this6.controlCoordinates.targetScale, _this6.controlCoordinates.targetOffsetX, _this6.controlCoordinates.targetOffsetY);\n _this6.zoomPanElement(_this6.controlCoordinates.targetOffsetX + \"px\", _this6.controlCoordinates.targetOffsetY + \"px\", _this6.controlCoordinates.targetScale);\n });\n }\n this.addEventListener(this.domNodes.image, ['touchstart.' + this.eventNamespace, 'mousedown.' + this.eventNamespace], function (event) {\n if (event.target.tagName === 'A' && event.type === 'touchstart') {\n return true;\n }\n if (event.type === 'mousedown') {\n event.preventDefault();\n _this6.controlCoordinates.initialPointerOffsetX = event.clientX;\n _this6.controlCoordinates.initialPointerOffsetY = event.clientY;\n _this6.controlCoordinates.containerHeight = _this6.getDimensions(_this6.domNodes.image).height;\n _this6.controlCoordinates.containerWidth = _this6.getDimensions(_this6.domNodes.image).width;\n _this6.controlCoordinates.imgHeight = _this6.getDimensions(_this6.currentImage).height;\n _this6.controlCoordinates.imgWidth = _this6.getDimensions(_this6.currentImage).width;\n _this6.controlCoordinates.containerOffsetX = _this6.domNodes.image.offsetLeft;\n _this6.controlCoordinates.containerOffsetY = _this6.domNodes.image.offsetTop;\n _this6.controlCoordinates.initialOffsetX = parseFloat(_this6.currentImage.dataset.translateX);\n _this6.controlCoordinates.initialOffsetY = parseFloat(_this6.currentImage.dataset.translateY);\n _this6.controlCoordinates.capture = true;\n } else {\n _this6.controlCoordinates.touchCount = event.touches.length;\n _this6.controlCoordinates.initialPointerOffsetX = event.touches[0].clientX;\n _this6.controlCoordinates.initialPointerOffsetY = event.touches[0].clientY;\n _this6.controlCoordinates.containerHeight = _this6.getDimensions(_this6.domNodes.image).height;\n _this6.controlCoordinates.containerWidth = _this6.getDimensions(_this6.domNodes.image).width;\n _this6.controlCoordinates.imgHeight = _this6.getDimensions(_this6.currentImage).height;\n _this6.controlCoordinates.imgWidth = _this6.getDimensions(_this6.currentImage).width;\n _this6.controlCoordinates.containerOffsetX = _this6.domNodes.image.offsetLeft;\n _this6.controlCoordinates.containerOffsetY = _this6.domNodes.image.offsetTop;\n if (_this6.controlCoordinates.touchCount === 1) /* Single touch */{\n if (!_this6.controlCoordinates.doubleTapped) {\n _this6.controlCoordinates.doubleTapped = true;\n setTimeout(function () {\n _this6.controlCoordinates.doubleTapped = false;\n }, 300);\n } else {\n _this6.currentImage.classList.add('sl-transition');\n if (!_this6.controlCoordinates.zoomed) {\n _this6.controlCoordinates.initialScale = _this6.options.doubleTapZoom;\n _this6.setZoomData(_this6.controlCoordinates.initialScale, 0, 0);\n _this6.zoomPanElement(0 + \"px\", 0 + \"px\", _this6.controlCoordinates.initialScale);\n if ((!_this6.domNodes.caption.style.opacity || _this6.domNodes.caption.style.opacity > 0) && _this6.domNodes.caption.style.display !== 'none') {\n _this6.fadeOut(_this6.domNodes.caption, _this6.options.fadeSpeed);\n }\n _this6.controlCoordinates.zoomed = true;\n } else {\n _this6.controlCoordinates.initialScale = 1;\n _this6.setZoomData(_this6.controlCoordinates.initialScale, 0, 0);\n _this6.zoomPanElement(0 + \"px\", 0 + \"px\", _this6.controlCoordinates.initialScale);\n _this6.controlCoordinates.zoomed = false;\n }\n setTimeout(function () {\n if (_this6.currentImage) {\n _this6.currentImage.classList.remove('sl-transition');\n }\n }, 200);\n return false;\n }\n _this6.controlCoordinates.initialOffsetX = parseFloat(_this6.currentImage.dataset.translateX);\n _this6.controlCoordinates.initialOffsetY = parseFloat(_this6.currentImage.dataset.translateY);\n } else if (_this6.controlCoordinates.touchCount === 2) /* Pinch */{\n _this6.controlCoordinates.initialPointerOffsetX2 = event.touches[1].clientX;\n _this6.controlCoordinates.initialPointerOffsetY2 = event.touches[1].clientY;\n _this6.controlCoordinates.initialOffsetX = parseFloat(_this6.currentImage.dataset.translateX);\n _this6.controlCoordinates.initialOffsetY = parseFloat(_this6.currentImage.dataset.translateY);\n _this6.controlCoordinates.pinchOffsetX = (_this6.controlCoordinates.initialPointerOffsetX + _this6.controlCoordinates.initialPointerOffsetX2) / 2;\n _this6.controlCoordinates.pinchOffsetY = (_this6.controlCoordinates.initialPointerOffsetY + _this6.controlCoordinates.initialPointerOffsetY2) / 2;\n _this6.controlCoordinates.initialPinchDistance = Math.sqrt((_this6.controlCoordinates.initialPointerOffsetX - _this6.controlCoordinates.initialPointerOffsetX2) * (_this6.controlCoordinates.initialPointerOffsetX - _this6.controlCoordinates.initialPointerOffsetX2) + (_this6.controlCoordinates.initialPointerOffsetY - _this6.controlCoordinates.initialPointerOffsetY2) * (_this6.controlCoordinates.initialPointerOffsetY - _this6.controlCoordinates.initialPointerOffsetY2));\n }\n _this6.controlCoordinates.capture = true;\n }\n if (_this6.controlCoordinates.mousedown) return true;\n if (_this6.transitionCapable) {\n _this6.controlCoordinates.imageLeft = parseInt(_this6.domNodes.image.style.left, 10);\n }\n _this6.controlCoordinates.mousedown = true;\n _this6.controlCoordinates.swipeDiff = 0;\n _this6.controlCoordinates.swipeYDiff = 0;\n _this6.controlCoordinates.swipeStart = event.pageX || event.touches[0].pageX;\n _this6.controlCoordinates.swipeYStart = event.pageY || event.touches[0].pageY;\n return false;\n });\n this.addEventListener(this.domNodes.image, ['touchmove.' + this.eventNamespace, 'mousemove.' + this.eventNamespace, 'MSPointerMove'], function (event) {\n if (!_this6.controlCoordinates.mousedown) {\n return true;\n }\n if (event.type === 'touchmove') {\n if (_this6.controlCoordinates.capture === false) {\n return false;\n }\n _this6.controlCoordinates.pointerOffsetX = event.touches[0].clientX;\n _this6.controlCoordinates.pointerOffsetY = event.touches[0].clientY;\n _this6.controlCoordinates.touchCount = event.touches.length;\n _this6.controlCoordinates.touchmoveCount++;\n if (_this6.controlCoordinates.touchCount > 1) /* Pinch */{\n _this6.controlCoordinates.pointerOffsetX2 = event.touches[1].clientX;\n _this6.controlCoordinates.pointerOffsetY2 = event.touches[1].clientY;\n _this6.controlCoordinates.targetPinchDistance = Math.sqrt((_this6.controlCoordinates.pointerOffsetX - _this6.controlCoordinates.pointerOffsetX2) * (_this6.controlCoordinates.pointerOffsetX - _this6.controlCoordinates.pointerOffsetX2) + (_this6.controlCoordinates.pointerOffsetY - _this6.controlCoordinates.pointerOffsetY2) * (_this6.controlCoordinates.pointerOffsetY - _this6.controlCoordinates.pointerOffsetY2));\n if (_this6.controlCoordinates.initialPinchDistance === null) {\n _this6.controlCoordinates.initialPinchDistance = _this6.controlCoordinates.targetPinchDistance;\n }\n if (Math.abs(_this6.controlCoordinates.initialPinchDistance - _this6.controlCoordinates.targetPinchDistance) >= 1) {\n /* Initialize helpers */\n _this6.controlCoordinates.targetScale = _this6.minMax(_this6.controlCoordinates.targetPinchDistance / _this6.controlCoordinates.initialPinchDistance * _this6.controlCoordinates.initialScale, 1, _this6.options.maxZoom);\n _this6.controlCoordinates.limitOffsetX = (_this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerWidth) / 2;\n _this6.controlCoordinates.limitOffsetY = (_this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerHeight) / 2;\n _this6.controlCoordinates.scaleDifference = _this6.controlCoordinates.targetScale - _this6.controlCoordinates.initialScale;\n _this6.controlCoordinates.targetOffsetX = _this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerWidth ? 0 : _this6.minMax(_this6.controlCoordinates.initialOffsetX - (_this6.controlCoordinates.pinchOffsetX - _this6.controlCoordinates.containerOffsetX - _this6.controlCoordinates.containerWidth / 2 - _this6.controlCoordinates.initialOffsetX) / (_this6.controlCoordinates.targetScale - _this6.controlCoordinates.scaleDifference) * _this6.controlCoordinates.scaleDifference, _this6.controlCoordinates.limitOffsetX * -1, _this6.controlCoordinates.limitOffsetX);\n _this6.controlCoordinates.targetOffsetY = _this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerHeight ? 0 : _this6.minMax(_this6.controlCoordinates.initialOffsetY - (_this6.controlCoordinates.pinchOffsetY - _this6.controlCoordinates.containerOffsetY - _this6.controlCoordinates.containerHeight / 2 - _this6.controlCoordinates.initialOffsetY) / (_this6.controlCoordinates.targetScale - _this6.controlCoordinates.scaleDifference) * _this6.controlCoordinates.scaleDifference, _this6.controlCoordinates.limitOffsetY * -1, _this6.controlCoordinates.limitOffsetY);\n _this6.zoomPanElement(_this6.controlCoordinates.targetOffsetX + \"px\", _this6.controlCoordinates.targetOffsetY + \"px\", _this6.controlCoordinates.targetScale);\n if (_this6.controlCoordinates.targetScale > 1) {\n _this6.controlCoordinates.zoomed = true;\n if ((!_this6.domNodes.caption.style.opacity || _this6.domNodes.caption.style.opacity > 0) && _this6.domNodes.caption.style.display !== 'none') {\n _this6.fadeOut(_this6.domNodes.caption, _this6.options.fadeSpeed);\n }\n }\n _this6.controlCoordinates.initialPinchDistance = _this6.controlCoordinates.targetPinchDistance;\n _this6.controlCoordinates.initialScale = _this6.controlCoordinates.targetScale;\n _this6.controlCoordinates.initialOffsetX = _this6.controlCoordinates.targetOffsetX;\n _this6.controlCoordinates.initialOffsetY = _this6.controlCoordinates.targetOffsetY;\n }\n } else {\n _this6.controlCoordinates.targetScale = _this6.controlCoordinates.initialScale;\n _this6.controlCoordinates.limitOffsetX = (_this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerWidth) / 2;\n _this6.controlCoordinates.limitOffsetY = (_this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerHeight) / 2;\n _this6.controlCoordinates.targetOffsetX = _this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerWidth ? 0 : _this6.minMax(_this6.controlCoordinates.pointerOffsetX - (_this6.controlCoordinates.initialPointerOffsetX - _this6.controlCoordinates.initialOffsetX), _this6.controlCoordinates.limitOffsetX * -1, _this6.controlCoordinates.limitOffsetX);\n _this6.controlCoordinates.targetOffsetY = _this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerHeight ? 0 : _this6.minMax(_this6.controlCoordinates.pointerOffsetY - (_this6.controlCoordinates.initialPointerOffsetY - _this6.controlCoordinates.initialOffsetY), _this6.controlCoordinates.limitOffsetY * -1, _this6.controlCoordinates.limitOffsetY);\n if (Math.abs(_this6.controlCoordinates.targetOffsetX) === Math.abs(_this6.controlCoordinates.limitOffsetX)) {\n _this6.controlCoordinates.initialOffsetX = _this6.controlCoordinates.targetOffsetX;\n _this6.controlCoordinates.initialPointerOffsetX = _this6.controlCoordinates.pointerOffsetX;\n }\n if (Math.abs(_this6.controlCoordinates.targetOffsetY) === Math.abs(_this6.controlCoordinates.limitOffsetY)) {\n _this6.controlCoordinates.initialOffsetY = _this6.controlCoordinates.targetOffsetY;\n _this6.controlCoordinates.initialPointerOffsetY = _this6.controlCoordinates.pointerOffsetY;\n }\n _this6.setZoomData(_this6.controlCoordinates.initialScale, _this6.controlCoordinates.targetOffsetX, _this6.controlCoordinates.targetOffsetY);\n _this6.zoomPanElement(_this6.controlCoordinates.targetOffsetX + \"px\", _this6.controlCoordinates.targetOffsetY + \"px\", _this6.controlCoordinates.targetScale);\n }\n }\n\n /* Mouse Move implementation */\n if (event.type === 'mousemove' && _this6.controlCoordinates.mousedown) {\n if (event.type == 'touchmove') return true;\n event.preventDefault();\n if (_this6.controlCoordinates.capture === false) return false;\n _this6.controlCoordinates.pointerOffsetX = event.clientX;\n _this6.controlCoordinates.pointerOffsetY = event.clientY;\n _this6.controlCoordinates.targetScale = _this6.controlCoordinates.initialScale;\n _this6.controlCoordinates.limitOffsetX = (_this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerWidth) / 2;\n _this6.controlCoordinates.limitOffsetY = (_this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerHeight) / 2;\n _this6.controlCoordinates.targetOffsetX = _this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerWidth ? 0 : _this6.minMax(_this6.controlCoordinates.pointerOffsetX - (_this6.controlCoordinates.initialPointerOffsetX - _this6.controlCoordinates.initialOffsetX), _this6.controlCoordinates.limitOffsetX * -1, _this6.controlCoordinates.limitOffsetX);\n _this6.controlCoordinates.targetOffsetY = _this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerHeight ? 0 : _this6.minMax(_this6.controlCoordinates.pointerOffsetY - (_this6.controlCoordinates.initialPointerOffsetY - _this6.controlCoordinates.initialOffsetY), _this6.controlCoordinates.limitOffsetY * -1, _this6.controlCoordinates.limitOffsetY);\n if (Math.abs(_this6.controlCoordinates.targetOffsetX) === Math.abs(_this6.controlCoordinates.limitOffsetX)) {\n _this6.controlCoordinates.initialOffsetX = _this6.controlCoordinates.targetOffsetX;\n _this6.controlCoordinates.initialPointerOffsetX = _this6.controlCoordinates.pointerOffsetX;\n }\n if (Math.abs(_this6.controlCoordinates.targetOffsetY) === Math.abs(_this6.controlCoordinates.limitOffsetY)) {\n _this6.controlCoordinates.initialOffsetY = _this6.controlCoordinates.targetOffsetY;\n _this6.controlCoordinates.initialPointerOffsetY = _this6.controlCoordinates.pointerOffsetY;\n }\n _this6.setZoomData(_this6.controlCoordinates.initialScale, _this6.controlCoordinates.targetOffsetX, _this6.controlCoordinates.targetOffsetY);\n _this6.zoomPanElement(_this6.controlCoordinates.targetOffsetX + \"px\", _this6.controlCoordinates.targetOffsetY + \"px\", _this6.controlCoordinates.targetScale);\n }\n if (!_this6.controlCoordinates.zoomed) {\n _this6.controlCoordinates.swipeEnd = event.pageX || event.touches[0].pageX;\n _this6.controlCoordinates.swipeYEnd = event.pageY || event.touches[0].pageY;\n _this6.controlCoordinates.swipeDiff = _this6.controlCoordinates.swipeStart - _this6.controlCoordinates.swipeEnd;\n _this6.controlCoordinates.swipeYDiff = _this6.controlCoordinates.swipeYStart - _this6.controlCoordinates.swipeYEnd;\n if (_this6.options.animationSlide) {\n _this6.slide(0, -_this6.controlCoordinates.swipeDiff + 'px');\n }\n }\n });\n this.addEventListener(this.domNodes.image, ['touchend.' + this.eventNamespace, 'mouseup.' + this.eventNamespace, 'touchcancel.' + this.eventNamespace, 'mouseleave.' + this.eventNamespace, 'pointerup', 'pointercancel', 'MSPointerUp', 'MSPointerCancel'], function (event) {\n if (_this6.isTouchDevice && event.type === 'touchend') {\n _this6.controlCoordinates.touchCount = event.touches.length;\n if (_this6.controlCoordinates.touchCount === 0) /* No touch */{\n /* Set attributes */\n if (_this6.currentImage) {\n _this6.setZoomData(_this6.controlCoordinates.initialScale, _this6.controlCoordinates.targetOffsetX, _this6.controlCoordinates.targetOffsetY);\n }\n if (_this6.controlCoordinates.initialScale === 1) {\n _this6.controlCoordinates.zoomed = false;\n if (_this6.domNodes.caption.style.display === 'none') {\n _this6.fadeIn(_this6.domNodes.caption, _this6.options.fadeSpeed);\n }\n }\n _this6.controlCoordinates.initialPinchDistance = null;\n _this6.controlCoordinates.capture = false;\n } else if (_this6.controlCoordinates.touchCount === 1) /* Single touch */{\n _this6.controlCoordinates.initialPointerOffsetX = event.touches[0].clientX;\n _this6.controlCoordinates.initialPointerOffsetY = event.touches[0].clientY;\n } else if (_this6.controlCoordinates.touchCount > 1) /* Pinch */{\n _this6.controlCoordinates.initialPinchDistance = null;\n }\n }\n if (_this6.controlCoordinates.mousedown) {\n _this6.controlCoordinates.mousedown = false;\n var possibleDir = true;\n if (!_this6.options.loop) {\n if (_this6.currentImageIndex === 0 && _this6.controlCoordinates.swipeDiff < 0) {\n possibleDir = false;\n }\n if (_this6.currentImageIndex >= _this6.relatedElements.length - 1 && _this6.controlCoordinates.swipeDiff > 0) {\n possibleDir = false;\n }\n }\n if (Math.abs(_this6.controlCoordinates.swipeDiff) > _this6.options.swipeTolerance && possibleDir) {\n _this6.loadImage(_this6.controlCoordinates.swipeDiff > 0 ? 1 : -1);\n } else if (_this6.options.animationSlide) {\n _this6.slide(_this6.options.animationSpeed / 1000, 0 + 'px');\n }\n if (_this6.options.swipeClose && Math.abs(_this6.controlCoordinates.swipeYDiff) > 50 && Math.abs(_this6.controlCoordinates.swipeDiff) < _this6.options.swipeTolerance) {\n _this6.close();\n }\n }\n });\n this.addEventListener(this.domNodes.image, ['dblclick'], function (event) {\n if (_this6.isTouchDevice) return;\n _this6.controlCoordinates.initialPointerOffsetX = event.clientX;\n _this6.controlCoordinates.initialPointerOffsetY = event.clientY;\n _this6.controlCoordinates.containerHeight = _this6.getDimensions(_this6.domNodes.image).height;\n _this6.controlCoordinates.containerWidth = _this6.getDimensions(_this6.domNodes.image).width;\n _this6.controlCoordinates.imgHeight = _this6.getDimensions(_this6.currentImage).height;\n _this6.controlCoordinates.imgWidth = _this6.getDimensions(_this6.currentImage).width;\n _this6.controlCoordinates.containerOffsetX = _this6.domNodes.image.offsetLeft;\n _this6.controlCoordinates.containerOffsetY = _this6.domNodes.image.offsetTop;\n _this6.currentImage.classList.add('sl-transition');\n if (!_this6.controlCoordinates.zoomed) {\n _this6.controlCoordinates.initialScale = _this6.options.doubleTapZoom;\n _this6.setZoomData(_this6.controlCoordinates.initialScale, 0, 0);\n _this6.zoomPanElement(0 + \"px\", 0 + \"px\", _this6.controlCoordinates.initialScale);\n if ((!_this6.domNodes.caption.style.opacity || _this6.domNodes.caption.style.opacity > 0) && _this6.domNodes.caption.style.display !== 'none') {\n _this6.fadeOut(_this6.domNodes.caption, _this6.options.fadeSpeed);\n }\n _this6.controlCoordinates.zoomed = true;\n } else {\n _this6.controlCoordinates.initialScale = 1;\n _this6.setZoomData(_this6.controlCoordinates.initialScale, 0, 0);\n _this6.zoomPanElement(0 + \"px\", 0 + \"px\", _this6.controlCoordinates.initialScale);\n _this6.controlCoordinates.zoomed = false;\n if (_this6.domNodes.caption.style.display === 'none') {\n _this6.fadeIn(_this6.domNodes.caption, _this6.options.fadeSpeed);\n }\n }\n setTimeout(function () {\n if (_this6.currentImage) {\n _this6.currentImage.classList.remove('sl-transition');\n _this6.currentImage.style[_this6.transitionPrefix + 'transform-origin'] = null;\n }\n }, 200);\n _this6.controlCoordinates.capture = true;\n return false;\n });\n }\n }, {\n key: \"getDimensions\",\n value: function getDimensions(element) {\n var styles = window.getComputedStyle(element),\n height = element.offsetHeight,\n width = element.offsetWidth,\n borderTopWidth = parseFloat(styles.borderTopWidth),\n borderBottomWidth = parseFloat(styles.borderBottomWidth),\n paddingTop = parseFloat(styles.paddingTop),\n paddingBottom = parseFloat(styles.paddingBottom),\n borderLeftWidth = parseFloat(styles.borderLeftWidth),\n borderRightWidth = parseFloat(styles.borderRightWidth),\n paddingLeft = parseFloat(styles.paddingLeft),\n paddingRight = parseFloat(styles.paddingRight);\n return {\n height: height - borderBottomWidth - borderTopWidth - paddingTop - paddingBottom,\n width: width - borderLeftWidth - borderRightWidth - paddingLeft - paddingRight\n };\n }\n }, {\n key: \"updateHash\",\n value: function updateHash() {\n var newHash = 'pid=' + (this.currentImageIndex + 1),\n newURL = window.location.href.split('#')[0] + '#' + newHash;\n this.hashReseted = false;\n if (this.pushStateSupport) {\n window.history[this.historyHasChanges ? 'replaceState' : 'pushState']('', document.title, newURL);\n } else {\n // what is the browser target of this?\n if (this.historyHasChanges) {\n window.location.replace(newURL);\n } else {\n window.location.hash = newHash;\n }\n }\n if (!this.historyHasChanges) {\n this.urlChangedOnce = true;\n }\n this.historyHasChanges = true;\n }\n }, {\n key: \"resetHash\",\n value: function resetHash() {\n this.hashReseted = true;\n if (this.urlChangedOnce) {\n history.back();\n } else {\n if (this.pushStateSupport) {\n history.pushState('', document.title, window.location.pathname + window.location.search);\n } else {\n window.location.hash = '';\n }\n }\n //\n //in case an history operation is still pending\n clearTimeout(this.historyUpdateTimeout);\n }\n }, {\n key: \"updateURL\",\n value: function updateURL() {\n clearTimeout(this.historyUpdateTimeout);\n if (!this.historyHasChanges) {\n this.updateHash(); // first time\n } else {\n this.historyUpdateTimeout = setTimeout(this.updateHash.bind(this), 800);\n }\n }\n }, {\n key: \"setCaption\",\n value: function setCaption(captionText, imageWidth) {\n var _this7 = this;\n if (this.options.captions && captionText && captionText !== '' && typeof captionText !== \"undefined\") {\n this.hide(this.domNodes.caption);\n this.domNodes.caption.style.width = imageWidth + 'px';\n this.domNodes.caption.innerHTML = captionText;\n this.domNodes.image.appendChild(this.domNodes.caption);\n setTimeout(function () {\n _this7.fadeIn(_this7.domNodes.caption, _this7.options.fadeSpeed);\n }, this.options.captionDelay);\n }\n }\n }, {\n key: \"slide\",\n value: function slide(speed, pos) {\n if (!this.transitionCapable) {\n return this.domNodes.image.style.left = pos;\n }\n this.domNodes.image.style[this.transitionPrefix + 'transform'] = 'translateX(' + pos + ')';\n this.domNodes.image.style[this.transitionPrefix + 'transition'] = this.transitionPrefix + 'transform ' + speed + 's linear';\n }\n }, {\n key: \"getRelated\",\n value: function getRelated(rel) {\n var elems;\n if (rel && rel !== false && rel !== 'nofollow') {\n elems = Array.from(this.elements).filter(function (element) {\n return element.getAttribute('rel') === rel;\n });\n } else {\n elems = this.elements;\n }\n return elems;\n }\n }, {\n key: \"openImage\",\n value: function openImage(element) {\n var _this8 = this;\n element.dispatchEvent(new Event('show.' + this.eventNamespace));\n this.globalScrollbarWidth = this.getScrollbarWidth();\n if (this.options.disableScroll) {\n this.toggleScrollbar('hide');\n this.globalScrollbarWidth = 0;\n }\n if (this.options.htmlClass && this.options.htmlClass !== '') {\n document.querySelector('html').classList.add(this.options.htmlClass);\n }\n document.body.appendChild(this.domNodes.wrapper);\n this.domNodes.wrapper.appendChild(this.domNodes.image);\n if (this.options.overlay) {\n document.body.appendChild(this.domNodes.overlay);\n }\n this.relatedElements = this.getRelated(element.rel);\n if (this.options.showCounter) {\n if (this.relatedElements.length == 1 && this.domNodes.wrapper.contains(this.domNodes.counter)) {\n this.domNodes.wrapper.removeChild(this.domNodes.counter);\n } else if (this.relatedElements.length > 1 && !this.domNodes.wrapper.contains(this.domNodes.counter)) {\n this.domNodes.wrapper.appendChild(this.domNodes.counter);\n }\n }\n if (this.options.download) {\n this.domNodes.wrapper.appendChild(this.domNodes.download);\n }\n this.isAnimating = true;\n this.currentImageIndex = this.relatedElements.indexOf(element);\n var targetURL = element.getAttribute(this.options.sourceAttr);\n this.currentImage = document.createElement('img');\n this.currentImage.style.display = 'none';\n this.currentImage.setAttribute('src', targetURL);\n this.currentImage.dataset.scale = 1;\n this.currentImage.dataset.translateX = 0;\n this.currentImage.dataset.translateY = 0;\n if (this.loadedImages.indexOf(targetURL) === -1) {\n this.loadedImages.push(targetURL);\n }\n this.domNodes.image.innerHTML = '';\n this.domNodes.image.setAttribute('style', '');\n this.domNodes.image.appendChild(this.currentImage);\n this.fadeIn(this.domNodes.overlay, this.options.fadeSpeed);\n this.fadeIn([this.domNodes.counter, this.domNodes.navigation, this.domNodes.closeButton, this.domNodes.download], this.options.fadeSpeed);\n this.show(this.domNodes.spinner);\n this.domNodes.counter.querySelector('.sl-current').innerHTML = this.currentImageIndex + 1;\n this.domNodes.counter.querySelector('.sl-total').innerHTML = this.relatedElements.length;\n this.adjustImage();\n if (this.options.preloading) {\n this.preload();\n }\n setTimeout(function () {\n element.dispatchEvent(new Event('shown.' + _this8.eventNamespace));\n }, this.options.animationSpeed);\n }\n }, {\n key: \"forceFocus\",\n value: function forceFocus() {\n var _this9 = this;\n this.removeEventListener(document, 'focusin.' + this.eventNamespace);\n this.addEventListener(document, 'focusin.' + this.eventNamespace, function (event) {\n if (document !== event.target && _this9.domNodes.wrapper !== event.target && !_this9.domNodes.wrapper.contains(event.target)) {\n _this9.domNodes.wrapper.focus();\n }\n });\n }\n\n // utility\n }, {\n key: \"addEventListener\",\n value: function addEventListener(elements, events, callback, opts) {\n elements = this.wrap(elements);\n events = this.wrap(events);\n var _iterator = _createForOfIteratorHelper(elements),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var element = _step.value;\n if (!element.namespaces) {\n element.namespaces = {};\n } // save the namespaces addEventListener the DOM element itself\n var _iterator2 = _createForOfIteratorHelper(events),\n _step2;\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var event = _step2.value;\n var options = opts || false;\n var needsPassiveFix = ['touchstart', 'touchmove', 'mousewheel', 'DOMMouseScroll'].indexOf(event.split('.')[0]) >= 0;\n if (needsPassiveFix && this.isPassiveEventsSupported) {\n if (_typeof(options) === 'object') {\n options.passive = true;\n } else {\n options = {\n passive: true\n };\n }\n }\n element.namespaces[event] = callback;\n element.addEventListener(event.split('.')[0], callback, options);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(elements, events) {\n elements = this.wrap(elements);\n events = this.wrap(events);\n var _iterator3 = _createForOfIteratorHelper(elements),\n _step3;\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var element = _step3.value;\n var _iterator4 = _createForOfIteratorHelper(events),\n _step4;\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var event = _step4.value;\n if (element.namespaces && element.namespaces[event]) {\n element.removeEventListener(event.split('.')[0], element.namespaces[event]);\n delete element.namespaces[event];\n }\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n }\n }, {\n key: \"fadeOut\",\n value: function fadeOut(elements, duration, callback) {\n var _this10 = this;\n elements = this.wrap(elements);\n var _iterator5 = _createForOfIteratorHelper(elements),\n _step5;\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var element = _step5.value;\n element.style.opacity = parseFloat(element) || window.getComputedStyle(element).getPropertyValue(\"opacity\");\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n this.isFadeIn = false;\n var step = 16.66666 / (duration || this.options.fadeSpeed),\n fade = function fade() {\n var currentOpacity = parseFloat(elements[0].style.opacity);\n if ((currentOpacity -= step) < 0) {\n var _iterator6 = _createForOfIteratorHelper(elements),\n _step6;\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var element = _step6.value;\n element.style.display = \"none\";\n // element.style.opacity = '';\n element.style.opacity = 1;\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n callback && callback.call(_this10, elements);\n } else {\n var _iterator7 = _createForOfIteratorHelper(elements),\n _step7;\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n var _element = _step7.value;\n _element.style.opacity = currentOpacity;\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n requestAnimationFrame(fade);\n }\n };\n fade();\n }\n }, {\n key: \"fadeIn\",\n value: function fadeIn(elements, duration, callback, display) {\n var _this11 = this;\n elements = this.wrap(elements);\n var _iterator8 = _createForOfIteratorHelper(elements),\n _step8;\n try {\n for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {\n var element = _step8.value;\n if (element) {\n element.style.opacity = 0;\n element.style.display = display || \"block\";\n }\n }\n } catch (err) {\n _iterator8.e(err);\n } finally {\n _iterator8.f();\n }\n this.isFadeIn = true;\n var opacityTarget = parseFloat(elements[0].dataset.opacityTarget || 1),\n step = 16.66666 * opacityTarget / (duration || this.options.fadeSpeed),\n fade = function fade() {\n var currentOpacity = parseFloat(elements[0].style.opacity);\n if (!((currentOpacity += step) > opacityTarget)) {\n var _iterator9 = _createForOfIteratorHelper(elements),\n _step9;\n try {\n for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {\n var element = _step9.value;\n if (element) {\n element.style.opacity = currentOpacity;\n }\n }\n } catch (err) {\n _iterator9.e(err);\n } finally {\n _iterator9.f();\n }\n if (!_this11.isFadeIn) return;\n requestAnimationFrame(fade);\n } else {\n var _iterator10 = _createForOfIteratorHelper(elements),\n _step10;\n try {\n for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {\n var _element2 = _step10.value;\n if (_element2) {\n _element2.style.opacity = opacityTarget;\n }\n }\n } catch (err) {\n _iterator10.e(err);\n } finally {\n _iterator10.f();\n }\n callback && callback.call(_this11, elements);\n }\n };\n fade();\n }\n }, {\n key: \"hide\",\n value: function hide(elements) {\n elements = this.wrap(elements);\n var _iterator11 = _createForOfIteratorHelper(elements),\n _step11;\n try {\n for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {\n var element = _step11.value;\n if (element.style.display != 'none') {\n element.dataset.initialDisplay = element.style.display;\n }\n element.style.display = 'none';\n }\n } catch (err) {\n _iterator11.e(err);\n } finally {\n _iterator11.f();\n }\n }\n }, {\n key: \"show\",\n value: function show(elements, display) {\n elements = this.wrap(elements);\n var _iterator12 = _createForOfIteratorHelper(elements),\n _step12;\n try {\n for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {\n var element = _step12.value;\n element.style.display = element.dataset.initialDisplay || display || 'block';\n }\n } catch (err) {\n _iterator12.e(err);\n } finally {\n _iterator12.f();\n }\n }\n }, {\n key: \"wrap\",\n value: function wrap(input) {\n return typeof input[Symbol.iterator] === 'function' && typeof input !== 'string' ? input : [input];\n }\n }, {\n key: \"on\",\n value: function on(events, callback) {\n events = this.wrap(events);\n var _iterator13 = _createForOfIteratorHelper(this.elements),\n _step13;\n try {\n for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {\n var element = _step13.value;\n if (!element.fullyNamespacedEvents) {\n element.fullyNamespacedEvents = {};\n }\n var _iterator14 = _createForOfIteratorHelper(events),\n _step14;\n try {\n for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) {\n var event = _step14.value;\n element.fullyNamespacedEvents[event] = callback;\n element.addEventListener(event, callback);\n }\n } catch (err) {\n _iterator14.e(err);\n } finally {\n _iterator14.f();\n }\n }\n } catch (err) {\n _iterator13.e(err);\n } finally {\n _iterator13.f();\n }\n return this;\n }\n }, {\n key: \"off\",\n value: function off(events) {\n events = this.wrap(events);\n var _iterator15 = _createForOfIteratorHelper(this.elements),\n _step15;\n try {\n for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) {\n var element = _step15.value;\n var _iterator16 = _createForOfIteratorHelper(events),\n _step16;\n try {\n for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) {\n var event = _step16.value;\n if (typeof element.fullyNamespacedEvents !== 'undefined' && event in element.fullyNamespacedEvents) {\n element.removeEventListener(event, element.fullyNamespacedEvents[event]);\n }\n }\n } catch (err) {\n _iterator16.e(err);\n } finally {\n _iterator16.f();\n }\n }\n } catch (err) {\n _iterator15.e(err);\n } finally {\n _iterator15.f();\n }\n return this;\n }\n\n // api\n }, {\n key: \"open\",\n value: function open(elem) {\n elem = elem || this.elements[0];\n if (typeof jQuery !== \"undefined\" && elem instanceof jQuery) {\n elem = elem.get(0);\n }\n this.initialImageIndex = this.elements.indexOf(elem);\n if (this.initialImageIndex > -1) {\n this.openImage(elem);\n }\n }\n }, {\n key: \"next\",\n value: function next() {\n this.loadImage(1);\n }\n }, {\n key: \"prev\",\n value: function prev() {\n this.loadImage(-1);\n }\n\n // get some useful data\n }, {\n key: \"getLighboxData\",\n value: function getLighboxData() {\n return {\n currentImageIndex: this.currentImageIndex,\n currentImage: this.currentImage,\n globalScrollbarWidth: this.globalScrollbarWidth\n };\n }\n\n //close is exposed anyways..\n }, {\n key: \"destroy\",\n value: function destroy() {\n //remove all custom event listeners from elements\n this.off(['close.' + this.eventNamespace, 'closed.' + this.eventNamespace, 'nextImageLoaded.' + this.eventNamespace, 'prevImageLoaded.' + this.eventNamespace, 'change.' + this.eventNamespace, 'nextDone.' + this.eventNamespace, 'prevDone.' + this.eventNamespace, 'error.' + this.eventNamespace, 'changed.' + this.eventNamespace, 'next.' + this.eventNamespace, 'prev.' + this.eventNamespace, 'show.' + this.eventNamespace, 'shown.' + this.eventNamespace]);\n this.removeEventListener(this.elements, 'click.' + this.eventNamespace);\n this.removeEventListener(document, 'focusin.' + this.eventNamespace);\n this.removeEventListener(document.body, 'contextmenu.' + this.eventNamespace);\n this.removeEventListener(document.body, 'keyup.' + this.eventNamespace);\n this.removeEventListener(this.domNodes.navigation.getElementsByTagName('button'), 'click.' + this.eventNamespace);\n this.removeEventListener(this.domNodes.closeButton, 'click.' + this.eventNamespace);\n this.removeEventListener(window, 'resize.' + this.eventNamespace);\n this.removeEventListener(window, 'hashchange.' + this.eventNamespace);\n this.close();\n if (this.isOpen) {\n document.body.removeChild(this.domNodes.wrapper);\n document.body.removeChild(this.domNodes.overlay);\n }\n this.elements = null;\n }\n }, {\n key: \"refresh\",\n value: function refresh() {\n if (!this.initialSelector) {\n throw 'refreshing only works when you initialize using a selector!';\n }\n var options = this.options,\n selector = this.initialSelector;\n this.destroy();\n this.constructor(selector, options);\n return this;\n }\n }]);\n return SimpleLightbox;\n}();\nvar _default = SimpleLightbox;\nexports[\"default\"] = _default;\nglobal.SimpleLightbox = SimpleLightbox;","/**\n * SSR Window 3.0.0\n * Better handling for window object in SSR environment\n * https://github.com/nolimits4web/ssr-window\n *\n * Copyright 2020, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: November 9, 2020\n */\n/* eslint-disable no-param-reassign */\nfunction isObject(obj) {\n return (obj !== null &&\n typeof obj === 'object' &&\n 'constructor' in obj &&\n obj.constructor === Object);\n}\nfunction extend(target, src) {\n if (target === void 0) { target = {}; }\n if (src === void 0) { src = {}; }\n Object.keys(src).forEach(function (key) {\n if (typeof target[key] === 'undefined')\n target[key] = src[key];\n else if (isObject(src[key]) &&\n isObject(target[key]) &&\n Object.keys(src[key]).length > 0) {\n extend(target[key], src[key]);\n }\n });\n}\n\nvar ssrDocument = {\n body: {},\n addEventListener: function () { },\n removeEventListener: function () { },\n activeElement: {\n blur: function () { },\n nodeName: '',\n },\n querySelector: function () {\n return null;\n },\n querySelectorAll: function () {\n return [];\n },\n getElementById: function () {\n return null;\n },\n createEvent: function () {\n return {\n initEvent: function () { },\n };\n },\n createElement: function () {\n return {\n children: [],\n childNodes: [],\n style: {},\n setAttribute: function () { },\n getElementsByTagName: function () {\n return [];\n },\n };\n },\n createElementNS: function () {\n return {};\n },\n importNode: function () {\n return null;\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n};\nfunction getDocument() {\n var doc = typeof document !== 'undefined' ? document : {};\n extend(doc, ssrDocument);\n return doc;\n}\n\nvar ssrWindow = {\n document: ssrDocument,\n navigator: {\n userAgent: '',\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n history: {\n replaceState: function () { },\n pushState: function () { },\n go: function () { },\n back: function () { },\n },\n CustomEvent: function CustomEvent() {\n return this;\n },\n addEventListener: function () { },\n removeEventListener: function () { },\n getComputedStyle: function () {\n return {\n getPropertyValue: function () {\n return '';\n },\n };\n },\n Image: function () { },\n Date: function () { },\n screen: {},\n setTimeout: function () { },\n clearTimeout: function () { },\n matchMedia: function () {\n return {};\n },\n requestAnimationFrame: function (callback) {\n if (typeof setTimeout === 'undefined') {\n callback();\n return null;\n }\n return setTimeout(callback, 0);\n },\n cancelAnimationFrame: function (id) {\n if (typeof setTimeout === 'undefined') {\n return;\n }\n clearTimeout(id);\n },\n};\nfunction getWindow() {\n var win = typeof window !== 'undefined' ? window : {};\n extend(win, ssrWindow);\n return win;\n}\n\nexport { extend, getDocument, getWindow, ssrDocument, ssrWindow };\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport $ from '../../utils/dom';\nimport { bindModuleMethods, classesToSelector } from '../../utils/utils';\nvar A11y = {\n getRandomNumber: function getRandomNumber(size) {\n if (size === void 0) {\n size = 16;\n }\n\n var randomChar = function randomChar() {\n return Math.round(16 * Math.random()).toString(16);\n };\n\n return 'x'.repeat(size).replace(/x/g, randomChar);\n },\n makeElFocusable: function makeElFocusable($el) {\n $el.attr('tabIndex', '0');\n return $el;\n },\n makeElNotFocusable: function makeElNotFocusable($el) {\n $el.attr('tabIndex', '-1');\n return $el;\n },\n addElRole: function addElRole($el, role) {\n $el.attr('role', role);\n return $el;\n },\n addElRoleDescription: function addElRoleDescription($el, description) {\n $el.attr('aria-roledescription', description);\n return $el;\n },\n addElControls: function addElControls($el, controls) {\n $el.attr('aria-controls', controls);\n return $el;\n },\n addElLabel: function addElLabel($el, label) {\n $el.attr('aria-label', label);\n return $el;\n },\n addElId: function addElId($el, id) {\n $el.attr('id', id);\n return $el;\n },\n addElLive: function addElLive($el, live) {\n $el.attr('aria-live', live);\n return $el;\n },\n disableEl: function disableEl($el) {\n $el.attr('aria-disabled', true);\n return $el;\n },\n enableEl: function enableEl($el) {\n $el.attr('aria-disabled', false);\n return $el;\n },\n onEnterOrSpaceKey: function onEnterOrSpaceKey(e) {\n if (e.keyCode !== 13 && e.keyCode !== 32) return;\n var swiper = this;\n var params = swiper.params.a11y;\n var $targetEl = $(e.target);\n\n if (swiper.navigation && swiper.navigation.$nextEl && $targetEl.is(swiper.navigation.$nextEl)) {\n if (!(swiper.isEnd && !swiper.params.loop)) {\n swiper.slideNext();\n }\n\n if (swiper.isEnd) {\n swiper.a11y.notify(params.lastSlideMessage);\n } else {\n swiper.a11y.notify(params.nextSlideMessage);\n }\n }\n\n if (swiper.navigation && swiper.navigation.$prevEl && $targetEl.is(swiper.navigation.$prevEl)) {\n if (!(swiper.isBeginning && !swiper.params.loop)) {\n swiper.slidePrev();\n }\n\n if (swiper.isBeginning) {\n swiper.a11y.notify(params.firstSlideMessage);\n } else {\n swiper.a11y.notify(params.prevSlideMessage);\n }\n }\n\n if (swiper.pagination && $targetEl.is(classesToSelector(swiper.params.pagination.bulletClass))) {\n $targetEl[0].click();\n }\n },\n notify: function notify(message) {\n var swiper = this;\n var notification = swiper.a11y.liveRegion;\n if (notification.length === 0) return;\n notification.html('');\n notification.html(message);\n },\n updateNavigation: function updateNavigation() {\n var swiper = this;\n if (swiper.params.loop || !swiper.navigation) return;\n var _swiper$navigation = swiper.navigation,\n $nextEl = _swiper$navigation.$nextEl,\n $prevEl = _swiper$navigation.$prevEl;\n\n if ($prevEl && $prevEl.length > 0) {\n if (swiper.isBeginning) {\n swiper.a11y.disableEl($prevEl);\n swiper.a11y.makeElNotFocusable($prevEl);\n } else {\n swiper.a11y.enableEl($prevEl);\n swiper.a11y.makeElFocusable($prevEl);\n }\n }\n\n if ($nextEl && $nextEl.length > 0) {\n if (swiper.isEnd) {\n swiper.a11y.disableEl($nextEl);\n swiper.a11y.makeElNotFocusable($nextEl);\n } else {\n swiper.a11y.enableEl($nextEl);\n swiper.a11y.makeElFocusable($nextEl);\n }\n }\n },\n updatePagination: function updatePagination() {\n var swiper = this;\n var params = swiper.params.a11y;\n\n if (swiper.pagination && swiper.params.pagination.clickable && swiper.pagination.bullets && swiper.pagination.bullets.length) {\n swiper.pagination.bullets.each(function (bulletEl) {\n var $bulletEl = $(bulletEl);\n swiper.a11y.makeElFocusable($bulletEl);\n\n if (!swiper.params.pagination.renderBullet) {\n swiper.a11y.addElRole($bulletEl, 'button');\n swiper.a11y.addElLabel($bulletEl, params.paginationBulletMessage.replace(/\\{\\{index\\}\\}/, $bulletEl.index() + 1));\n }\n });\n }\n },\n init: function init() {\n var swiper = this;\n var params = swiper.params.a11y;\n swiper.$el.append(swiper.a11y.liveRegion); // Container\n\n var $containerEl = swiper.$el;\n\n if (params.containerRoleDescriptionMessage) {\n swiper.a11y.addElRoleDescription($containerEl, params.containerRoleDescriptionMessage);\n }\n\n if (params.containerMessage) {\n swiper.a11y.addElLabel($containerEl, params.containerMessage);\n } // Wrapper\n\n\n var $wrapperEl = swiper.$wrapperEl;\n var wrapperId = $wrapperEl.attr('id') || \"swiper-wrapper-\" + swiper.a11y.getRandomNumber(16);\n var live = swiper.params.autoplay && swiper.params.autoplay.enabled ? 'off' : 'polite';\n swiper.a11y.addElId($wrapperEl, wrapperId);\n swiper.a11y.addElLive($wrapperEl, live); // Slide\n\n if (params.itemRoleDescriptionMessage) {\n swiper.a11y.addElRoleDescription($(swiper.slides), params.itemRoleDescriptionMessage);\n }\n\n swiper.a11y.addElRole($(swiper.slides), params.slideRole);\n var slidesLength = swiper.params.loop ? swiper.slides.filter(function (el) {\n return !el.classList.contains(swiper.params.slideDuplicateClass);\n }).length : swiper.slides.length;\n swiper.slides.each(function (slideEl, index) {\n var $slideEl = $(slideEl);\n var slideIndex = swiper.params.loop ? parseInt($slideEl.attr('data-swiper-slide-index'), 10) : index;\n var ariaLabelMessage = params.slideLabelMessage.replace(/\\{\\{index\\}\\}/, slideIndex + 1).replace(/\\{\\{slidesLength\\}\\}/, slidesLength);\n swiper.a11y.addElLabel($slideEl, ariaLabelMessage);\n }); // Navigation\n\n var $nextEl;\n var $prevEl;\n\n if (swiper.navigation && swiper.navigation.$nextEl) {\n $nextEl = swiper.navigation.$nextEl;\n }\n\n if (swiper.navigation && swiper.navigation.$prevEl) {\n $prevEl = swiper.navigation.$prevEl;\n }\n\n if ($nextEl && $nextEl.length) {\n swiper.a11y.makeElFocusable($nextEl);\n\n if ($nextEl[0].tagName !== 'BUTTON') {\n swiper.a11y.addElRole($nextEl, 'button');\n $nextEl.on('keydown', swiper.a11y.onEnterOrSpaceKey);\n }\n\n swiper.a11y.addElLabel($nextEl, params.nextSlideMessage);\n swiper.a11y.addElControls($nextEl, wrapperId);\n }\n\n if ($prevEl && $prevEl.length) {\n swiper.a11y.makeElFocusable($prevEl);\n\n if ($prevEl[0].tagName !== 'BUTTON') {\n swiper.a11y.addElRole($prevEl, 'button');\n $prevEl.on('keydown', swiper.a11y.onEnterOrSpaceKey);\n }\n\n swiper.a11y.addElLabel($prevEl, params.prevSlideMessage);\n swiper.a11y.addElControls($prevEl, wrapperId);\n } // Pagination\n\n\n if (swiper.pagination && swiper.params.pagination.clickable && swiper.pagination.bullets && swiper.pagination.bullets.length) {\n swiper.pagination.$el.on('keydown', classesToSelector(swiper.params.pagination.bulletClass), swiper.a11y.onEnterOrSpaceKey);\n }\n },\n destroy: function destroy() {\n var swiper = this;\n if (swiper.a11y.liveRegion && swiper.a11y.liveRegion.length > 0) swiper.a11y.liveRegion.remove();\n var $nextEl;\n var $prevEl;\n\n if (swiper.navigation && swiper.navigation.$nextEl) {\n $nextEl = swiper.navigation.$nextEl;\n }\n\n if (swiper.navigation && swiper.navigation.$prevEl) {\n $prevEl = swiper.navigation.$prevEl;\n }\n\n if ($nextEl) {\n $nextEl.off('keydown', swiper.a11y.onEnterOrSpaceKey);\n }\n\n if ($prevEl) {\n $prevEl.off('keydown', swiper.a11y.onEnterOrSpaceKey);\n } // Pagination\n\n\n if (swiper.pagination && swiper.params.pagination.clickable && swiper.pagination.bullets && swiper.pagination.bullets.length) {\n swiper.pagination.$el.off('keydown', classesToSelector(swiper.params.pagination.bulletClass), swiper.a11y.onEnterOrSpaceKey);\n }\n }\n};\nexport default {\n name: 'a11y',\n params: {\n a11y: {\n enabled: true,\n notificationClass: 'swiper-notification',\n prevSlideMessage: 'Previous slide',\n nextSlideMessage: 'Next slide',\n firstSlideMessage: 'This is the first slide',\n lastSlideMessage: 'This is the last slide',\n paginationBulletMessage: 'Go to slide {{index}}',\n slideLabelMessage: '{{index}} / {{slidesLength}}',\n containerMessage: null,\n containerRoleDescriptionMessage: null,\n itemRoleDescriptionMessage: null,\n slideRole: 'group'\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n a11y: _extends({}, A11y, {\n liveRegion: $(\"\")\n })\n });\n },\n on: {\n afterInit: function afterInit(swiper) {\n if (!swiper.params.a11y.enabled) return;\n swiper.a11y.init();\n swiper.a11y.updateNavigation();\n },\n toEdge: function toEdge(swiper) {\n if (!swiper.params.a11y.enabled) return;\n swiper.a11y.updateNavigation();\n },\n fromEdge: function fromEdge(swiper) {\n if (!swiper.params.a11y.enabled) return;\n swiper.a11y.updateNavigation();\n },\n paginationUpdate: function paginationUpdate(swiper) {\n if (!swiper.params.a11y.enabled) return;\n swiper.a11y.updatePagination();\n },\n destroy: function destroy(swiper) {\n if (!swiper.params.a11y.enabled) return;\n swiper.a11y.destroy();\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\n/* eslint no-underscore-dangle: \"off\" */\nimport { getDocument } from 'ssr-window';\nimport { nextTick, bindModuleMethods } from '../../utils/utils';\nvar Autoplay = {\n run: function run() {\n var swiper = this;\n var $activeSlideEl = swiper.slides.eq(swiper.activeIndex);\n var delay = swiper.params.autoplay.delay;\n\n if ($activeSlideEl.attr('data-swiper-autoplay')) {\n delay = $activeSlideEl.attr('data-swiper-autoplay') || swiper.params.autoplay.delay;\n }\n\n clearTimeout(swiper.autoplay.timeout);\n swiper.autoplay.timeout = nextTick(function () {\n var autoplayResult;\n\n if (swiper.params.autoplay.reverseDirection) {\n if (swiper.params.loop) {\n swiper.loopFix();\n autoplayResult = swiper.slidePrev(swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else if (!swiper.isBeginning) {\n autoplayResult = swiper.slidePrev(swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\n autoplayResult = swiper.slideTo(swiper.slides.length - 1, swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else {\n swiper.autoplay.stop();\n }\n } else if (swiper.params.loop) {\n swiper.loopFix();\n autoplayResult = swiper.slideNext(swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else if (!swiper.isEnd) {\n autoplayResult = swiper.slideNext(swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\n autoplayResult = swiper.slideTo(0, swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else {\n swiper.autoplay.stop();\n }\n\n if (swiper.params.cssMode && swiper.autoplay.running) swiper.autoplay.run();else if (autoplayResult === false) {\n swiper.autoplay.run();\n }\n }, delay);\n },\n start: function start() {\n var swiper = this;\n if (typeof swiper.autoplay.timeout !== 'undefined') return false;\n if (swiper.autoplay.running) return false;\n swiper.autoplay.running = true;\n swiper.emit('autoplayStart');\n swiper.autoplay.run();\n return true;\n },\n stop: function stop() {\n var swiper = this;\n if (!swiper.autoplay.running) return false;\n if (typeof swiper.autoplay.timeout === 'undefined') return false;\n\n if (swiper.autoplay.timeout) {\n clearTimeout(swiper.autoplay.timeout);\n swiper.autoplay.timeout = undefined;\n }\n\n swiper.autoplay.running = false;\n swiper.emit('autoplayStop');\n return true;\n },\n pause: function pause(speed) {\n var swiper = this;\n if (!swiper.autoplay.running) return;\n if (swiper.autoplay.paused) return;\n if (swiper.autoplay.timeout) clearTimeout(swiper.autoplay.timeout);\n swiper.autoplay.paused = true;\n\n if (speed === 0 || !swiper.params.autoplay.waitForTransition) {\n swiper.autoplay.paused = false;\n swiper.autoplay.run();\n } else {\n ['transitionend', 'webkitTransitionEnd'].forEach(function (event) {\n swiper.$wrapperEl[0].addEventListener(event, swiper.autoplay.onTransitionEnd);\n });\n }\n },\n onVisibilityChange: function onVisibilityChange() {\n var swiper = this;\n var document = getDocument();\n\n if (document.visibilityState === 'hidden' && swiper.autoplay.running) {\n swiper.autoplay.pause();\n }\n\n if (document.visibilityState === 'visible' && swiper.autoplay.paused) {\n swiper.autoplay.run();\n swiper.autoplay.paused = false;\n }\n },\n onTransitionEnd: function onTransitionEnd(e) {\n var swiper = this;\n if (!swiper || swiper.destroyed || !swiper.$wrapperEl) return;\n if (e.target !== swiper.$wrapperEl[0]) return;\n ['transitionend', 'webkitTransitionEnd'].forEach(function (event) {\n swiper.$wrapperEl[0].removeEventListener(event, swiper.autoplay.onTransitionEnd);\n });\n swiper.autoplay.paused = false;\n\n if (!swiper.autoplay.running) {\n swiper.autoplay.stop();\n } else {\n swiper.autoplay.run();\n }\n },\n onMouseEnter: function onMouseEnter() {\n var swiper = this;\n\n if (swiper.params.autoplay.disableOnInteraction) {\n swiper.autoplay.stop();\n } else {\n swiper.autoplay.pause();\n }\n\n ['transitionend', 'webkitTransitionEnd'].forEach(function (event) {\n swiper.$wrapperEl[0].removeEventListener(event, swiper.autoplay.onTransitionEnd);\n });\n },\n onMouseLeave: function onMouseLeave() {\n var swiper = this;\n\n if (swiper.params.autoplay.disableOnInteraction) {\n return;\n }\n\n swiper.autoplay.paused = false;\n swiper.autoplay.run();\n },\n attachMouseEvents: function attachMouseEvents() {\n var swiper = this;\n\n if (swiper.params.autoplay.pauseOnMouseEnter) {\n swiper.$el.on('mouseenter', swiper.autoplay.onMouseEnter);\n swiper.$el.on('mouseleave', swiper.autoplay.onMouseLeave);\n }\n },\n detachMouseEvents: function detachMouseEvents() {\n var swiper = this;\n swiper.$el.off('mouseenter', swiper.autoplay.onMouseEnter);\n swiper.$el.off('mouseleave', swiper.autoplay.onMouseLeave);\n }\n};\nexport default {\n name: 'autoplay',\n params: {\n autoplay: {\n enabled: false,\n delay: 3000,\n waitForTransition: true,\n disableOnInteraction: true,\n stopOnLastSlide: false,\n reverseDirection: false,\n pauseOnMouseEnter: false\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n autoplay: _extends({}, Autoplay, {\n running: false,\n paused: false\n })\n });\n },\n on: {\n init: function init(swiper) {\n if (swiper.params.autoplay.enabled) {\n swiper.autoplay.start();\n var document = getDocument();\n document.addEventListener('visibilitychange', swiper.autoplay.onVisibilityChange);\n swiper.autoplay.attachMouseEvents();\n }\n },\n beforeTransitionStart: function beforeTransitionStart(swiper, speed, internal) {\n if (swiper.autoplay.running) {\n if (internal || !swiper.params.autoplay.disableOnInteraction) {\n swiper.autoplay.pause(speed);\n } else {\n swiper.autoplay.stop();\n }\n }\n },\n sliderFirstMove: function sliderFirstMove(swiper) {\n if (swiper.autoplay.running) {\n if (swiper.params.autoplay.disableOnInteraction) {\n swiper.autoplay.stop();\n } else {\n swiper.autoplay.pause();\n }\n }\n },\n touchEnd: function touchEnd(swiper) {\n if (swiper.params.cssMode && swiper.autoplay.paused && !swiper.params.autoplay.disableOnInteraction) {\n swiper.autoplay.run();\n }\n },\n destroy: function destroy(swiper) {\n swiper.autoplay.detachMouseEvents();\n\n if (swiper.autoplay.running) {\n swiper.autoplay.stop();\n }\n\n var document = getDocument();\n document.removeEventListener('visibilitychange', swiper.autoplay.onVisibilityChange);\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\n/* eslint no-bitwise: [\"error\", { \"allow\": [\">>\"] }] */\nimport { nextTick, bindModuleMethods } from '../../utils/utils';\nvar Controller = {\n LinearSpline: function LinearSpline(x, y) {\n var binarySearch = function search() {\n var maxIndex;\n var minIndex;\n var guess;\n return function (array, val) {\n minIndex = -1;\n maxIndex = array.length;\n\n while (maxIndex - minIndex > 1) {\n guess = maxIndex + minIndex >> 1;\n\n if (array[guess] <= val) {\n minIndex = guess;\n } else {\n maxIndex = guess;\n }\n }\n\n return maxIndex;\n };\n }();\n\n this.x = x;\n this.y = y;\n this.lastIndex = x.length - 1; // Given an x value (x2), return the expected y2 value:\n // (x1,y1) is the known point before given value,\n // (x3,y3) is the known point after given value.\n\n var i1;\n var i3;\n\n this.interpolate = function interpolate(x2) {\n if (!x2) return 0; // Get the indexes of x1 and x3 (the array indexes before and after given x2):\n\n i3 = binarySearch(this.x, x2);\n i1 = i3 - 1; // We have our indexes i1 & i3, so we can calculate already:\n // y2 := ((x2−x1) × (y3−y1)) ÷ (x3−x1) + y1\n\n return (x2 - this.x[i1]) * (this.y[i3] - this.y[i1]) / (this.x[i3] - this.x[i1]) + this.y[i1];\n };\n\n return this;\n },\n // xxx: for now i will just save one spline function to to\n getInterpolateFunction: function getInterpolateFunction(c) {\n var swiper = this;\n\n if (!swiper.controller.spline) {\n swiper.controller.spline = swiper.params.loop ? new Controller.LinearSpline(swiper.slidesGrid, c.slidesGrid) : new Controller.LinearSpline(swiper.snapGrid, c.snapGrid);\n }\n },\n setTranslate: function setTranslate(_setTranslate, byController) {\n var swiper = this;\n var controlled = swiper.controller.control;\n var multiplier;\n var controlledTranslate;\n var Swiper = swiper.constructor;\n\n function setControlledTranslate(c) {\n // this will create an Interpolate function based on the snapGrids\n // x is the Grid of the scrolled scroller and y will be the controlled scroller\n // it makes sense to create this only once and recall it for the interpolation\n // the function does a lot of value caching for performance\n var translate = swiper.rtlTranslate ? -swiper.translate : swiper.translate;\n\n if (swiper.params.controller.by === 'slide') {\n swiper.controller.getInterpolateFunction(c); // i am not sure why the values have to be multiplicated this way, tried to invert the snapGrid\n // but it did not work out\n\n controlledTranslate = -swiper.controller.spline.interpolate(-translate);\n }\n\n if (!controlledTranslate || swiper.params.controller.by === 'container') {\n multiplier = (c.maxTranslate() - c.minTranslate()) / (swiper.maxTranslate() - swiper.minTranslate());\n controlledTranslate = (translate - swiper.minTranslate()) * multiplier + c.minTranslate();\n }\n\n if (swiper.params.controller.inverse) {\n controlledTranslate = c.maxTranslate() - controlledTranslate;\n }\n\n c.updateProgress(controlledTranslate);\n c.setTranslate(controlledTranslate, swiper);\n c.updateActiveIndex();\n c.updateSlidesClasses();\n }\n\n if (Array.isArray(controlled)) {\n for (var i = 0; i < controlled.length; i += 1) {\n if (controlled[i] !== byController && controlled[i] instanceof Swiper) {\n setControlledTranslate(controlled[i]);\n }\n }\n } else if (controlled instanceof Swiper && byController !== controlled) {\n setControlledTranslate(controlled);\n }\n },\n setTransition: function setTransition(duration, byController) {\n var swiper = this;\n var Swiper = swiper.constructor;\n var controlled = swiper.controller.control;\n var i;\n\n function setControlledTransition(c) {\n c.setTransition(duration, swiper);\n\n if (duration !== 0) {\n c.transitionStart();\n\n if (c.params.autoHeight) {\n nextTick(function () {\n c.updateAutoHeight();\n });\n }\n\n c.$wrapperEl.transitionEnd(function () {\n if (!controlled) return;\n\n if (c.params.loop && swiper.params.controller.by === 'slide') {\n c.loopFix();\n }\n\n c.transitionEnd();\n });\n }\n }\n\n if (Array.isArray(controlled)) {\n for (i = 0; i < controlled.length; i += 1) {\n if (controlled[i] !== byController && controlled[i] instanceof Swiper) {\n setControlledTransition(controlled[i]);\n }\n }\n } else if (controlled instanceof Swiper && byController !== controlled) {\n setControlledTransition(controlled);\n }\n }\n};\nexport default {\n name: 'controller',\n params: {\n controller: {\n control: undefined,\n inverse: false,\n by: 'slide' // or 'container'\n\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n controller: _extends({\n control: swiper.params.controller.control\n }, Controller)\n });\n },\n on: {\n update: function update(swiper) {\n if (!swiper.controller.control) return;\n\n if (swiper.controller.spline) {\n swiper.controller.spline = undefined;\n delete swiper.controller.spline;\n }\n },\n resize: function resize(swiper) {\n if (!swiper.controller.control) return;\n\n if (swiper.controller.spline) {\n swiper.controller.spline = undefined;\n delete swiper.controller.spline;\n }\n },\n observerUpdate: function observerUpdate(swiper) {\n if (!swiper.controller.control) return;\n\n if (swiper.controller.spline) {\n swiper.controller.spline = undefined;\n delete swiper.controller.spline;\n }\n },\n setTranslate: function setTranslate(swiper, translate, byController) {\n if (!swiper.controller.control) return;\n swiper.controller.setTranslate(translate, byController);\n },\n setTransition: function setTransition(swiper, duration, byController) {\n if (!swiper.controller.control) return;\n swiper.controller.setTransition(duration, byController);\n }\n }\n};","import { getWindow } from 'ssr-window';\nexport default function getBreakpoint(breakpoints, base, containerEl) {\n if (base === void 0) {\n base = 'window';\n }\n\n if (!breakpoints || base === 'container' && !containerEl) return undefined;\n var breakpoint = false;\n var window = getWindow();\n var currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight;\n var points = Object.keys(breakpoints).map(function (point) {\n if (typeof point === 'string' && point.indexOf('@') === 0) {\n var minRatio = parseFloat(point.substr(1));\n var value = currentHeight * minRatio;\n return {\n value: value,\n point: point\n };\n }\n\n return {\n value: point,\n point: point\n };\n });\n points.sort(function (a, b) {\n return parseInt(a.value, 10) - parseInt(b.value, 10);\n });\n\n for (var i = 0; i < points.length; i += 1) {\n var _points$i = points[i],\n point = _points$i.point,\n value = _points$i.value;\n\n if (base === 'window') {\n if (window.matchMedia(\"(min-width: \" + value + \"px)\").matches) {\n breakpoint = point;\n }\n } else if (value <= containerEl.clientWidth) {\n breakpoint = point;\n }\n }\n\n return breakpoint || 'max';\n}","import setBreakpoint from './setBreakpoint';\nimport getBreakpoint from './getBreakpoint';\nexport default {\n setBreakpoint: setBreakpoint,\n getBreakpoint: getBreakpoint\n};","import { extend } from '../../../utils/utils';\nexport default function setBreakpoint() {\n var swiper = this;\n var activeIndex = swiper.activeIndex,\n initialized = swiper.initialized,\n _swiper$loopedSlides = swiper.loopedSlides,\n loopedSlides = _swiper$loopedSlides === void 0 ? 0 : _swiper$loopedSlides,\n params = swiper.params,\n $el = swiper.$el;\n var breakpoints = params.breakpoints;\n if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return; // Get breakpoint for window width and update parameters\n\n var breakpoint = swiper.getBreakpoint(breakpoints, swiper.params.breakpointsBase, swiper.el);\n if (!breakpoint || swiper.currentBreakpoint === breakpoint) return;\n var breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined;\n\n if (breakpointOnlyParams) {\n ['slidesPerView', 'spaceBetween', 'slidesPerGroup', 'slidesPerGroupSkip', 'slidesPerColumn'].forEach(function (param) {\n var paramValue = breakpointOnlyParams[param];\n if (typeof paramValue === 'undefined') return;\n\n if (param === 'slidesPerView' && (paramValue === 'AUTO' || paramValue === 'auto')) {\n breakpointOnlyParams[param] = 'auto';\n } else if (param === 'slidesPerView') {\n breakpointOnlyParams[param] = parseFloat(paramValue);\n } else {\n breakpointOnlyParams[param] = parseInt(paramValue, 10);\n }\n });\n }\n\n var breakpointParams = breakpointOnlyParams || swiper.originalParams;\n var wasMultiRow = params.slidesPerColumn > 1;\n var isMultiRow = breakpointParams.slidesPerColumn > 1;\n var wasEnabled = params.enabled;\n\n if (wasMultiRow && !isMultiRow) {\n $el.removeClass(params.containerModifierClass + \"multirow \" + params.containerModifierClass + \"multirow-column\");\n swiper.emitContainerClasses();\n } else if (!wasMultiRow && isMultiRow) {\n $el.addClass(params.containerModifierClass + \"multirow\");\n\n if (breakpointParams.slidesPerColumnFill && breakpointParams.slidesPerColumnFill === 'column' || !breakpointParams.slidesPerColumnFill && params.slidesPerColumnFill === 'column') {\n $el.addClass(params.containerModifierClass + \"multirow-column\");\n }\n\n swiper.emitContainerClasses();\n }\n\n var directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction;\n var needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged);\n\n if (directionChanged && initialized) {\n swiper.changeDirection();\n }\n\n extend(swiper.params, breakpointParams);\n var isEnabled = swiper.params.enabled;\n extend(swiper, {\n allowTouchMove: swiper.params.allowTouchMove,\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev\n });\n\n if (wasEnabled && !isEnabled) {\n swiper.disable();\n } else if (!wasEnabled && isEnabled) {\n swiper.enable();\n }\n\n swiper.currentBreakpoint = breakpoint;\n swiper.emit('_beforeBreakpoint', breakpointParams);\n\n if (needsReLoop && initialized) {\n swiper.loopDestroy();\n swiper.loopCreate();\n swiper.updateSlides();\n swiper.slideTo(activeIndex - loopedSlides + swiper.loopedSlides, 0, false);\n }\n\n swiper.emit('breakpoint', breakpointParams);\n}","function checkOverflow() {\n var swiper = this;\n var params = swiper.params;\n var wasLocked = swiper.isLocked;\n var lastSlidePosition = swiper.slides.length > 0 && params.slidesOffsetBefore + params.spaceBetween * (swiper.slides.length - 1) + swiper.slides[0].offsetWidth * swiper.slides.length;\n\n if (params.slidesOffsetBefore && params.slidesOffsetAfter && lastSlidePosition) {\n swiper.isLocked = lastSlidePosition <= swiper.size;\n } else {\n swiper.isLocked = swiper.snapGrid.length === 1;\n }\n\n swiper.allowSlideNext = !swiper.isLocked;\n swiper.allowSlidePrev = !swiper.isLocked; // events\n\n if (wasLocked !== swiper.isLocked) swiper.emit(swiper.isLocked ? 'lock' : 'unlock');\n\n if (wasLocked && wasLocked !== swiper.isLocked) {\n swiper.isEnd = false;\n if (swiper.navigation) swiper.navigation.update();\n }\n}\n\nexport default {\n checkOverflow: checkOverflow\n};","function prepareClasses(entries, prefix) {\n var resultClasses = [];\n entries.forEach(function (item) {\n if (typeof item === 'object') {\n Object.keys(item).forEach(function (classNames) {\n if (item[classNames]) {\n resultClasses.push(prefix + classNames);\n }\n });\n } else if (typeof item === 'string') {\n resultClasses.push(prefix + item);\n }\n });\n return resultClasses;\n}\n\nexport default function addClasses() {\n var swiper = this;\n var classNames = swiper.classNames,\n params = swiper.params,\n rtl = swiper.rtl,\n $el = swiper.$el,\n device = swiper.device,\n support = swiper.support; // prettier-ignore\n\n var suffixes = prepareClasses(['initialized', params.direction, {\n 'pointer-events': support.pointerEvents && !support.touch\n }, {\n 'free-mode': params.freeMode\n }, {\n 'autoheight': params.autoHeight\n }, {\n 'rtl': rtl\n }, {\n 'multirow': params.slidesPerColumn > 1\n }, {\n 'multirow-column': params.slidesPerColumn > 1 && params.slidesPerColumnFill === 'column'\n }, {\n 'android': device.android\n }, {\n 'ios': device.ios\n }, {\n 'css-mode': params.cssMode\n }], params.containerModifierClass);\n classNames.push.apply(classNames, suffixes);\n $el.addClass([].concat(classNames).join(' '));\n swiper.emitContainerClasses();\n}","import addClasses from './addClasses';\nimport removeClasses from './removeClasses';\nexport default {\n addClasses: addClasses,\n removeClasses: removeClasses\n};","export default function removeClasses() {\n var swiper = this;\n var $el = swiper.$el,\n classNames = swiper.classNames;\n $el.removeClass(classNames.join(' '));\n swiper.emitContainerClasses();\n}","function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n/* eslint no-param-reassign: \"off\" */\nimport { getDocument } from 'ssr-window';\nimport $ from '../../utils/dom';\nimport { extend, now, deleteProps } from '../../utils/utils';\nimport { getSupport } from '../../utils/get-support';\nimport { getDevice } from '../../utils/get-device';\nimport { getBrowser } from '../../utils/get-browser';\nimport Resize from '../../modules/resize/resize';\nimport Observer from '../../modules/observer/observer';\nimport modular from './modular';\nimport eventsEmitter from './events-emitter';\nimport update from './update/index';\nimport translate from './translate/index';\nimport transition from './transition/index';\nimport slide from './slide/index';\nimport loop from './loop/index';\nimport grabCursor from './grab-cursor/index';\nimport manipulation from './manipulation/index';\nimport events from './events/index';\nimport breakpoints from './breakpoints/index';\nimport classes from './classes/index';\nimport images from './images/index';\nimport checkOverflow from './check-overflow/index';\nimport defaults from './defaults';\nvar prototypes = {\n modular: modular,\n eventsEmitter: eventsEmitter,\n update: update,\n translate: translate,\n transition: transition,\n slide: slide,\n loop: loop,\n grabCursor: grabCursor,\n manipulation: manipulation,\n events: events,\n breakpoints: breakpoints,\n checkOverflow: checkOverflow,\n classes: classes,\n images: images\n};\nvar extendedDefaults = {};\n\nvar Swiper = /*#__PURE__*/function () {\n function Swiper() {\n var el;\n var params;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (args.length === 1 && args[0].constructor && Object.prototype.toString.call(args[0]).slice(8, -1) === 'Object') {\n params = args[0];\n } else {\n el = args[0];\n params = args[1];\n }\n\n if (!params) params = {};\n params = extend({}, params);\n if (el && !params.el) params.el = el;\n\n if (params.el && $(params.el).length > 1) {\n var swipers = [];\n $(params.el).each(function (containerEl) {\n var newParams = extend({}, params, {\n el: containerEl\n });\n swipers.push(new Swiper(newParams));\n });\n return swipers;\n } // Swiper Instance\n\n\n var swiper = this;\n swiper.__swiper__ = true;\n swiper.support = getSupport();\n swiper.device = getDevice({\n userAgent: params.userAgent\n });\n swiper.browser = getBrowser();\n swiper.eventsListeners = {};\n swiper.eventsAnyListeners = [];\n\n if (typeof swiper.modules === 'undefined') {\n swiper.modules = {};\n }\n\n Object.keys(swiper.modules).forEach(function (moduleName) {\n var module = swiper.modules[moduleName];\n\n if (module.params) {\n var moduleParamName = Object.keys(module.params)[0];\n var moduleParams = module.params[moduleParamName];\n if (typeof moduleParams !== 'object' || moduleParams === null) return;\n\n if (['navigation', 'pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 && params[moduleParamName] === true) {\n params[moduleParamName] = {\n auto: true\n };\n }\n\n if (!(moduleParamName in params && 'enabled' in moduleParams)) return;\n\n if (params[moduleParamName] === true) {\n params[moduleParamName] = {\n enabled: true\n };\n }\n\n if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) {\n params[moduleParamName].enabled = true;\n }\n\n if (!params[moduleParamName]) params[moduleParamName] = {\n enabled: false\n };\n }\n }); // Extend defaults with modules params\n\n var swiperParams = extend({}, defaults);\n swiper.useParams(swiperParams); // Extend defaults with passed params\n\n swiper.params = extend({}, swiperParams, extendedDefaults, params);\n swiper.originalParams = extend({}, swiper.params);\n swiper.passedParams = extend({}, params); // add event listeners\n\n if (swiper.params && swiper.params.on) {\n Object.keys(swiper.params.on).forEach(function (eventName) {\n swiper.on(eventName, swiper.params.on[eventName]);\n });\n }\n\n if (swiper.params && swiper.params.onAny) {\n swiper.onAny(swiper.params.onAny);\n } // Save Dom lib\n\n\n swiper.$ = $; // Extend Swiper\n\n extend(swiper, {\n enabled: swiper.params.enabled,\n el: el,\n // Classes\n classNames: [],\n // Slides\n slides: $(),\n slidesGrid: [],\n snapGrid: [],\n slidesSizesGrid: [],\n // isDirection\n isHorizontal: function isHorizontal() {\n return swiper.params.direction === 'horizontal';\n },\n isVertical: function isVertical() {\n return swiper.params.direction === 'vertical';\n },\n // Indexes\n activeIndex: 0,\n realIndex: 0,\n //\n isBeginning: true,\n isEnd: false,\n // Props\n translate: 0,\n previousTranslate: 0,\n progress: 0,\n velocity: 0,\n animating: false,\n // Locks\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev,\n // Touch Events\n touchEvents: function touchEvents() {\n var touch = ['touchstart', 'touchmove', 'touchend', 'touchcancel'];\n var desktop = ['mousedown', 'mousemove', 'mouseup'];\n\n if (swiper.support.pointerEvents) {\n desktop = ['pointerdown', 'pointermove', 'pointerup'];\n }\n\n swiper.touchEventsTouch = {\n start: touch[0],\n move: touch[1],\n end: touch[2],\n cancel: touch[3]\n };\n swiper.touchEventsDesktop = {\n start: desktop[0],\n move: desktop[1],\n end: desktop[2]\n };\n return swiper.support.touch || !swiper.params.simulateTouch ? swiper.touchEventsTouch : swiper.touchEventsDesktop;\n }(),\n touchEventsData: {\n isTouched: undefined,\n isMoved: undefined,\n allowTouchCallbacks: undefined,\n touchStartTime: undefined,\n isScrolling: undefined,\n currentTranslate: undefined,\n startTranslate: undefined,\n allowThresholdMove: undefined,\n // Form elements to match\n focusableElements: swiper.params.focusableElements,\n // Last click time\n lastClickTime: now(),\n clickTimeout: undefined,\n // Velocities\n velocities: [],\n allowMomentumBounce: undefined,\n isTouchEvent: undefined,\n startMoving: undefined\n },\n // Clicks\n allowClick: true,\n // Touches\n allowTouchMove: swiper.params.allowTouchMove,\n touches: {\n startX: 0,\n startY: 0,\n currentX: 0,\n currentY: 0,\n diff: 0\n },\n // Images\n imagesToLoad: [],\n imagesLoaded: 0\n }); // Install Modules\n\n swiper.useModules();\n swiper.emit('_swiper'); // Init\n\n if (swiper.params.init) {\n swiper.init();\n } // Return app instance\n\n\n return swiper;\n }\n\n var _proto = Swiper.prototype;\n\n _proto.enable = function enable() {\n var swiper = this;\n if (swiper.enabled) return;\n swiper.enabled = true;\n\n if (swiper.params.grabCursor) {\n swiper.setGrabCursor();\n }\n\n swiper.emit('enable');\n };\n\n _proto.disable = function disable() {\n var swiper = this;\n if (!swiper.enabled) return;\n swiper.enabled = false;\n\n if (swiper.params.grabCursor) {\n swiper.unsetGrabCursor();\n }\n\n swiper.emit('disable');\n };\n\n _proto.setProgress = function setProgress(progress, speed) {\n var swiper = this;\n progress = Math.min(Math.max(progress, 0), 1);\n var min = swiper.minTranslate();\n var max = swiper.maxTranslate();\n var current = (max - min) * progress + min;\n swiper.translateTo(current, typeof speed === 'undefined' ? 0 : speed);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n };\n\n _proto.emitContainerClasses = function emitContainerClasses() {\n var swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n var classes = swiper.el.className.split(' ').filter(function (className) {\n return className.indexOf('swiper-container') === 0 || className.indexOf(swiper.params.containerModifierClass) === 0;\n });\n swiper.emit('_containerClasses', classes.join(' '));\n };\n\n _proto.getSlideClasses = function getSlideClasses(slideEl) {\n var swiper = this;\n return slideEl.className.split(' ').filter(function (className) {\n return className.indexOf('swiper-slide') === 0 || className.indexOf(swiper.params.slideClass) === 0;\n }).join(' ');\n };\n\n _proto.emitSlidesClasses = function emitSlidesClasses() {\n var swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n var updates = [];\n swiper.slides.each(function (slideEl) {\n var classNames = swiper.getSlideClasses(slideEl);\n updates.push({\n slideEl: slideEl,\n classNames: classNames\n });\n swiper.emit('_slideClass', slideEl, classNames);\n });\n swiper.emit('_slideClasses', updates);\n };\n\n _proto.slidesPerViewDynamic = function slidesPerViewDynamic() {\n var swiper = this;\n var params = swiper.params,\n slides = swiper.slides,\n slidesGrid = swiper.slidesGrid,\n swiperSize = swiper.size,\n activeIndex = swiper.activeIndex;\n var spv = 1;\n\n if (params.centeredSlides) {\n var slideSize = slides[activeIndex].swiperSlideSize;\n var breakLoop;\n\n for (var i = activeIndex + 1; i < slides.length; i += 1) {\n if (slides[i] && !breakLoop) {\n slideSize += slides[i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n\n for (var _i = activeIndex - 1; _i >= 0; _i -= 1) {\n if (slides[_i] && !breakLoop) {\n slideSize += slides[_i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n } else {\n for (var _i2 = activeIndex + 1; _i2 < slides.length; _i2 += 1) {\n if (slidesGrid[_i2] - slidesGrid[activeIndex] < swiperSize) {\n spv += 1;\n }\n }\n }\n\n return spv;\n };\n\n _proto.update = function update() {\n var swiper = this;\n if (!swiper || swiper.destroyed) return;\n var snapGrid = swiper.snapGrid,\n params = swiper.params; // Breakpoints\n\n if (params.breakpoints) {\n swiper.setBreakpoint();\n }\n\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n\n function setTranslate() {\n var translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate;\n var newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate());\n swiper.setTranslate(newTranslate);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n var translated;\n\n if (swiper.params.freeMode) {\n setTranslate();\n\n if (swiper.params.autoHeight) {\n swiper.updateAutoHeight();\n }\n } else {\n if ((swiper.params.slidesPerView === 'auto' || swiper.params.slidesPerView > 1) && swiper.isEnd && !swiper.params.centeredSlides) {\n translated = swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n translated = swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n\n if (!translated) {\n setTranslate();\n }\n }\n\n if (params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n\n swiper.emit('update');\n };\n\n _proto.changeDirection = function changeDirection(newDirection, needUpdate) {\n if (needUpdate === void 0) {\n needUpdate = true;\n }\n\n var swiper = this;\n var currentDirection = swiper.params.direction;\n\n if (!newDirection) {\n // eslint-disable-next-line\n newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal';\n }\n\n if (newDirection === currentDirection || newDirection !== 'horizontal' && newDirection !== 'vertical') {\n return swiper;\n }\n\n swiper.$el.removeClass(\"\" + swiper.params.containerModifierClass + currentDirection).addClass(\"\" + swiper.params.containerModifierClass + newDirection);\n swiper.emitContainerClasses();\n swiper.params.direction = newDirection;\n swiper.slides.each(function (slideEl) {\n if (newDirection === 'vertical') {\n slideEl.style.width = '';\n } else {\n slideEl.style.height = '';\n }\n });\n swiper.emit('changeDirection');\n if (needUpdate) swiper.update();\n return swiper;\n };\n\n _proto.mount = function mount(el) {\n var swiper = this;\n if (swiper.mounted) return true; // Find el\n\n var $el = $(el || swiper.params.el);\n el = $el[0];\n\n if (!el) {\n return false;\n }\n\n el.swiper = swiper;\n\n var getWrapperSelector = function getWrapperSelector() {\n return \".\" + (swiper.params.wrapperClass || '').trim().split(' ').join('.');\n };\n\n var getWrapper = function getWrapper() {\n if (el && el.shadowRoot && el.shadowRoot.querySelector) {\n var res = $(el.shadowRoot.querySelector(getWrapperSelector())); // Children needs to return slot items\n\n res.children = function (options) {\n return $el.children(options);\n };\n\n return res;\n }\n\n return $el.children(getWrapperSelector());\n }; // Find Wrapper\n\n\n var $wrapperEl = getWrapper();\n\n if ($wrapperEl.length === 0 && swiper.params.createElements) {\n var document = getDocument();\n var wrapper = document.createElement('div');\n $wrapperEl = $(wrapper);\n wrapper.className = swiper.params.wrapperClass;\n $el.append(wrapper);\n $el.children(\".\" + swiper.params.slideClass).each(function (slideEl) {\n $wrapperEl.append(slideEl);\n });\n }\n\n extend(swiper, {\n $el: $el,\n el: el,\n $wrapperEl: $wrapperEl,\n wrapperEl: $wrapperEl[0],\n mounted: true,\n // RTL\n rtl: el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl',\n rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl'),\n wrongRTL: $wrapperEl.css('display') === '-webkit-box'\n });\n return true;\n };\n\n _proto.init = function init(el) {\n var swiper = this;\n if (swiper.initialized) return swiper;\n var mounted = swiper.mount(el);\n if (mounted === false) return swiper;\n swiper.emit('beforeInit'); // Set breakpoint\n\n if (swiper.params.breakpoints) {\n swiper.setBreakpoint();\n } // Add Classes\n\n\n swiper.addClasses(); // Create loop\n\n if (swiper.params.loop) {\n swiper.loopCreate();\n } // Update size\n\n\n swiper.updateSize(); // Update slides\n\n swiper.updateSlides();\n\n if (swiper.params.watchOverflow) {\n swiper.checkOverflow();\n } // Set Grab Cursor\n\n\n if (swiper.params.grabCursor && swiper.enabled) {\n swiper.setGrabCursor();\n }\n\n if (swiper.params.preloadImages) {\n swiper.preloadImages();\n } // Slide To Initial Slide\n\n\n if (swiper.params.loop) {\n swiper.slideTo(swiper.params.initialSlide + swiper.loopedSlides, 0, swiper.params.runCallbacksOnInit, false, true);\n } else {\n swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit, false, true);\n } // Attach events\n\n\n swiper.attachEvents(); // Init Flag\n\n swiper.initialized = true; // Emit\n\n swiper.emit('init');\n swiper.emit('afterInit');\n return swiper;\n };\n\n _proto.destroy = function destroy(deleteInstance, cleanStyles) {\n if (deleteInstance === void 0) {\n deleteInstance = true;\n }\n\n if (cleanStyles === void 0) {\n cleanStyles = true;\n }\n\n var swiper = this;\n var params = swiper.params,\n $el = swiper.$el,\n $wrapperEl = swiper.$wrapperEl,\n slides = swiper.slides;\n\n if (typeof swiper.params === 'undefined' || swiper.destroyed) {\n return null;\n }\n\n swiper.emit('beforeDestroy'); // Init Flag\n\n swiper.initialized = false; // Detach events\n\n swiper.detachEvents(); // Destroy loop\n\n if (params.loop) {\n swiper.loopDestroy();\n } // Cleanup styles\n\n\n if (cleanStyles) {\n swiper.removeClasses();\n $el.removeAttr('style');\n $wrapperEl.removeAttr('style');\n\n if (slides && slides.length) {\n slides.removeClass([params.slideVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass].join(' ')).removeAttr('style').removeAttr('data-swiper-slide-index');\n }\n }\n\n swiper.emit('destroy'); // Detach emitter events\n\n Object.keys(swiper.eventsListeners).forEach(function (eventName) {\n swiper.off(eventName);\n });\n\n if (deleteInstance !== false) {\n swiper.$el[0].swiper = null;\n deleteProps(swiper);\n }\n\n swiper.destroyed = true;\n return null;\n };\n\n Swiper.extendDefaults = function extendDefaults(newDefaults) {\n extend(extendedDefaults, newDefaults);\n };\n\n Swiper.installModule = function installModule(module) {\n if (!Swiper.prototype.modules) Swiper.prototype.modules = {};\n var name = module.name || Object.keys(Swiper.prototype.modules).length + \"_\" + now();\n Swiper.prototype.modules[name] = module;\n };\n\n Swiper.use = function use(module) {\n if (Array.isArray(module)) {\n module.forEach(function (m) {\n return Swiper.installModule(m);\n });\n return Swiper;\n }\n\n Swiper.installModule(module);\n return Swiper;\n };\n\n _createClass(Swiper, null, [{\n key: \"extendedDefaults\",\n get: function get() {\n return extendedDefaults;\n }\n }, {\n key: \"defaults\",\n get: function get() {\n return defaults;\n }\n }]);\n\n return Swiper;\n}();\n\nObject.keys(prototypes).forEach(function (prototypeGroup) {\n Object.keys(prototypes[prototypeGroup]).forEach(function (protoMethod) {\n Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];\n });\n});\nSwiper.use([Resize, Observer]);\nexport default Swiper;","export default {\n init: true,\n direction: 'horizontal',\n touchEventsTarget: 'container',\n initialSlide: 0,\n speed: 300,\n cssMode: false,\n updateOnWindowResize: true,\n resizeObserver: false,\n nested: false,\n createElements: false,\n enabled: true,\n focusableElements: 'input, select, option, textarea, button, video, label',\n // Overrides\n width: null,\n height: null,\n //\n preventInteractionOnTransition: false,\n // ssr\n userAgent: null,\n url: null,\n // To support iOS's swipe-to-go-back gesture (when being used in-app).\n edgeSwipeDetection: false,\n edgeSwipeThreshold: 20,\n // Free mode\n freeMode: false,\n freeModeMomentum: true,\n freeModeMomentumRatio: 1,\n freeModeMomentumBounce: true,\n freeModeMomentumBounceRatio: 1,\n freeModeMomentumVelocityRatio: 1,\n freeModeSticky: false,\n freeModeMinimumVelocity: 0.02,\n // Autoheight\n autoHeight: false,\n // Set wrapper width\n setWrapperSize: false,\n // Virtual Translate\n virtualTranslate: false,\n // Effects\n effect: 'slide',\n // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'\n // Breakpoints\n breakpoints: undefined,\n breakpointsBase: 'window',\n // Slides grid\n spaceBetween: 0,\n slidesPerView: 1,\n slidesPerColumn: 1,\n slidesPerColumnFill: 'column',\n slidesPerGroup: 1,\n slidesPerGroupSkip: 0,\n centeredSlides: false,\n centeredSlidesBounds: false,\n slidesOffsetBefore: 0,\n // in px\n slidesOffsetAfter: 0,\n // in px\n normalizeSlideIndex: true,\n centerInsufficientSlides: false,\n // Disable swiper and hide navigation when container not overflow\n watchOverflow: false,\n // Round length\n roundLengths: false,\n // Touches\n touchRatio: 1,\n touchAngle: 45,\n simulateTouch: true,\n shortSwipes: true,\n longSwipes: true,\n longSwipesRatio: 0.5,\n longSwipesMs: 300,\n followFinger: true,\n allowTouchMove: true,\n threshold: 0,\n touchMoveStopPropagation: false,\n touchStartPreventDefault: true,\n touchStartForcePreventDefault: false,\n touchReleaseOnEdges: false,\n // Unique Navigation Elements\n uniqueNavElements: true,\n // Resistance\n resistance: true,\n resistanceRatio: 0.85,\n // Progress\n watchSlidesProgress: false,\n watchSlidesVisibility: false,\n // Cursor\n grabCursor: false,\n // Clicks\n preventClicks: true,\n preventClicksPropagation: true,\n slideToClickedSlide: false,\n // Images\n preloadImages: true,\n updateOnImagesReady: true,\n // loop\n loop: false,\n loopAdditionalSlides: 0,\n loopedSlides: null,\n loopFillGroupWithBlank: false,\n loopPreventsSlide: true,\n // Swiping/no swiping\n allowSlidePrev: true,\n allowSlideNext: true,\n swipeHandler: null,\n // '.swipe-handler',\n noSwiping: true,\n noSwipingClass: 'swiper-no-swiping',\n noSwipingSelector: null,\n // Passive Listeners\n passiveListeners: true,\n // NS\n containerModifierClass: 'swiper-container-',\n // NEW\n slideClass: 'swiper-slide',\n slideBlankClass: 'swiper-slide-invisible-blank',\n slideActiveClass: 'swiper-slide-active',\n slideDuplicateActiveClass: 'swiper-slide-duplicate-active',\n slideVisibleClass: 'swiper-slide-visible',\n slideDuplicateClass: 'swiper-slide-duplicate',\n slideNextClass: 'swiper-slide-next',\n slideDuplicateNextClass: 'swiper-slide-duplicate-next',\n slidePrevClass: 'swiper-slide-prev',\n slideDuplicatePrevClass: 'swiper-slide-duplicate-prev',\n wrapperClass: 'swiper-wrapper',\n // Callbacks\n runCallbacksOnInit: true,\n // Internals\n _emitClasses: false\n};","/* eslint-disable no-underscore-dangle */\nexport default {\n on: function on(events, handler, priority) {\n var self = this;\n if (typeof handler !== 'function') return self;\n var method = priority ? 'unshift' : 'push';\n events.split(' ').forEach(function (event) {\n if (!self.eventsListeners[event]) self.eventsListeners[event] = [];\n self.eventsListeners[event][method](handler);\n });\n return self;\n },\n once: function once(events, handler, priority) {\n var self = this;\n if (typeof handler !== 'function') return self;\n\n function onceHandler() {\n self.off(events, onceHandler);\n\n if (onceHandler.__emitterProxy) {\n delete onceHandler.__emitterProxy;\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n handler.apply(self, args);\n }\n\n onceHandler.__emitterProxy = handler;\n return self.on(events, onceHandler, priority);\n },\n onAny: function onAny(handler, priority) {\n var self = this;\n if (typeof handler !== 'function') return self;\n var method = priority ? 'unshift' : 'push';\n\n if (self.eventsAnyListeners.indexOf(handler) < 0) {\n self.eventsAnyListeners[method](handler);\n }\n\n return self;\n },\n offAny: function offAny(handler) {\n var self = this;\n if (!self.eventsAnyListeners) return self;\n var index = self.eventsAnyListeners.indexOf(handler);\n\n if (index >= 0) {\n self.eventsAnyListeners.splice(index, 1);\n }\n\n return self;\n },\n off: function off(events, handler) {\n var self = this;\n if (!self.eventsListeners) return self;\n events.split(' ').forEach(function (event) {\n if (typeof handler === 'undefined') {\n self.eventsListeners[event] = [];\n } else if (self.eventsListeners[event]) {\n self.eventsListeners[event].forEach(function (eventHandler, index) {\n if (eventHandler === handler || eventHandler.__emitterProxy && eventHandler.__emitterProxy === handler) {\n self.eventsListeners[event].splice(index, 1);\n }\n });\n }\n });\n return self;\n },\n emit: function emit() {\n var self = this;\n if (!self.eventsListeners) return self;\n var events;\n var data;\n var context;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (typeof args[0] === 'string' || Array.isArray(args[0])) {\n events = args[0];\n data = args.slice(1, args.length);\n context = self;\n } else {\n events = args[0].events;\n data = args[0].data;\n context = args[0].context || self;\n }\n\n data.unshift(context);\n var eventsArray = Array.isArray(events) ? events : events.split(' ');\n eventsArray.forEach(function (event) {\n if (self.eventsAnyListeners && self.eventsAnyListeners.length) {\n self.eventsAnyListeners.forEach(function (eventHandler) {\n eventHandler.apply(context, [event].concat(data));\n });\n }\n\n if (self.eventsListeners && self.eventsListeners[event]) {\n self.eventsListeners[event].forEach(function (eventHandler) {\n eventHandler.apply(context, data);\n });\n }\n });\n return self;\n }\n};","import { getDocument } from 'ssr-window';\nimport onTouchStart from './onTouchStart';\nimport onTouchMove from './onTouchMove';\nimport onTouchEnd from './onTouchEnd';\nimport onResize from './onResize';\nimport onClick from './onClick';\nimport onScroll from './onScroll';\nvar dummyEventAttached = false;\n\nfunction dummyEventListener() {}\n\nfunction attachEvents() {\n var swiper = this;\n var document = getDocument();\n var params = swiper.params,\n touchEvents = swiper.touchEvents,\n el = swiper.el,\n wrapperEl = swiper.wrapperEl,\n device = swiper.device,\n support = swiper.support;\n swiper.onTouchStart = onTouchStart.bind(swiper);\n swiper.onTouchMove = onTouchMove.bind(swiper);\n swiper.onTouchEnd = onTouchEnd.bind(swiper);\n\n if (params.cssMode) {\n swiper.onScroll = onScroll.bind(swiper);\n }\n\n swiper.onClick = onClick.bind(swiper);\n var capture = !!params.nested; // Touch Events\n\n if (!support.touch && support.pointerEvents) {\n el.addEventListener(touchEvents.start, swiper.onTouchStart, false);\n document.addEventListener(touchEvents.move, swiper.onTouchMove, capture);\n document.addEventListener(touchEvents.end, swiper.onTouchEnd, false);\n } else {\n if (support.touch) {\n var passiveListener = touchEvents.start === 'touchstart' && support.passiveListener && params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n el.addEventListener(touchEvents.start, swiper.onTouchStart, passiveListener);\n el.addEventListener(touchEvents.move, swiper.onTouchMove, support.passiveListener ? {\n passive: false,\n capture: capture\n } : capture);\n el.addEventListener(touchEvents.end, swiper.onTouchEnd, passiveListener);\n\n if (touchEvents.cancel) {\n el.addEventListener(touchEvents.cancel, swiper.onTouchEnd, passiveListener);\n }\n\n if (!dummyEventAttached) {\n document.addEventListener('touchstart', dummyEventListener);\n dummyEventAttached = true;\n }\n }\n\n if (params.simulateTouch && !device.ios && !device.android || params.simulateTouch && !support.touch && device.ios) {\n el.addEventListener('mousedown', swiper.onTouchStart, false);\n document.addEventListener('mousemove', swiper.onTouchMove, capture);\n document.addEventListener('mouseup', swiper.onTouchEnd, false);\n }\n } // Prevent Links Clicks\n\n\n if (params.preventClicks || params.preventClicksPropagation) {\n el.addEventListener('click', swiper.onClick, true);\n }\n\n if (params.cssMode) {\n wrapperEl.addEventListener('scroll', swiper.onScroll);\n } // Resize handler\n\n\n if (params.updateOnWindowResize) {\n swiper.on(device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize, true);\n } else {\n swiper.on('observerUpdate', onResize, true);\n }\n}\n\nfunction detachEvents() {\n var swiper = this;\n var document = getDocument();\n var params = swiper.params,\n touchEvents = swiper.touchEvents,\n el = swiper.el,\n wrapperEl = swiper.wrapperEl,\n device = swiper.device,\n support = swiper.support;\n var capture = !!params.nested; // Touch Events\n\n if (!support.touch && support.pointerEvents) {\n el.removeEventListener(touchEvents.start, swiper.onTouchStart, false);\n document.removeEventListener(touchEvents.move, swiper.onTouchMove, capture);\n document.removeEventListener(touchEvents.end, swiper.onTouchEnd, false);\n } else {\n if (support.touch) {\n var passiveListener = touchEvents.start === 'onTouchStart' && support.passiveListener && params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n el.removeEventListener(touchEvents.start, swiper.onTouchStart, passiveListener);\n el.removeEventListener(touchEvents.move, swiper.onTouchMove, capture);\n el.removeEventListener(touchEvents.end, swiper.onTouchEnd, passiveListener);\n\n if (touchEvents.cancel) {\n el.removeEventListener(touchEvents.cancel, swiper.onTouchEnd, passiveListener);\n }\n }\n\n if (params.simulateTouch && !device.ios && !device.android || params.simulateTouch && !support.touch && device.ios) {\n el.removeEventListener('mousedown', swiper.onTouchStart, false);\n document.removeEventListener('mousemove', swiper.onTouchMove, capture);\n document.removeEventListener('mouseup', swiper.onTouchEnd, false);\n }\n } // Prevent Links Clicks\n\n\n if (params.preventClicks || params.preventClicksPropagation) {\n el.removeEventListener('click', swiper.onClick, true);\n }\n\n if (params.cssMode) {\n wrapperEl.removeEventListener('scroll', swiper.onScroll);\n } // Resize handler\n\n\n swiper.off(device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize);\n}\n\nexport default {\n attachEvents: attachEvents,\n detachEvents: detachEvents\n};","export default function onClick(e) {\n var swiper = this;\n if (!swiper.enabled) return;\n\n if (!swiper.allowClick) {\n if (swiper.params.preventClicks) e.preventDefault();\n\n if (swiper.params.preventClicksPropagation && swiper.animating) {\n e.stopPropagation();\n e.stopImmediatePropagation();\n }\n }\n}","export default function onResize() {\n var swiper = this;\n var params = swiper.params,\n el = swiper.el;\n if (el && el.offsetWidth === 0) return; // Breakpoints\n\n if (params.breakpoints) {\n swiper.setBreakpoint();\n } // Save locks\n\n\n var allowSlideNext = swiper.allowSlideNext,\n allowSlidePrev = swiper.allowSlidePrev,\n snapGrid = swiper.snapGrid; // Disable locks on resize\n\n swiper.allowSlideNext = true;\n swiper.allowSlidePrev = true;\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateSlidesClasses();\n\n if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides) {\n swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n\n if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {\n swiper.autoplay.run();\n } // Return locks after resize\n\n\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n\n if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n}","export default function onScroll() {\n var swiper = this;\n var wrapperEl = swiper.wrapperEl,\n rtlTranslate = swiper.rtlTranslate,\n enabled = swiper.enabled;\n if (!enabled) return;\n swiper.previousTranslate = swiper.translate;\n\n if (swiper.isHorizontal()) {\n if (rtlTranslate) {\n swiper.translate = wrapperEl.scrollWidth - wrapperEl.offsetWidth - wrapperEl.scrollLeft;\n } else {\n swiper.translate = -wrapperEl.scrollLeft;\n }\n } else {\n swiper.translate = -wrapperEl.scrollTop;\n } // eslint-disable-next-line\n\n\n if (swiper.translate === -0) swiper.translate = 0;\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n var newProgress;\n var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff;\n }\n\n if (newProgress !== swiper.progress) {\n swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate);\n }\n\n swiper.emit('setTranslate', swiper.translate, false);\n}","import { now, nextTick } from '../../../utils/utils';\nexport default function onTouchEnd(event) {\n var swiper = this;\n var data = swiper.touchEventsData;\n var params = swiper.params,\n touches = swiper.touches,\n rtl = swiper.rtlTranslate,\n $wrapperEl = swiper.$wrapperEl,\n slidesGrid = swiper.slidesGrid,\n snapGrid = swiper.snapGrid,\n enabled = swiper.enabled;\n if (!enabled) return;\n var e = event;\n if (e.originalEvent) e = e.originalEvent;\n\n if (data.allowTouchCallbacks) {\n swiper.emit('touchEnd', e);\n }\n\n data.allowTouchCallbacks = false;\n\n if (!data.isTouched) {\n if (data.isMoved && params.grabCursor) {\n swiper.setGrabCursor(false);\n }\n\n data.isMoved = false;\n data.startMoving = false;\n return;\n } // Return Grab Cursor\n\n\n if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(false);\n } // Time diff\n\n\n var touchEndTime = now();\n var timeDiff = touchEndTime - data.touchStartTime; // Tap, doubleTap, Click\n\n if (swiper.allowClick) {\n swiper.updateClickedSlide(e);\n swiper.emit('tap click', e);\n\n if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) {\n swiper.emit('doubleTap doubleClick', e);\n }\n }\n\n data.lastClickTime = now();\n nextTick(function () {\n if (!swiper.destroyed) swiper.allowClick = true;\n });\n\n if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 || data.currentTranslate === data.startTranslate) {\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n return;\n }\n\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n var currentPos;\n\n if (params.followFinger) {\n currentPos = rtl ? swiper.translate : -swiper.translate;\n } else {\n currentPos = -data.currentTranslate;\n }\n\n if (params.cssMode) {\n return;\n }\n\n if (params.freeMode) {\n if (currentPos < -swiper.minTranslate()) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n\n if (currentPos > -swiper.maxTranslate()) {\n if (swiper.slides.length < snapGrid.length) {\n swiper.slideTo(snapGrid.length - 1);\n } else {\n swiper.slideTo(swiper.slides.length - 1);\n }\n\n return;\n }\n\n if (params.freeModeMomentum) {\n if (data.velocities.length > 1) {\n var lastMoveEvent = data.velocities.pop();\n var velocityEvent = data.velocities.pop();\n var distance = lastMoveEvent.position - velocityEvent.position;\n var time = lastMoveEvent.time - velocityEvent.time;\n swiper.velocity = distance / time;\n swiper.velocity /= 2;\n\n if (Math.abs(swiper.velocity) < params.freeModeMinimumVelocity) {\n swiper.velocity = 0;\n } // this implies that the user stopped moving a finger then released.\n // There would be no events with distance zero, so the last event is stale.\n\n\n if (time > 150 || now() - lastMoveEvent.time > 300) {\n swiper.velocity = 0;\n }\n } else {\n swiper.velocity = 0;\n }\n\n swiper.velocity *= params.freeModeMomentumVelocityRatio;\n data.velocities.length = 0;\n var momentumDuration = 1000 * params.freeModeMomentumRatio;\n var momentumDistance = swiper.velocity * momentumDuration;\n var newPosition = swiper.translate + momentumDistance;\n if (rtl) newPosition = -newPosition;\n var doBounce = false;\n var afterBouncePosition;\n var bounceAmount = Math.abs(swiper.velocity) * 20 * params.freeModeMomentumBounceRatio;\n var needsLoopFix;\n\n if (newPosition < swiper.maxTranslate()) {\n if (params.freeModeMomentumBounce) {\n if (newPosition + swiper.maxTranslate() < -bounceAmount) {\n newPosition = swiper.maxTranslate() - bounceAmount;\n }\n\n afterBouncePosition = swiper.maxTranslate();\n doBounce = true;\n data.allowMomentumBounce = true;\n } else {\n newPosition = swiper.maxTranslate();\n }\n\n if (params.loop && params.centeredSlides) needsLoopFix = true;\n } else if (newPosition > swiper.minTranslate()) {\n if (params.freeModeMomentumBounce) {\n if (newPosition - swiper.minTranslate() > bounceAmount) {\n newPosition = swiper.minTranslate() + bounceAmount;\n }\n\n afterBouncePosition = swiper.minTranslate();\n doBounce = true;\n data.allowMomentumBounce = true;\n } else {\n newPosition = swiper.minTranslate();\n }\n\n if (params.loop && params.centeredSlides) needsLoopFix = true;\n } else if (params.freeModeSticky) {\n var nextSlide;\n\n for (var j = 0; j < snapGrid.length; j += 1) {\n if (snapGrid[j] > -newPosition) {\n nextSlide = j;\n break;\n }\n }\n\n if (Math.abs(snapGrid[nextSlide] - newPosition) < Math.abs(snapGrid[nextSlide - 1] - newPosition) || swiper.swipeDirection === 'next') {\n newPosition = snapGrid[nextSlide];\n } else {\n newPosition = snapGrid[nextSlide - 1];\n }\n\n newPosition = -newPosition;\n }\n\n if (needsLoopFix) {\n swiper.once('transitionEnd', function () {\n swiper.loopFix();\n });\n } // Fix duration\n\n\n if (swiper.velocity !== 0) {\n if (rtl) {\n momentumDuration = Math.abs((-newPosition - swiper.translate) / swiper.velocity);\n } else {\n momentumDuration = Math.abs((newPosition - swiper.translate) / swiper.velocity);\n }\n\n if (params.freeModeSticky) {\n // If freeModeSticky is active and the user ends a swipe with a slow-velocity\n // event, then durations can be 20+ seconds to slide one (or zero!) slides.\n // It's easy to see this when simulating touch with mouse events. To fix this,\n // limit single-slide swipes to the default slide duration. This also has the\n // nice side effect of matching slide speed if the user stopped moving before\n // lifting finger or mouse vs. moving slowly before lifting the finger/mouse.\n // For faster swipes, also apply limits (albeit higher ones).\n var moveDistance = Math.abs((rtl ? -newPosition : newPosition) - swiper.translate);\n var currentSlideSize = swiper.slidesSizesGrid[swiper.activeIndex];\n\n if (moveDistance < currentSlideSize) {\n momentumDuration = params.speed;\n } else if (moveDistance < 2 * currentSlideSize) {\n momentumDuration = params.speed * 1.5;\n } else {\n momentumDuration = params.speed * 2.5;\n }\n }\n } else if (params.freeModeSticky) {\n swiper.slideToClosest();\n return;\n }\n\n if (params.freeModeMomentumBounce && doBounce) {\n swiper.updateProgress(afterBouncePosition);\n swiper.setTransition(momentumDuration);\n swiper.setTranslate(newPosition);\n swiper.transitionStart(true, swiper.swipeDirection);\n swiper.animating = true;\n $wrapperEl.transitionEnd(function () {\n if (!swiper || swiper.destroyed || !data.allowMomentumBounce) return;\n swiper.emit('momentumBounce');\n swiper.setTransition(params.speed);\n setTimeout(function () {\n swiper.setTranslate(afterBouncePosition);\n $wrapperEl.transitionEnd(function () {\n if (!swiper || swiper.destroyed) return;\n swiper.transitionEnd();\n });\n }, 0);\n });\n } else if (swiper.velocity) {\n swiper.updateProgress(newPosition);\n swiper.setTransition(momentumDuration);\n swiper.setTranslate(newPosition);\n swiper.transitionStart(true, swiper.swipeDirection);\n\n if (!swiper.animating) {\n swiper.animating = true;\n $wrapperEl.transitionEnd(function () {\n if (!swiper || swiper.destroyed) return;\n swiper.transitionEnd();\n });\n }\n } else {\n swiper.emit('_freeModeNoMomentumRelease');\n swiper.updateProgress(newPosition);\n }\n\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n } else if (params.freeModeSticky) {\n swiper.slideToClosest();\n return;\n } else if (params.freeMode) {\n swiper.emit('_freeModeNoMomentumRelease');\n }\n\n if (!params.freeModeMomentum || timeDiff >= params.longSwipesMs) {\n swiper.updateProgress();\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n return;\n } // Find current slide\n\n\n var stopIndex = 0;\n var groupSize = swiper.slidesSizesGrid[0];\n\n for (var i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) {\n var _increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n\n if (typeof slidesGrid[i + _increment] !== 'undefined') {\n if (currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + _increment]) {\n stopIndex = i;\n groupSize = slidesGrid[i + _increment] - slidesGrid[i];\n }\n } else if (currentPos >= slidesGrid[i]) {\n stopIndex = i;\n groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];\n }\n } // Find current slide size\n\n\n var ratio = (currentPos - slidesGrid[stopIndex]) / groupSize;\n var increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n\n if (timeDiff > params.longSwipesMs) {\n // Long touches\n if (!params.longSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n\n if (swiper.swipeDirection === 'next') {\n if (ratio >= params.longSwipesRatio) swiper.slideTo(stopIndex + increment);else swiper.slideTo(stopIndex);\n }\n\n if (swiper.swipeDirection === 'prev') {\n if (ratio > 1 - params.longSwipesRatio) swiper.slideTo(stopIndex + increment);else swiper.slideTo(stopIndex);\n }\n } else {\n // Short swipes\n if (!params.shortSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n\n var isNavButtonTarget = swiper.navigation && (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl);\n\n if (!isNavButtonTarget) {\n if (swiper.swipeDirection === 'next') {\n swiper.slideTo(stopIndex + increment);\n }\n\n if (swiper.swipeDirection === 'prev') {\n swiper.slideTo(stopIndex);\n }\n } else if (e.target === swiper.navigation.nextEl) {\n swiper.slideTo(stopIndex + increment);\n } else {\n swiper.slideTo(stopIndex);\n }\n }\n}","import { getDocument } from 'ssr-window';\nimport $ from '../../../utils/dom';\nimport { extend, now } from '../../../utils/utils';\nexport default function onTouchMove(event) {\n var document = getDocument();\n var swiper = this;\n var data = swiper.touchEventsData;\n var params = swiper.params,\n touches = swiper.touches,\n rtl = swiper.rtlTranslate,\n enabled = swiper.enabled;\n if (!enabled) return;\n var e = event;\n if (e.originalEvent) e = e.originalEvent;\n\n if (!data.isTouched) {\n if (data.startMoving && data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n\n return;\n }\n\n if (data.isTouchEvent && e.type !== 'touchmove') return;\n var targetTouch = e.type === 'touchmove' && e.targetTouches && (e.targetTouches[0] || e.changedTouches[0]);\n var pageX = e.type === 'touchmove' ? targetTouch.pageX : e.pageX;\n var pageY = e.type === 'touchmove' ? targetTouch.pageY : e.pageY;\n\n if (e.preventedByNestedSwiper) {\n touches.startX = pageX;\n touches.startY = pageY;\n return;\n }\n\n if (!swiper.allowTouchMove) {\n // isMoved = true;\n swiper.allowClick = false;\n\n if (data.isTouched) {\n extend(touches, {\n startX: pageX,\n startY: pageY,\n currentX: pageX,\n currentY: pageY\n });\n data.touchStartTime = now();\n }\n\n return;\n }\n\n if (data.isTouchEvent && params.touchReleaseOnEdges && !params.loop) {\n if (swiper.isVertical()) {\n // Vertical\n if (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) {\n data.isTouched = false;\n data.isMoved = false;\n return;\n }\n } else if (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate()) {\n return;\n }\n }\n\n if (data.isTouchEvent && document.activeElement) {\n if (e.target === document.activeElement && $(e.target).is(data.focusableElements)) {\n data.isMoved = true;\n swiper.allowClick = false;\n return;\n }\n }\n\n if (data.allowTouchCallbacks) {\n swiper.emit('touchMove', e);\n }\n\n if (e.targetTouches && e.targetTouches.length > 1) return;\n touches.currentX = pageX;\n touches.currentY = pageY;\n var diffX = touches.currentX - touches.startX;\n var diffY = touches.currentY - touches.startY;\n if (swiper.params.threshold && Math.sqrt(Math.pow(diffX, 2) + Math.pow(diffY, 2)) < swiper.params.threshold) return;\n\n if (typeof data.isScrolling === 'undefined') {\n var touchAngle;\n\n if (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) {\n data.isScrolling = false;\n } else {\n // eslint-disable-next-line\n if (diffX * diffX + diffY * diffY >= 25) {\n touchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI;\n data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle;\n }\n }\n }\n\n if (data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n\n if (typeof data.startMoving === 'undefined') {\n if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) {\n data.startMoving = true;\n }\n }\n\n if (data.isScrolling) {\n data.isTouched = false;\n return;\n }\n\n if (!data.startMoving) {\n return;\n }\n\n swiper.allowClick = false;\n\n if (!params.cssMode && e.cancelable) {\n e.preventDefault();\n }\n\n if (params.touchMoveStopPropagation && !params.nested) {\n e.stopPropagation();\n }\n\n if (!data.isMoved) {\n if (params.loop) {\n swiper.loopFix();\n }\n\n data.startTranslate = swiper.getTranslate();\n swiper.setTransition(0);\n\n if (swiper.animating) {\n swiper.$wrapperEl.trigger('webkitTransitionEnd transitionend');\n }\n\n data.allowMomentumBounce = false; // Grab Cursor\n\n if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(true);\n }\n\n swiper.emit('sliderFirstMove', e);\n }\n\n swiper.emit('sliderMove', e);\n data.isMoved = true;\n var diff = swiper.isHorizontal() ? diffX : diffY;\n touches.diff = diff;\n diff *= params.touchRatio;\n if (rtl) diff = -diff;\n swiper.swipeDirection = diff > 0 ? 'prev' : 'next';\n data.currentTranslate = diff + data.startTranslate;\n var disableParentSwiper = true;\n var resistanceRatio = params.resistanceRatio;\n\n if (params.touchReleaseOnEdges) {\n resistanceRatio = 0;\n }\n\n if (diff > 0 && data.currentTranslate > swiper.minTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) data.currentTranslate = swiper.minTranslate() - 1 + Math.pow(-swiper.minTranslate() + data.startTranslate + diff, resistanceRatio);\n } else if (diff < 0 && data.currentTranslate < swiper.maxTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) data.currentTranslate = swiper.maxTranslate() + 1 - Math.pow(swiper.maxTranslate() - data.startTranslate - diff, resistanceRatio);\n }\n\n if (disableParentSwiper) {\n e.preventedByNestedSwiper = true;\n } // Directions locks\n\n\n if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n\n if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n\n if (!swiper.allowSlidePrev && !swiper.allowSlideNext) {\n data.currentTranslate = data.startTranslate;\n } // Threshold\n\n\n if (params.threshold > 0) {\n if (Math.abs(diff) > params.threshold || data.allowThresholdMove) {\n if (!data.allowThresholdMove) {\n data.allowThresholdMove = true;\n touches.startX = touches.currentX;\n touches.startY = touches.currentY;\n data.currentTranslate = data.startTranslate;\n touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY;\n return;\n }\n } else {\n data.currentTranslate = data.startTranslate;\n return;\n }\n }\n\n if (!params.followFinger || params.cssMode) return; // Update active index in free mode\n\n if (params.freeMode || params.watchSlidesProgress || params.watchSlidesVisibility) {\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n if (params.freeMode) {\n // Velocity\n if (data.velocities.length === 0) {\n data.velocities.push({\n position: touches[swiper.isHorizontal() ? 'startX' : 'startY'],\n time: data.touchStartTime\n });\n }\n\n data.velocities.push({\n position: touches[swiper.isHorizontal() ? 'currentX' : 'currentY'],\n time: now()\n });\n } // Update progress\n\n\n swiper.updateProgress(data.currentTranslate); // Update translate\n\n swiper.setTranslate(data.currentTranslate);\n}","import { getWindow, getDocument } from 'ssr-window';\nimport $ from '../../../utils/dom';\nimport { extend, now } from '../../../utils/utils'; // Modified from https://stackoverflow.com/questions/54520554/custom-element-getrootnode-closest-function-crossing-multiple-parent-shadowd\n\nfunction closestElement(selector, base) {\n if (base === void 0) {\n base = this;\n }\n\n function __closestFrom(el) {\n if (!el || el === getDocument() || el === getWindow()) return null;\n if (el.assignedSlot) el = el.assignedSlot;\n var found = el.closest(selector);\n return found || __closestFrom(el.getRootNode().host);\n }\n\n return __closestFrom(base);\n}\n\nexport default function onTouchStart(event) {\n var swiper = this;\n var document = getDocument();\n var window = getWindow();\n var data = swiper.touchEventsData;\n var params = swiper.params,\n touches = swiper.touches,\n enabled = swiper.enabled;\n if (!enabled) return;\n\n if (swiper.animating && params.preventInteractionOnTransition) {\n return;\n }\n\n var e = event;\n if (e.originalEvent) e = e.originalEvent;\n var $targetEl = $(e.target);\n\n if (params.touchEventsTarget === 'wrapper') {\n if (!$targetEl.closest(swiper.wrapperEl).length) return;\n }\n\n data.isTouchEvent = e.type === 'touchstart';\n if (!data.isTouchEvent && 'which' in e && e.which === 3) return;\n if (!data.isTouchEvent && 'button' in e && e.button > 0) return;\n if (data.isTouched && data.isMoved) return; // change target el for shadow root component\n\n var swipingClassHasValue = !!params.noSwipingClass && params.noSwipingClass !== '';\n\n if (swipingClassHasValue && e.target && e.target.shadowRoot && event.path && event.path[0]) {\n $targetEl = $(event.path[0]);\n }\n\n var noSwipingSelector = params.noSwipingSelector ? params.noSwipingSelector : \".\" + params.noSwipingClass;\n var isTargetShadow = !!(e.target && e.target.shadowRoot); // use closestElement for shadow root element to get the actual closest for nested shadow root element\n\n if (params.noSwiping && (isTargetShadow ? closestElement(noSwipingSelector, e.target) : $targetEl.closest(noSwipingSelector)[0])) {\n swiper.allowClick = true;\n return;\n }\n\n if (params.swipeHandler) {\n if (!$targetEl.closest(params.swipeHandler)[0]) return;\n }\n\n touches.currentX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touches.currentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n var startX = touches.currentX;\n var startY = touches.currentY; // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore\n\n var edgeSwipeDetection = params.edgeSwipeDetection || params.iOSEdgeSwipeDetection;\n var edgeSwipeThreshold = params.edgeSwipeThreshold || params.iOSEdgeSwipeThreshold;\n\n if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= window.innerWidth - edgeSwipeThreshold)) {\n if (edgeSwipeDetection === 'prevent') {\n event.preventDefault();\n } else {\n return;\n }\n }\n\n extend(data, {\n isTouched: true,\n isMoved: false,\n allowTouchCallbacks: true,\n isScrolling: undefined,\n startMoving: undefined\n });\n touches.startX = startX;\n touches.startY = startY;\n data.touchStartTime = now();\n swiper.allowClick = true;\n swiper.updateSize();\n swiper.swipeDirection = undefined;\n if (params.threshold > 0) data.allowThresholdMove = false;\n\n if (e.type !== 'touchstart') {\n var preventDefault = true;\n if ($targetEl.is(data.focusableElements)) preventDefault = false;\n\n if (document.activeElement && $(document.activeElement).is(data.focusableElements) && document.activeElement !== $targetEl[0]) {\n document.activeElement.blur();\n }\n\n var shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault;\n\n if ((params.touchStartForcePreventDefault || shouldPreventDefault) && !$targetEl[0].isContentEditable) {\n e.preventDefault();\n }\n }\n\n swiper.emit('touchStart', e);\n}","import setGrabCursor from './setGrabCursor';\nimport unsetGrabCursor from './unsetGrabCursor';\nexport default {\n setGrabCursor: setGrabCursor,\n unsetGrabCursor: unsetGrabCursor\n};","export default function setGrabCursor(moving) {\n var swiper = this;\n if (swiper.support.touch || !swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return;\n var el = swiper.el;\n el.style.cursor = 'move';\n el.style.cursor = moving ? '-webkit-grabbing' : '-webkit-grab';\n el.style.cursor = moving ? '-moz-grabbin' : '-moz-grab';\n el.style.cursor = moving ? 'grabbing' : 'grab';\n}","export default function unsetGrabCursor() {\n var swiper = this;\n\n if (swiper.support.touch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) {\n return;\n }\n\n swiper.el.style.cursor = '';\n}","import loadImage from './loadImage';\nimport preloadImages from './preloadImages';\nexport default {\n loadImage: loadImage,\n preloadImages: preloadImages\n};","import { getWindow } from 'ssr-window';\nimport $ from '../../../utils/dom';\nexport default function loadImage(imageEl, src, srcset, sizes, checkForComplete, callback) {\n var window = getWindow();\n var image;\n\n function onReady() {\n if (callback) callback();\n }\n\n var isPicture = $(imageEl).parent('picture')[0];\n\n if (!isPicture && (!imageEl.complete || !checkForComplete)) {\n if (src) {\n image = new window.Image();\n image.onload = onReady;\n image.onerror = onReady;\n\n if (sizes) {\n image.sizes = sizes;\n }\n\n if (srcset) {\n image.srcset = srcset;\n }\n\n if (src) {\n image.src = src;\n }\n } else {\n onReady();\n }\n } else {\n // image already loaded...\n onReady();\n }\n}","export default function preloadImages() {\n var swiper = this;\n swiper.imagesToLoad = swiper.$el.find('img');\n\n function onReady() {\n if (typeof swiper === 'undefined' || swiper === null || !swiper || swiper.destroyed) return;\n if (swiper.imagesLoaded !== undefined) swiper.imagesLoaded += 1;\n\n if (swiper.imagesLoaded === swiper.imagesToLoad.length) {\n if (swiper.params.updateOnImagesReady) swiper.update();\n swiper.emit('imagesReady');\n }\n }\n\n for (var i = 0; i < swiper.imagesToLoad.length; i += 1) {\n var imageEl = swiper.imagesToLoad[i];\n swiper.loadImage(imageEl, imageEl.currentSrc || imageEl.getAttribute('src'), imageEl.srcset || imageEl.getAttribute('srcset'), imageEl.sizes || imageEl.getAttribute('sizes'), true, onReady);\n }\n}","import loopCreate from './loopCreate';\nimport loopFix from './loopFix';\nimport loopDestroy from './loopDestroy';\nexport default {\n loopCreate: loopCreate,\n loopFix: loopFix,\n loopDestroy: loopDestroy\n};","import { getDocument } from 'ssr-window';\nimport $ from '../../../utils/dom';\nexport default function loopCreate() {\n var swiper = this;\n var document = getDocument();\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl; // Remove duplicated slides\n\n $wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass).remove();\n var slides = $wrapperEl.children(\".\" + params.slideClass);\n\n if (params.loopFillGroupWithBlank) {\n var blankSlidesNum = params.slidesPerGroup - slides.length % params.slidesPerGroup;\n\n if (blankSlidesNum !== params.slidesPerGroup) {\n for (var i = 0; i < blankSlidesNum; i += 1) {\n var blankNode = $(document.createElement('div')).addClass(params.slideClass + \" \" + params.slideBlankClass);\n $wrapperEl.append(blankNode);\n }\n\n slides = $wrapperEl.children(\".\" + params.slideClass);\n }\n }\n\n if (params.slidesPerView === 'auto' && !params.loopedSlides) params.loopedSlides = slides.length;\n swiper.loopedSlides = Math.ceil(parseFloat(params.loopedSlides || params.slidesPerView, 10));\n swiper.loopedSlides += params.loopAdditionalSlides;\n\n if (swiper.loopedSlides > slides.length) {\n swiper.loopedSlides = slides.length;\n }\n\n var prependSlides = [];\n var appendSlides = [];\n slides.each(function (el, index) {\n var slide = $(el);\n\n if (index < swiper.loopedSlides) {\n appendSlides.push(el);\n }\n\n if (index < slides.length && index >= slides.length - swiper.loopedSlides) {\n prependSlides.push(el);\n }\n\n slide.attr('data-swiper-slide-index', index);\n });\n\n for (var _i = 0; _i < appendSlides.length; _i += 1) {\n $wrapperEl.append($(appendSlides[_i].cloneNode(true)).addClass(params.slideDuplicateClass));\n }\n\n for (var _i2 = prependSlides.length - 1; _i2 >= 0; _i2 -= 1) {\n $wrapperEl.prepend($(prependSlides[_i2].cloneNode(true)).addClass(params.slideDuplicateClass));\n }\n}","export default function loopDestroy() {\n var swiper = this;\n var $wrapperEl = swiper.$wrapperEl,\n params = swiper.params,\n slides = swiper.slides;\n $wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass + \",.\" + params.slideClass + \".\" + params.slideBlankClass).remove();\n slides.removeAttr('data-swiper-slide-index');\n}","export default function loopFix() {\n var swiper = this;\n swiper.emit('beforeLoopFix');\n var activeIndex = swiper.activeIndex,\n slides = swiper.slides,\n loopedSlides = swiper.loopedSlides,\n allowSlidePrev = swiper.allowSlidePrev,\n allowSlideNext = swiper.allowSlideNext,\n snapGrid = swiper.snapGrid,\n rtl = swiper.rtlTranslate;\n var newIndex;\n swiper.allowSlidePrev = true;\n swiper.allowSlideNext = true;\n var snapTranslate = -snapGrid[activeIndex];\n var diff = snapTranslate - swiper.getTranslate(); // Fix For Negative Oversliding\n\n if (activeIndex < loopedSlides) {\n newIndex = slides.length - loopedSlides * 3 + activeIndex;\n newIndex += loopedSlides;\n var slideChanged = swiper.slideTo(newIndex, 0, false, true);\n\n if (slideChanged && diff !== 0) {\n swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);\n }\n } else if (activeIndex >= slides.length - loopedSlides) {\n // Fix For Positive Oversliding\n newIndex = -slides.length + activeIndex + loopedSlides;\n newIndex += loopedSlides;\n\n var _slideChanged = swiper.slideTo(newIndex, 0, false, true);\n\n if (_slideChanged && diff !== 0) {\n swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);\n }\n }\n\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n swiper.emit('loopFix');\n}","export default function addSlide(index, slides) {\n var swiper = this;\n var $wrapperEl = swiper.$wrapperEl,\n params = swiper.params,\n activeIndex = swiper.activeIndex;\n var activeIndexBuffer = activeIndex;\n\n if (params.loop) {\n activeIndexBuffer -= swiper.loopedSlides;\n swiper.loopDestroy();\n swiper.slides = $wrapperEl.children(\".\" + params.slideClass);\n }\n\n var baseLength = swiper.slides.length;\n\n if (index <= 0) {\n swiper.prependSlide(slides);\n return;\n }\n\n if (index >= baseLength) {\n swiper.appendSlide(slides);\n return;\n }\n\n var newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + 1 : activeIndexBuffer;\n var slidesBuffer = [];\n\n for (var i = baseLength - 1; i >= index; i -= 1) {\n var currentSlide = swiper.slides.eq(i);\n currentSlide.remove();\n slidesBuffer.unshift(currentSlide);\n }\n\n if (typeof slides === 'object' && 'length' in slides) {\n for (var _i = 0; _i < slides.length; _i += 1) {\n if (slides[_i]) $wrapperEl.append(slides[_i]);\n }\n\n newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + slides.length : activeIndexBuffer;\n } else {\n $wrapperEl.append(slides);\n }\n\n for (var _i2 = 0; _i2 < slidesBuffer.length; _i2 += 1) {\n $wrapperEl.append(slidesBuffer[_i2]);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!(params.observer && swiper.support.observer)) {\n swiper.update();\n }\n\n if (params.loop) {\n swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\n } else {\n swiper.slideTo(newActiveIndex, 0, false);\n }\n}","export default function appendSlide(slides) {\n var swiper = this;\n var $wrapperEl = swiper.$wrapperEl,\n params = swiper.params;\n\n if (params.loop) {\n swiper.loopDestroy();\n }\n\n if (typeof slides === 'object' && 'length' in slides) {\n for (var i = 0; i < slides.length; i += 1) {\n if (slides[i]) $wrapperEl.append(slides[i]);\n }\n } else {\n $wrapperEl.append(slides);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!(params.observer && swiper.support.observer)) {\n swiper.update();\n }\n}","import appendSlide from './appendSlide';\nimport prependSlide from './prependSlide';\nimport addSlide from './addSlide';\nimport removeSlide from './removeSlide';\nimport removeAllSlides from './removeAllSlides';\nexport default {\n appendSlide: appendSlide,\n prependSlide: prependSlide,\n addSlide: addSlide,\n removeSlide: removeSlide,\n removeAllSlides: removeAllSlides\n};","export default function prependSlide(slides) {\n var swiper = this;\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n activeIndex = swiper.activeIndex;\n\n if (params.loop) {\n swiper.loopDestroy();\n }\n\n var newActiveIndex = activeIndex + 1;\n\n if (typeof slides === 'object' && 'length' in slides) {\n for (var i = 0; i < slides.length; i += 1) {\n if (slides[i]) $wrapperEl.prepend(slides[i]);\n }\n\n newActiveIndex = activeIndex + slides.length;\n } else {\n $wrapperEl.prepend(slides);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!(params.observer && swiper.support.observer)) {\n swiper.update();\n }\n\n swiper.slideTo(newActiveIndex, 0, false);\n}","export default function removeAllSlides() {\n var swiper = this;\n var slidesIndexes = [];\n\n for (var i = 0; i < swiper.slides.length; i += 1) {\n slidesIndexes.push(i);\n }\n\n swiper.removeSlide(slidesIndexes);\n}","export default function removeSlide(slidesIndexes) {\n var swiper = this;\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n activeIndex = swiper.activeIndex;\n var activeIndexBuffer = activeIndex;\n\n if (params.loop) {\n activeIndexBuffer -= swiper.loopedSlides;\n swiper.loopDestroy();\n swiper.slides = $wrapperEl.children(\".\" + params.slideClass);\n }\n\n var newActiveIndex = activeIndexBuffer;\n var indexToRemove;\n\n if (typeof slidesIndexes === 'object' && 'length' in slidesIndexes) {\n for (var i = 0; i < slidesIndexes.length; i += 1) {\n indexToRemove = slidesIndexes[i];\n if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();\n if (indexToRemove < newActiveIndex) newActiveIndex -= 1;\n }\n\n newActiveIndex = Math.max(newActiveIndex, 0);\n } else {\n indexToRemove = slidesIndexes;\n if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();\n if (indexToRemove < newActiveIndex) newActiveIndex -= 1;\n newActiveIndex = Math.max(newActiveIndex, 0);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!(params.observer && swiper.support.observer)) {\n swiper.update();\n }\n\n if (params.loop) {\n swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\n } else {\n swiper.slideTo(newActiveIndex, 0, false);\n }\n}","import { extend } from '../../utils/utils';\nexport default {\n useParams: function useParams(instanceParams) {\n var instance = this;\n if (!instance.modules) return;\n Object.keys(instance.modules).forEach(function (moduleName) {\n var module = instance.modules[moduleName]; // Extend params\n\n if (module.params) {\n extend(instanceParams, module.params);\n }\n });\n },\n useModules: function useModules(modulesParams) {\n if (modulesParams === void 0) {\n modulesParams = {};\n }\n\n var instance = this;\n if (!instance.modules) return;\n Object.keys(instance.modules).forEach(function (moduleName) {\n var module = instance.modules[moduleName];\n var moduleParams = modulesParams[moduleName] || {}; // Add event listeners\n\n if (module.on && instance.on) {\n Object.keys(module.on).forEach(function (moduleEventName) {\n instance.on(moduleEventName, module.on[moduleEventName]);\n });\n } // Module create callback\n\n\n if (module.create) {\n module.create.bind(instance)(moduleParams);\n }\n });\n }\n};","import slideTo from './slideTo';\nimport slideToLoop from './slideToLoop';\nimport slideNext from './slideNext';\nimport slidePrev from './slidePrev';\nimport slideReset from './slideReset';\nimport slideToClosest from './slideToClosest';\nimport slideToClickedSlide from './slideToClickedSlide';\nexport default {\n slideTo: slideTo,\n slideToLoop: slideToLoop,\n slideNext: slideNext,\n slidePrev: slidePrev,\n slideReset: slideReset,\n slideToClosest: slideToClosest,\n slideToClickedSlide: slideToClickedSlide\n};","/* eslint no-unused-vars: \"off\" */\nexport default function slideNext(speed, runCallbacks, internal) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n var params = swiper.params,\n animating = swiper.animating,\n enabled = swiper.enabled;\n if (!enabled) return swiper;\n var increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup;\n\n if (params.loop) {\n if (animating && params.loopPreventsSlide) return false;\n swiper.loopFix(); // eslint-disable-next-line\n\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n }\n\n return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slidePrev(speed, runCallbacks, internal) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n var params = swiper.params,\n animating = swiper.animating,\n snapGrid = swiper.snapGrid,\n slidesGrid = swiper.slidesGrid,\n rtlTranslate = swiper.rtlTranslate,\n enabled = swiper.enabled;\n if (!enabled) return swiper;\n\n if (params.loop) {\n if (animating && params.loopPreventsSlide) return false;\n swiper.loopFix(); // eslint-disable-next-line\n\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n }\n\n var translate = rtlTranslate ? swiper.translate : -swiper.translate;\n\n function normalize(val) {\n if (val < 0) return -Math.floor(Math.abs(val));\n return Math.floor(val);\n }\n\n var normalizedTranslate = normalize(translate);\n var normalizedSnapGrid = snapGrid.map(function (val) {\n return normalize(val);\n });\n var prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];\n\n if (typeof prevSnap === 'undefined' && params.cssMode) {\n snapGrid.forEach(function (snap) {\n if (!prevSnap && normalizedTranslate >= snap) prevSnap = snap;\n });\n }\n\n var prevIndex;\n\n if (typeof prevSnap !== 'undefined') {\n prevIndex = slidesGrid.indexOf(prevSnap);\n if (prevIndex < 0) prevIndex = swiper.activeIndex - 1;\n }\n\n return swiper.slideTo(prevIndex, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slideReset(speed, runCallbacks, internal) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);\n}","export default function slideTo(index, speed, runCallbacks, internal, initial) {\n if (index === void 0) {\n index = 0;\n }\n\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n if (typeof index !== 'number' && typeof index !== 'string') {\n throw new Error(\"The 'index' argument cannot have type other than 'number' or 'string'. [\" + typeof index + \"] given.\");\n }\n\n if (typeof index === 'string') {\n /**\n * The `index` argument converted from `string` to `number`.\n * @type {number}\n */\n var indexAsNumber = parseInt(index, 10);\n /**\n * Determines whether the `index` argument is a valid `number`\n * after being converted from the `string` type.\n * @type {boolean}\n */\n\n var isValidNumber = isFinite(indexAsNumber);\n\n if (!isValidNumber) {\n throw new Error(\"The passed-in 'index' (string) couldn't be converted to 'number'. [\" + index + \"] given.\");\n } // Knowing that the converted `index` is a valid number,\n // we can update the original argument's value.\n\n\n index = indexAsNumber;\n }\n\n var swiper = this;\n var slideIndex = index;\n if (slideIndex < 0) slideIndex = 0;\n var params = swiper.params,\n snapGrid = swiper.snapGrid,\n slidesGrid = swiper.slidesGrid,\n previousIndex = swiper.previousIndex,\n activeIndex = swiper.activeIndex,\n rtl = swiper.rtlTranslate,\n wrapperEl = swiper.wrapperEl,\n enabled = swiper.enabled;\n\n if (swiper.animating && params.preventInteractionOnTransition || !enabled && !internal && !initial) {\n return false;\n }\n\n var skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex);\n var snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup);\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n\n if ((activeIndex || params.initialSlide || 0) === (previousIndex || 0) && runCallbacks) {\n swiper.emit('beforeSlideChangeStart');\n }\n\n var translate = -snapGrid[snapIndex]; // Update progress\n\n swiper.updateProgress(translate); // Normalize slideIndex\n\n if (params.normalizeSlideIndex) {\n for (var i = 0; i < slidesGrid.length; i += 1) {\n var normalizedTranslate = -Math.floor(translate * 100);\n var normalizedGird = Math.floor(slidesGrid[i] * 100);\n var normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100);\n\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (normalizedTranslate >= normalizedGird && normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGird) / 2) {\n slideIndex = i;\n } else if (normalizedTranslate >= normalizedGird && normalizedTranslate < normalizedGridNext) {\n slideIndex = i + 1;\n }\n } else if (normalizedTranslate >= normalizedGird) {\n slideIndex = i;\n }\n }\n } // Directions locks\n\n\n if (swiper.initialized && slideIndex !== activeIndex) {\n if (!swiper.allowSlideNext && translate < swiper.translate && translate < swiper.minTranslate()) {\n return false;\n }\n\n if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) {\n if ((activeIndex || 0) !== slideIndex) return false;\n }\n }\n\n var direction;\n if (slideIndex > activeIndex) direction = 'next';else if (slideIndex < activeIndex) direction = 'prev';else direction = 'reset'; // Update Index\n\n if (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate) {\n swiper.updateActiveIndex(slideIndex); // Update Height\n\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n\n swiper.updateSlidesClasses();\n\n if (params.effect !== 'slide') {\n swiper.setTranslate(translate);\n }\n\n if (direction !== 'reset') {\n swiper.transitionStart(runCallbacks, direction);\n swiper.transitionEnd(runCallbacks, direction);\n }\n\n return false;\n }\n\n if (params.cssMode) {\n var isH = swiper.isHorizontal();\n var t = -translate;\n\n if (rtl) {\n t = wrapperEl.scrollWidth - wrapperEl.offsetWidth - t;\n }\n\n if (speed === 0) {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n } else {\n // eslint-disable-next-line\n if (wrapperEl.scrollTo) {\n var _wrapperEl$scrollTo;\n\n wrapperEl.scrollTo((_wrapperEl$scrollTo = {}, _wrapperEl$scrollTo[isH ? 'left' : 'top'] = t, _wrapperEl$scrollTo.behavior = 'smooth', _wrapperEl$scrollTo));\n } else {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n }\n }\n\n return true;\n }\n\n if (speed === 0) {\n swiper.setTransition(0);\n swiper.setTranslate(translate);\n swiper.updateActiveIndex(slideIndex);\n swiper.updateSlidesClasses();\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.transitionStart(runCallbacks, direction);\n swiper.transitionEnd(runCallbacks, direction);\n } else {\n swiper.setTransition(speed);\n swiper.setTranslate(translate);\n swiper.updateActiveIndex(slideIndex);\n swiper.updateSlidesClasses();\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.transitionStart(runCallbacks, direction);\n\n if (!swiper.animating) {\n swiper.animating = true;\n\n if (!swiper.onSlideToWrapperTransitionEnd) {\n swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);\n swiper.onSlideToWrapperTransitionEnd = null;\n delete swiper.onSlideToWrapperTransitionEnd;\n swiper.transitionEnd(runCallbacks, direction);\n };\n }\n\n swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);\n }\n }\n\n return true;\n}","import $ from '../../../utils/dom';\nimport { nextTick } from '../../../utils/utils';\nexport default function slideToClickedSlide() {\n var swiper = this;\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl;\n var slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;\n var slideToIndex = swiper.clickedIndex;\n var realIndex;\n\n if (params.loop) {\n if (swiper.animating) return;\n realIndex = parseInt($(swiper.clickedSlide).attr('data-swiper-slide-index'), 10);\n\n if (params.centeredSlides) {\n if (slideToIndex < swiper.loopedSlides - slidesPerView / 2 || slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2) {\n swiper.loopFix();\n slideToIndex = $wrapperEl.children(\".\" + params.slideClass + \"[data-swiper-slide-index=\\\"\" + realIndex + \"\\\"]:not(.\" + params.slideDuplicateClass + \")\").eq(0).index();\n nextTick(function () {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else if (slideToIndex > swiper.slides.length - slidesPerView) {\n swiper.loopFix();\n slideToIndex = $wrapperEl.children(\".\" + params.slideClass + \"[data-swiper-slide-index=\\\"\" + realIndex + \"\\\"]:not(.\" + params.slideDuplicateClass + \")\").eq(0).index();\n nextTick(function () {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else {\n swiper.slideTo(slideToIndex);\n }\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slideToClosest(speed, runCallbacks, internal, threshold) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n if (threshold === void 0) {\n threshold = 0.5;\n }\n\n var swiper = this;\n var index = swiper.activeIndex;\n var skip = Math.min(swiper.params.slidesPerGroupSkip, index);\n var snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup);\n var translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n\n if (translate >= swiper.snapGrid[snapIndex]) {\n // The current translate is on or after the current snap index, so the choice\n // is between the current index and the one after it.\n var currentSnap = swiper.snapGrid[snapIndex];\n var nextSnap = swiper.snapGrid[snapIndex + 1];\n\n if (translate - currentSnap > (nextSnap - currentSnap) * threshold) {\n index += swiper.params.slidesPerGroup;\n }\n } else {\n // The current translate is before the current snap index, so the choice\n // is between the current index and the one before it.\n var prevSnap = swiper.snapGrid[snapIndex - 1];\n var _currentSnap = swiper.snapGrid[snapIndex];\n\n if (translate - prevSnap <= (_currentSnap - prevSnap) * threshold) {\n index -= swiper.params.slidesPerGroup;\n }\n }\n\n index = Math.max(index, 0);\n index = Math.min(index, swiper.slidesGrid.length - 1);\n return swiper.slideTo(index, speed, runCallbacks, internal);\n}","export default function slideToLoop(index, speed, runCallbacks, internal) {\n if (index === void 0) {\n index = 0;\n }\n\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n var newIndex = index;\n\n if (swiper.params.loop) {\n newIndex += swiper.loopedSlides;\n }\n\n return swiper.slideTo(newIndex, speed, runCallbacks, internal);\n}","import setTransition from './setTransition';\nimport transitionStart from './transitionStart';\nimport transitionEnd from './transitionEnd';\nexport default {\n setTransition: setTransition,\n transitionStart: transitionStart,\n transitionEnd: transitionEnd\n};","export default function setTransition(duration, byController) {\n var swiper = this;\n\n if (!swiper.params.cssMode) {\n swiper.$wrapperEl.transition(duration);\n }\n\n swiper.emit('setTransition', duration, byController);\n}","export default function transitionEnd(runCallbacks, direction) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n var activeIndex = swiper.activeIndex,\n previousIndex = swiper.previousIndex,\n params = swiper.params;\n swiper.animating = false;\n if (params.cssMode) return;\n swiper.setTransition(0);\n var dir = direction;\n\n if (!dir) {\n if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';\n }\n\n swiper.emit('transitionEnd');\n\n if (runCallbacks && activeIndex !== previousIndex) {\n if (dir === 'reset') {\n swiper.emit('slideResetTransitionEnd');\n return;\n }\n\n swiper.emit('slideChangeTransitionEnd');\n\n if (dir === 'next') {\n swiper.emit('slideNextTransitionEnd');\n } else {\n swiper.emit('slidePrevTransitionEnd');\n }\n }\n}","export default function transitionStart(runCallbacks, direction) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n var activeIndex = swiper.activeIndex,\n params = swiper.params,\n previousIndex = swiper.previousIndex;\n if (params.cssMode) return;\n\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n\n var dir = direction;\n\n if (!dir) {\n if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';\n }\n\n swiper.emit('transitionStart');\n\n if (runCallbacks && activeIndex !== previousIndex) {\n if (dir === 'reset') {\n swiper.emit('slideResetTransitionStart');\n return;\n }\n\n swiper.emit('slideChangeTransitionStart');\n\n if (dir === 'next') {\n swiper.emit('slideNextTransitionStart');\n } else {\n swiper.emit('slidePrevTransitionStart');\n }\n }\n}","import { getTranslate } from '../../../utils/utils';\nexport default function getSwiperTranslate(axis) {\n if (axis === void 0) {\n axis = this.isHorizontal() ? 'x' : 'y';\n }\n\n var swiper = this;\n var params = swiper.params,\n rtl = swiper.rtlTranslate,\n translate = swiper.translate,\n $wrapperEl = swiper.$wrapperEl;\n\n if (params.virtualTranslate) {\n return rtl ? -translate : translate;\n }\n\n if (params.cssMode) {\n return translate;\n }\n\n var currentTranslate = getTranslate($wrapperEl[0], axis);\n if (rtl) currentTranslate = -currentTranslate;\n return currentTranslate || 0;\n}","import getTranslate from './getTranslate';\nimport setTranslate from './setTranslate';\nimport minTranslate from './minTranslate';\nimport maxTranslate from './maxTranslate';\nimport translateTo from './translateTo';\nexport default {\n getTranslate: getTranslate,\n setTranslate: setTranslate,\n minTranslate: minTranslate,\n maxTranslate: maxTranslate,\n translateTo: translateTo\n};","export default function maxTranslate() {\n return -this.snapGrid[this.snapGrid.length - 1];\n}","export default function minTranslate() {\n return -this.snapGrid[0];\n}","export default function setTranslate(translate, byController) {\n var swiper = this;\n var rtl = swiper.rtlTranslate,\n params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n wrapperEl = swiper.wrapperEl,\n progress = swiper.progress;\n var x = 0;\n var y = 0;\n var z = 0;\n\n if (swiper.isHorizontal()) {\n x = rtl ? -translate : translate;\n } else {\n y = translate;\n }\n\n if (params.roundLengths) {\n x = Math.floor(x);\n y = Math.floor(y);\n }\n\n if (params.cssMode) {\n wrapperEl[swiper.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = swiper.isHorizontal() ? -x : -y;\n } else if (!params.virtualTranslate) {\n $wrapperEl.transform(\"translate3d(\" + x + \"px, \" + y + \"px, \" + z + \"px)\");\n }\n\n swiper.previousTranslate = swiper.translate;\n swiper.translate = swiper.isHorizontal() ? x : y; // Check if we need to update progress\n\n var newProgress;\n var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (translate - swiper.minTranslate()) / translatesDiff;\n }\n\n if (newProgress !== progress) {\n swiper.updateProgress(translate);\n }\n\n swiper.emit('setTranslate', swiper.translate, byController);\n}","export default function translateTo(translate, speed, runCallbacks, translateBounds, internal) {\n if (translate === void 0) {\n translate = 0;\n }\n\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n if (translateBounds === void 0) {\n translateBounds = true;\n }\n\n var swiper = this;\n var params = swiper.params,\n wrapperEl = swiper.wrapperEl;\n\n if (swiper.animating && params.preventInteractionOnTransition) {\n return false;\n }\n\n var minTranslate = swiper.minTranslate();\n var maxTranslate = swiper.maxTranslate();\n var newTranslate;\n if (translateBounds && translate > minTranslate) newTranslate = minTranslate;else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate;else newTranslate = translate; // Update progress\n\n swiper.updateProgress(newTranslate);\n\n if (params.cssMode) {\n var isH = swiper.isHorizontal();\n\n if (speed === 0) {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;\n } else {\n // eslint-disable-next-line\n if (wrapperEl.scrollTo) {\n var _wrapperEl$scrollTo;\n\n wrapperEl.scrollTo((_wrapperEl$scrollTo = {}, _wrapperEl$scrollTo[isH ? 'left' : 'top'] = -newTranslate, _wrapperEl$scrollTo.behavior = 'smooth', _wrapperEl$scrollTo));\n } else {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;\n }\n }\n\n return true;\n }\n\n if (speed === 0) {\n swiper.setTransition(0);\n swiper.setTranslate(newTranslate);\n\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionEnd');\n }\n } else {\n swiper.setTransition(speed);\n swiper.setTranslate(newTranslate);\n\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionStart');\n }\n\n if (!swiper.animating) {\n swiper.animating = true;\n\n if (!swiper.onTranslateToWrapperTransitionEnd) {\n swiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd);\n swiper.onTranslateToWrapperTransitionEnd = null;\n delete swiper.onTranslateToWrapperTransitionEnd;\n\n if (runCallbacks) {\n swiper.emit('transitionEnd');\n }\n };\n }\n\n swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd);\n }\n }\n\n return true;\n}","import updateSize from './updateSize';\nimport updateSlides from './updateSlides';\nimport updateAutoHeight from './updateAutoHeight';\nimport updateSlidesOffset from './updateSlidesOffset';\nimport updateSlidesProgress from './updateSlidesProgress';\nimport updateProgress from './updateProgress';\nimport updateSlidesClasses from './updateSlidesClasses';\nimport updateActiveIndex from './updateActiveIndex';\nimport updateClickedSlide from './updateClickedSlide';\nexport default {\n updateSize: updateSize,\n updateSlides: updateSlides,\n updateAutoHeight: updateAutoHeight,\n updateSlidesOffset: updateSlidesOffset,\n updateSlidesProgress: updateSlidesProgress,\n updateProgress: updateProgress,\n updateSlidesClasses: updateSlidesClasses,\n updateActiveIndex: updateActiveIndex,\n updateClickedSlide: updateClickedSlide\n};","import { extend } from '../../../utils/utils';\nexport default function updateActiveIndex(newActiveIndex) {\n var swiper = this;\n var translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n var slidesGrid = swiper.slidesGrid,\n snapGrid = swiper.snapGrid,\n params = swiper.params,\n previousIndex = swiper.activeIndex,\n previousRealIndex = swiper.realIndex,\n previousSnapIndex = swiper.snapIndex;\n var activeIndex = newActiveIndex;\n var snapIndex;\n\n if (typeof activeIndex === 'undefined') {\n for (var i = 0; i < slidesGrid.length; i += 1) {\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2) {\n activeIndex = i;\n } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) {\n activeIndex = i + 1;\n }\n } else if (translate >= slidesGrid[i]) {\n activeIndex = i;\n }\n } // Normalize slideIndex\n\n\n if (params.normalizeSlideIndex) {\n if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0;\n }\n }\n\n if (snapGrid.indexOf(translate) >= 0) {\n snapIndex = snapGrid.indexOf(translate);\n } else {\n var skip = Math.min(params.slidesPerGroupSkip, activeIndex);\n snapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup);\n }\n\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n\n if (activeIndex === previousIndex) {\n if (snapIndex !== previousSnapIndex) {\n swiper.snapIndex = snapIndex;\n swiper.emit('snapIndexChange');\n }\n\n return;\n } // Get real index\n\n\n var realIndex = parseInt(swiper.slides.eq(activeIndex).attr('data-swiper-slide-index') || activeIndex, 10);\n extend(swiper, {\n snapIndex: snapIndex,\n realIndex: realIndex,\n previousIndex: previousIndex,\n activeIndex: activeIndex\n });\n swiper.emit('activeIndexChange');\n swiper.emit('snapIndexChange');\n\n if (previousRealIndex !== realIndex) {\n swiper.emit('realIndexChange');\n }\n\n if (swiper.initialized || swiper.params.runCallbacksOnInit) {\n swiper.emit('slideChange');\n }\n}","export default function updateAutoHeight(speed) {\n var swiper = this;\n var activeSlides = [];\n var isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n var newHeight = 0;\n var i;\n\n if (typeof speed === 'number') {\n swiper.setTransition(speed);\n } else if (speed === true) {\n swiper.setTransition(swiper.params.speed);\n }\n\n var getSlideByIndex = function getSlideByIndex(index) {\n if (isVirtual) {\n return swiper.slides.filter(function (el) {\n return parseInt(el.getAttribute('data-swiper-slide-index'), 10) === index;\n })[0];\n }\n\n return swiper.slides.eq(index)[0];\n }; // Find slides currently in view\n\n\n if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) {\n if (swiper.params.centeredSlides) {\n swiper.visibleSlides.each(function (slide) {\n activeSlides.push(slide);\n });\n } else {\n for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {\n var index = swiper.activeIndex + i;\n if (index > swiper.slides.length && !isVirtual) break;\n activeSlides.push(getSlideByIndex(index));\n }\n }\n } else {\n activeSlides.push(getSlideByIndex(swiper.activeIndex));\n } // Find new height from highest slide in view\n\n\n for (i = 0; i < activeSlides.length; i += 1) {\n if (typeof activeSlides[i] !== 'undefined') {\n var height = activeSlides[i].offsetHeight;\n newHeight = height > newHeight ? height : newHeight;\n }\n } // Update Height\n\n\n if (newHeight) swiper.$wrapperEl.css('height', newHeight + \"px\");\n}","import $ from '../../../utils/dom';\nexport default function updateClickedSlide(e) {\n var swiper = this;\n var params = swiper.params;\n var slide = $(e.target).closest(\".\" + params.slideClass)[0];\n var slideFound = false;\n var slideIndex;\n\n if (slide) {\n for (var i = 0; i < swiper.slides.length; i += 1) {\n if (swiper.slides[i] === slide) {\n slideFound = true;\n slideIndex = i;\n break;\n }\n }\n }\n\n if (slide && slideFound) {\n swiper.clickedSlide = slide;\n\n if (swiper.virtual && swiper.params.virtual.enabled) {\n swiper.clickedIndex = parseInt($(slide).attr('data-swiper-slide-index'), 10);\n } else {\n swiper.clickedIndex = slideIndex;\n }\n } else {\n swiper.clickedSlide = undefined;\n swiper.clickedIndex = undefined;\n return;\n }\n\n if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) {\n swiper.slideToClickedSlide();\n }\n}","import { extend } from '../../../utils/utils';\nexport default function updateProgress(translate) {\n var swiper = this;\n\n if (typeof translate === 'undefined') {\n var multiplier = swiper.rtlTranslate ? -1 : 1; // eslint-disable-next-line\n\n translate = swiper && swiper.translate && swiper.translate * multiplier || 0;\n }\n\n var params = swiper.params;\n var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n var progress = swiper.progress,\n isBeginning = swiper.isBeginning,\n isEnd = swiper.isEnd;\n var wasBeginning = isBeginning;\n var wasEnd = isEnd;\n\n if (translatesDiff === 0) {\n progress = 0;\n isBeginning = true;\n isEnd = true;\n } else {\n progress = (translate - swiper.minTranslate()) / translatesDiff;\n isBeginning = progress <= 0;\n isEnd = progress >= 1;\n }\n\n extend(swiper, {\n progress: progress,\n isBeginning: isBeginning,\n isEnd: isEnd\n });\n if (params.watchSlidesProgress || params.watchSlidesVisibility || params.centeredSlides && params.autoHeight) swiper.updateSlidesProgress(translate);\n\n if (isBeginning && !wasBeginning) {\n swiper.emit('reachBeginning toEdge');\n }\n\n if (isEnd && !wasEnd) {\n swiper.emit('reachEnd toEdge');\n }\n\n if (wasBeginning && !isBeginning || wasEnd && !isEnd) {\n swiper.emit('fromEdge');\n }\n\n swiper.emit('progress', progress);\n}","import { extend } from '../../../utils/utils';\nexport default function updateSize() {\n var swiper = this;\n var width;\n var height;\n var $el = swiper.$el;\n\n if (typeof swiper.params.width !== 'undefined' && swiper.params.width !== null) {\n width = swiper.params.width;\n } else {\n width = $el[0].clientWidth;\n }\n\n if (typeof swiper.params.height !== 'undefined' && swiper.params.height !== null) {\n height = swiper.params.height;\n } else {\n height = $el[0].clientHeight;\n }\n\n if (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) {\n return;\n } // Subtract paddings\n\n\n width = width - parseInt($el.css('padding-left') || 0, 10) - parseInt($el.css('padding-right') || 0, 10);\n height = height - parseInt($el.css('padding-top') || 0, 10) - parseInt($el.css('padding-bottom') || 0, 10);\n if (Number.isNaN(width)) width = 0;\n if (Number.isNaN(height)) height = 0;\n extend(swiper, {\n width: width,\n height: height,\n size: swiper.isHorizontal() ? width : height\n });\n}","import { extend } from '../../../utils/utils';\nexport default function updateSlides() {\n var swiper = this;\n\n function getDirectionLabel(property) {\n if (swiper.isHorizontal()) {\n return property;\n } // prettier-ignore\n\n\n return {\n 'width': 'height',\n 'margin-top': 'margin-left',\n 'margin-bottom ': 'margin-right',\n 'margin-left': 'margin-top',\n 'margin-right': 'margin-bottom',\n 'padding-left': 'padding-top',\n 'padding-right': 'padding-bottom',\n 'marginRight': 'marginBottom'\n }[property];\n }\n\n function getDirectionPropertyValue(node, label) {\n return parseFloat(node.getPropertyValue(getDirectionLabel(label)) || 0);\n }\n\n var params = swiper.params;\n var $wrapperEl = swiper.$wrapperEl,\n swiperSize = swiper.size,\n rtl = swiper.rtlTranslate,\n wrongRTL = swiper.wrongRTL;\n var isVirtual = swiper.virtual && params.virtual.enabled;\n var previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length;\n var slides = $wrapperEl.children(\".\" + swiper.params.slideClass);\n var slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length;\n var snapGrid = [];\n var slidesGrid = [];\n var slidesSizesGrid = [];\n var offsetBefore = params.slidesOffsetBefore;\n\n if (typeof offsetBefore === 'function') {\n offsetBefore = params.slidesOffsetBefore.call(swiper);\n }\n\n var offsetAfter = params.slidesOffsetAfter;\n\n if (typeof offsetAfter === 'function') {\n offsetAfter = params.slidesOffsetAfter.call(swiper);\n }\n\n var previousSnapGridLength = swiper.snapGrid.length;\n var previousSlidesGridLength = swiper.slidesGrid.length;\n var spaceBetween = params.spaceBetween;\n var slidePosition = -offsetBefore;\n var prevSlideSize = 0;\n var index = 0;\n\n if (typeof swiperSize === 'undefined') {\n return;\n }\n\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize;\n }\n\n swiper.virtualSize = -spaceBetween; // reset margins\n\n if (rtl) slides.css({\n marginLeft: '',\n marginBottom: '',\n marginTop: ''\n });else slides.css({\n marginRight: '',\n marginBottom: '',\n marginTop: ''\n });\n var slidesNumberEvenToRows;\n\n if (params.slidesPerColumn > 1) {\n if (Math.floor(slidesLength / params.slidesPerColumn) === slidesLength / swiper.params.slidesPerColumn) {\n slidesNumberEvenToRows = slidesLength;\n } else {\n slidesNumberEvenToRows = Math.ceil(slidesLength / params.slidesPerColumn) * params.slidesPerColumn;\n }\n\n if (params.slidesPerView !== 'auto' && params.slidesPerColumnFill === 'row') {\n slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, params.slidesPerView * params.slidesPerColumn);\n }\n } // Calc slides\n\n\n var slideSize;\n var slidesPerColumn = params.slidesPerColumn;\n var slidesPerRow = slidesNumberEvenToRows / slidesPerColumn;\n var numFullColumns = Math.floor(slidesLength / params.slidesPerColumn);\n\n for (var i = 0; i < slidesLength; i += 1) {\n slideSize = 0;\n var slide = slides.eq(i);\n\n if (params.slidesPerColumn > 1) {\n // Set slides order\n var newSlideOrderIndex = void 0;\n var column = void 0;\n var row = void 0;\n\n if (params.slidesPerColumnFill === 'row' && params.slidesPerGroup > 1) {\n var groupIndex = Math.floor(i / (params.slidesPerGroup * params.slidesPerColumn));\n var slideIndexInGroup = i - params.slidesPerColumn * params.slidesPerGroup * groupIndex;\n var columnsInGroup = groupIndex === 0 ? params.slidesPerGroup : Math.min(Math.ceil((slidesLength - groupIndex * slidesPerColumn * params.slidesPerGroup) / slidesPerColumn), params.slidesPerGroup);\n row = Math.floor(slideIndexInGroup / columnsInGroup);\n column = slideIndexInGroup - row * columnsInGroup + groupIndex * params.slidesPerGroup;\n newSlideOrderIndex = column + row * slidesNumberEvenToRows / slidesPerColumn;\n slide.css({\n '-webkit-box-ordinal-group': newSlideOrderIndex,\n '-moz-box-ordinal-group': newSlideOrderIndex,\n '-ms-flex-order': newSlideOrderIndex,\n '-webkit-order': newSlideOrderIndex,\n order: newSlideOrderIndex\n });\n } else if (params.slidesPerColumnFill === 'column') {\n column = Math.floor(i / slidesPerColumn);\n row = i - column * slidesPerColumn;\n\n if (column > numFullColumns || column === numFullColumns && row === slidesPerColumn - 1) {\n row += 1;\n\n if (row >= slidesPerColumn) {\n row = 0;\n column += 1;\n }\n }\n } else {\n row = Math.floor(i / slidesPerRow);\n column = i - row * slidesPerRow;\n }\n\n slide.css(getDirectionLabel('margin-top'), row !== 0 ? params.spaceBetween && params.spaceBetween + \"px\" : '');\n }\n\n if (slide.css('display') === 'none') continue; // eslint-disable-line\n\n if (params.slidesPerView === 'auto') {\n var slideStyles = getComputedStyle(slide[0]);\n var currentTransform = slide[0].style.transform;\n var currentWebKitTransform = slide[0].style.webkitTransform;\n\n if (currentTransform) {\n slide[0].style.transform = 'none';\n }\n\n if (currentWebKitTransform) {\n slide[0].style.webkitTransform = 'none';\n }\n\n if (params.roundLengths) {\n slideSize = swiper.isHorizontal() ? slide.outerWidth(true) : slide.outerHeight(true);\n } else {\n // eslint-disable-next-line\n var width = getDirectionPropertyValue(slideStyles, 'width');\n var paddingLeft = getDirectionPropertyValue(slideStyles, 'padding-left');\n var paddingRight = getDirectionPropertyValue(slideStyles, 'padding-right');\n var marginLeft = getDirectionPropertyValue(slideStyles, 'margin-left');\n var marginRight = getDirectionPropertyValue(slideStyles, 'margin-right');\n var boxSizing = slideStyles.getPropertyValue('box-sizing');\n\n if (boxSizing && boxSizing === 'border-box') {\n slideSize = width + marginLeft + marginRight;\n } else {\n var _slide$ = slide[0],\n clientWidth = _slide$.clientWidth,\n offsetWidth = _slide$.offsetWidth;\n slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight + (offsetWidth - clientWidth);\n }\n }\n\n if (currentTransform) {\n slide[0].style.transform = currentTransform;\n }\n\n if (currentWebKitTransform) {\n slide[0].style.webkitTransform = currentWebKitTransform;\n }\n\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n } else {\n slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView;\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n\n if (slides[i]) {\n slides[i].style[getDirectionLabel('width')] = slideSize + \"px\";\n }\n }\n\n if (slides[i]) {\n slides[i].swiperSlideSize = slideSize;\n }\n\n slidesSizesGrid.push(slideSize);\n\n if (params.centeredSlides) {\n slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween;\n if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0;\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n } else {\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if ((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n slidePosition = slidePosition + slideSize + spaceBetween;\n }\n\n swiper.virtualSize += slideSize + spaceBetween;\n prevSlideSize = slideSize;\n index += 1;\n }\n\n swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter;\n var newSlidesGrid;\n\n if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) {\n $wrapperEl.css({\n width: swiper.virtualSize + params.spaceBetween + \"px\"\n });\n }\n\n if (params.setWrapperSize) {\n var _$wrapperEl$css;\n\n $wrapperEl.css((_$wrapperEl$css = {}, _$wrapperEl$css[getDirectionLabel('width')] = swiper.virtualSize + params.spaceBetween + \"px\", _$wrapperEl$css));\n }\n\n if (params.slidesPerColumn > 1) {\n var _$wrapperEl$css2;\n\n swiper.virtualSize = (slideSize + params.spaceBetween) * slidesNumberEvenToRows;\n swiper.virtualSize = Math.ceil(swiper.virtualSize / params.slidesPerColumn) - params.spaceBetween;\n $wrapperEl.css((_$wrapperEl$css2 = {}, _$wrapperEl$css2[getDirectionLabel('width')] = swiper.virtualSize + params.spaceBetween + \"px\", _$wrapperEl$css2));\n\n if (params.centeredSlides) {\n newSlidesGrid = [];\n\n for (var _i = 0; _i < snapGrid.length; _i += 1) {\n var slidesGridItem = snapGrid[_i];\n if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);\n if (snapGrid[_i] < swiper.virtualSize + snapGrid[0]) newSlidesGrid.push(slidesGridItem);\n }\n\n snapGrid = newSlidesGrid;\n }\n } // Remove last grid elements depending on width\n\n\n if (!params.centeredSlides) {\n newSlidesGrid = [];\n\n for (var _i2 = 0; _i2 < snapGrid.length; _i2 += 1) {\n var _slidesGridItem = snapGrid[_i2];\n if (params.roundLengths) _slidesGridItem = Math.floor(_slidesGridItem);\n\n if (snapGrid[_i2] <= swiper.virtualSize - swiperSize) {\n newSlidesGrid.push(_slidesGridItem);\n }\n }\n\n snapGrid = newSlidesGrid;\n\n if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) {\n snapGrid.push(swiper.virtualSize - swiperSize);\n }\n }\n\n if (snapGrid.length === 0) snapGrid = [0];\n\n if (params.spaceBetween !== 0) {\n var _slides$filter$css;\n\n var key = swiper.isHorizontal() && rtl ? 'marginLeft' : getDirectionLabel('marginRight');\n slides.filter(function (_, slideIndex) {\n if (!params.cssMode) return true;\n\n if (slideIndex === slides.length - 1) {\n return false;\n }\n\n return true;\n }).css((_slides$filter$css = {}, _slides$filter$css[key] = spaceBetween + \"px\", _slides$filter$css));\n }\n\n if (params.centeredSlides && params.centeredSlidesBounds) {\n var allSlidesSize = 0;\n slidesSizesGrid.forEach(function (slideSizeValue) {\n allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);\n });\n allSlidesSize -= params.spaceBetween;\n var maxSnap = allSlidesSize - swiperSize;\n snapGrid = snapGrid.map(function (snap) {\n if (snap < 0) return -offsetBefore;\n if (snap > maxSnap) return maxSnap + offsetAfter;\n return snap;\n });\n }\n\n if (params.centerInsufficientSlides) {\n var _allSlidesSize = 0;\n slidesSizesGrid.forEach(function (slideSizeValue) {\n _allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);\n });\n _allSlidesSize -= params.spaceBetween;\n\n if (_allSlidesSize < swiperSize) {\n var allSlidesOffset = (swiperSize - _allSlidesSize) / 2;\n snapGrid.forEach(function (snap, snapIndex) {\n snapGrid[snapIndex] = snap - allSlidesOffset;\n });\n slidesGrid.forEach(function (snap, snapIndex) {\n slidesGrid[snapIndex] = snap + allSlidesOffset;\n });\n }\n }\n\n extend(swiper, {\n slides: slides,\n snapGrid: snapGrid,\n slidesGrid: slidesGrid,\n slidesSizesGrid: slidesSizesGrid\n });\n\n if (slidesLength !== previousSlidesLength) {\n swiper.emit('slidesLengthChange');\n }\n\n if (snapGrid.length !== previousSnapGridLength) {\n if (swiper.params.watchOverflow) swiper.checkOverflow();\n swiper.emit('snapGridLengthChange');\n }\n\n if (slidesGrid.length !== previousSlidesGridLength) {\n swiper.emit('slidesGridLengthChange');\n }\n\n if (params.watchSlidesProgress || params.watchSlidesVisibility) {\n swiper.updateSlidesOffset();\n }\n}","export default function updateSlidesClasses() {\n var swiper = this;\n var slides = swiper.slides,\n params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n activeIndex = swiper.activeIndex,\n realIndex = swiper.realIndex;\n var isVirtual = swiper.virtual && params.virtual.enabled;\n slides.removeClass(params.slideActiveClass + \" \" + params.slideNextClass + \" \" + params.slidePrevClass + \" \" + params.slideDuplicateActiveClass + \" \" + params.slideDuplicateNextClass + \" \" + params.slideDuplicatePrevClass);\n var activeSlide;\n\n if (isVirtual) {\n activeSlide = swiper.$wrapperEl.find(\".\" + params.slideClass + \"[data-swiper-slide-index=\\\"\" + activeIndex + \"\\\"]\");\n } else {\n activeSlide = slides.eq(activeIndex);\n } // Active classes\n\n\n activeSlide.addClass(params.slideActiveClass);\n\n if (params.loop) {\n // Duplicate to all looped slides\n if (activeSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(\".\" + params.slideClass + \":not(.\" + params.slideDuplicateClass + \")[data-swiper-slide-index=\\\"\" + realIndex + \"\\\"]\").addClass(params.slideDuplicateActiveClass);\n } else {\n $wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass + \"[data-swiper-slide-index=\\\"\" + realIndex + \"\\\"]\").addClass(params.slideDuplicateActiveClass);\n }\n } // Next Slide\n\n\n var nextSlide = activeSlide.nextAll(\".\" + params.slideClass).eq(0).addClass(params.slideNextClass);\n\n if (params.loop && nextSlide.length === 0) {\n nextSlide = slides.eq(0);\n nextSlide.addClass(params.slideNextClass);\n } // Prev Slide\n\n\n var prevSlide = activeSlide.prevAll(\".\" + params.slideClass).eq(0).addClass(params.slidePrevClass);\n\n if (params.loop && prevSlide.length === 0) {\n prevSlide = slides.eq(-1);\n prevSlide.addClass(params.slidePrevClass);\n }\n\n if (params.loop) {\n // Duplicate to all looped slides\n if (nextSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(\".\" + params.slideClass + \":not(.\" + params.slideDuplicateClass + \")[data-swiper-slide-index=\\\"\" + nextSlide.attr('data-swiper-slide-index') + \"\\\"]\").addClass(params.slideDuplicateNextClass);\n } else {\n $wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass + \"[data-swiper-slide-index=\\\"\" + nextSlide.attr('data-swiper-slide-index') + \"\\\"]\").addClass(params.slideDuplicateNextClass);\n }\n\n if (prevSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(\".\" + params.slideClass + \":not(.\" + params.slideDuplicateClass + \")[data-swiper-slide-index=\\\"\" + prevSlide.attr('data-swiper-slide-index') + \"\\\"]\").addClass(params.slideDuplicatePrevClass);\n } else {\n $wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass + \"[data-swiper-slide-index=\\\"\" + prevSlide.attr('data-swiper-slide-index') + \"\\\"]\").addClass(params.slideDuplicatePrevClass);\n }\n }\n\n swiper.emitSlidesClasses();\n}","export default function updateSlidesOffset() {\n var swiper = this;\n var slides = swiper.slides;\n\n for (var i = 0; i < slides.length; i += 1) {\n slides[i].swiperSlideOffset = swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop;\n }\n}","import $ from '../../../utils/dom';\nexport default function updateSlidesProgress(translate) {\n if (translate === void 0) {\n translate = this && this.translate || 0;\n }\n\n var swiper = this;\n var params = swiper.params;\n var slides = swiper.slides,\n rtl = swiper.rtlTranslate;\n if (slides.length === 0) return;\n if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset();\n var offsetCenter = -translate;\n if (rtl) offsetCenter = translate; // Visible Slides\n\n slides.removeClass(params.slideVisibleClass);\n swiper.visibleSlidesIndexes = [];\n swiper.visibleSlides = [];\n\n for (var i = 0; i < slides.length; i += 1) {\n var slide = slides[i];\n var slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slide.swiperSlideOffset) / (slide.swiperSlideSize + params.spaceBetween);\n\n if (params.watchSlidesVisibility || params.centeredSlides && params.autoHeight) {\n var slideBefore = -(offsetCenter - slide.swiperSlideOffset);\n var slideAfter = slideBefore + swiper.slidesSizesGrid[i];\n var isVisible = slideBefore >= 0 && slideBefore < swiper.size - 1 || slideAfter > 1 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size;\n\n if (isVisible) {\n swiper.visibleSlides.push(slide);\n swiper.visibleSlidesIndexes.push(i);\n slides.eq(i).addClass(params.slideVisibleClass);\n }\n }\n\n slide.progress = rtl ? -slideProgress : slideProgress;\n }\n\n swiper.visibleSlides = $(swiper.visibleSlides);\n}","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport $ from '../../utils/dom';\nimport { bindModuleMethods } from '../../utils/utils';\nvar Coverflow = {\n setTranslate: function setTranslate() {\n var swiper = this;\n var swiperWidth = swiper.width,\n swiperHeight = swiper.height,\n slides = swiper.slides,\n slidesSizesGrid = swiper.slidesSizesGrid;\n var params = swiper.params.coverflowEffect;\n var isHorizontal = swiper.isHorizontal();\n var transform = swiper.translate;\n var center = isHorizontal ? -transform + swiperWidth / 2 : -transform + swiperHeight / 2;\n var rotate = isHorizontal ? params.rotate : -params.rotate;\n var translate = params.depth; // Each slide offset from center\n\n for (var i = 0, length = slides.length; i < length; i += 1) {\n var $slideEl = slides.eq(i);\n var slideSize = slidesSizesGrid[i];\n var slideOffset = $slideEl[0].swiperSlideOffset;\n var offsetMultiplier = (center - slideOffset - slideSize / 2) / slideSize * params.modifier;\n var rotateY = isHorizontal ? rotate * offsetMultiplier : 0;\n var rotateX = isHorizontal ? 0 : rotate * offsetMultiplier; // var rotateZ = 0\n\n var translateZ = -translate * Math.abs(offsetMultiplier);\n var stretch = params.stretch; // Allow percentage to make a relative stretch for responsive sliders\n\n if (typeof stretch === 'string' && stretch.indexOf('%') !== -1) {\n stretch = parseFloat(params.stretch) / 100 * slideSize;\n }\n\n var translateY = isHorizontal ? 0 : stretch * offsetMultiplier;\n var translateX = isHorizontal ? stretch * offsetMultiplier : 0;\n var scale = 1 - (1 - params.scale) * Math.abs(offsetMultiplier); // Fix for ultra small values\n\n if (Math.abs(translateX) < 0.001) translateX = 0;\n if (Math.abs(translateY) < 0.001) translateY = 0;\n if (Math.abs(translateZ) < 0.001) translateZ = 0;\n if (Math.abs(rotateY) < 0.001) rotateY = 0;\n if (Math.abs(rotateX) < 0.001) rotateX = 0;\n if (Math.abs(scale) < 0.001) scale = 0;\n var slideTransform = \"translate3d(\" + translateX + \"px,\" + translateY + \"px,\" + translateZ + \"px) rotateX(\" + rotateX + \"deg) rotateY(\" + rotateY + \"deg) scale(\" + scale + \")\";\n $slideEl.transform(slideTransform);\n $slideEl[0].style.zIndex = -Math.abs(Math.round(offsetMultiplier)) + 1;\n\n if (params.slideShadows) {\n // Set shadows\n var $shadowBeforeEl = isHorizontal ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top');\n var $shadowAfterEl = isHorizontal ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom');\n\n if ($shadowBeforeEl.length === 0) {\n $shadowBeforeEl = $(\"
\");\n $slideEl.append($shadowBeforeEl);\n }\n\n if ($shadowAfterEl.length === 0) {\n $shadowAfterEl = $(\"
\");\n $slideEl.append($shadowAfterEl);\n }\n\n if ($shadowBeforeEl.length) $shadowBeforeEl[0].style.opacity = offsetMultiplier > 0 ? offsetMultiplier : 0;\n if ($shadowAfterEl.length) $shadowAfterEl[0].style.opacity = -offsetMultiplier > 0 ? -offsetMultiplier : 0;\n }\n }\n },\n setTransition: function setTransition(duration) {\n var swiper = this;\n swiper.slides.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration);\n }\n};\nexport default {\n name: 'effect-coverflow',\n params: {\n coverflowEffect: {\n rotate: 50,\n stretch: 0,\n depth: 100,\n scale: 1,\n modifier: 1,\n slideShadows: true\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n coverflowEffect: _extends({}, Coverflow)\n });\n },\n on: {\n beforeInit: function beforeInit(swiper) {\n if (swiper.params.effect !== 'coverflow') return;\n swiper.classNames.push(swiper.params.containerModifierClass + \"coverflow\");\n swiper.classNames.push(swiper.params.containerModifierClass + \"3d\");\n swiper.params.watchSlidesProgress = true;\n swiper.originalParams.watchSlidesProgress = true;\n },\n setTranslate: function setTranslate(swiper) {\n if (swiper.params.effect !== 'coverflow') return;\n swiper.coverflowEffect.setTranslate();\n },\n setTransition: function setTransition(swiper, duration) {\n if (swiper.params.effect !== 'coverflow') return;\n swiper.coverflowEffect.setTransition(duration);\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport $ from '../../utils/dom';\nimport { extend, bindModuleMethods } from '../../utils/utils';\nvar Cube = {\n setTranslate: function setTranslate() {\n var swiper = this;\n var $el = swiper.$el,\n $wrapperEl = swiper.$wrapperEl,\n slides = swiper.slides,\n swiperWidth = swiper.width,\n swiperHeight = swiper.height,\n rtl = swiper.rtlTranslate,\n swiperSize = swiper.size,\n browser = swiper.browser;\n var params = swiper.params.cubeEffect;\n var isHorizontal = swiper.isHorizontal();\n var isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n var wrapperRotate = 0;\n var $cubeShadowEl;\n\n if (params.shadow) {\n if (isHorizontal) {\n $cubeShadowEl = $wrapperEl.find('.swiper-cube-shadow');\n\n if ($cubeShadowEl.length === 0) {\n $cubeShadowEl = $('
');\n $wrapperEl.append($cubeShadowEl);\n }\n\n $cubeShadowEl.css({\n height: swiperWidth + \"px\"\n });\n } else {\n $cubeShadowEl = $el.find('.swiper-cube-shadow');\n\n if ($cubeShadowEl.length === 0) {\n $cubeShadowEl = $('
');\n $el.append($cubeShadowEl);\n }\n }\n }\n\n for (var i = 0; i < slides.length; i += 1) {\n var $slideEl = slides.eq(i);\n var slideIndex = i;\n\n if (isVirtual) {\n slideIndex = parseInt($slideEl.attr('data-swiper-slide-index'), 10);\n }\n\n var slideAngle = slideIndex * 90;\n var round = Math.floor(slideAngle / 360);\n\n if (rtl) {\n slideAngle = -slideAngle;\n round = Math.floor(-slideAngle / 360);\n }\n\n var progress = Math.max(Math.min($slideEl[0].progress, 1), -1);\n var tx = 0;\n var ty = 0;\n var tz = 0;\n\n if (slideIndex % 4 === 0) {\n tx = -round * 4 * swiperSize;\n tz = 0;\n } else if ((slideIndex - 1) % 4 === 0) {\n tx = 0;\n tz = -round * 4 * swiperSize;\n } else if ((slideIndex - 2) % 4 === 0) {\n tx = swiperSize + round * 4 * swiperSize;\n tz = swiperSize;\n } else if ((slideIndex - 3) % 4 === 0) {\n tx = -swiperSize;\n tz = 3 * swiperSize + swiperSize * 4 * round;\n }\n\n if (rtl) {\n tx = -tx;\n }\n\n if (!isHorizontal) {\n ty = tx;\n tx = 0;\n }\n\n var transform = \"rotateX(\" + (isHorizontal ? 0 : -slideAngle) + \"deg) rotateY(\" + (isHorizontal ? slideAngle : 0) + \"deg) translate3d(\" + tx + \"px, \" + ty + \"px, \" + tz + \"px)\";\n\n if (progress <= 1 && progress > -1) {\n wrapperRotate = slideIndex * 90 + progress * 90;\n if (rtl) wrapperRotate = -slideIndex * 90 - progress * 90;\n }\n\n $slideEl.transform(transform);\n\n if (params.slideShadows) {\n // Set shadows\n var shadowBefore = isHorizontal ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top');\n var shadowAfter = isHorizontal ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom');\n\n if (shadowBefore.length === 0) {\n shadowBefore = $(\"
\");\n $slideEl.append(shadowBefore);\n }\n\n if (shadowAfter.length === 0) {\n shadowAfter = $(\"
\");\n $slideEl.append(shadowAfter);\n }\n\n if (shadowBefore.length) shadowBefore[0].style.opacity = Math.max(-progress, 0);\n if (shadowAfter.length) shadowAfter[0].style.opacity = Math.max(progress, 0);\n }\n }\n\n $wrapperEl.css({\n '-webkit-transform-origin': \"50% 50% -\" + swiperSize / 2 + \"px\",\n '-moz-transform-origin': \"50% 50% -\" + swiperSize / 2 + \"px\",\n '-ms-transform-origin': \"50% 50% -\" + swiperSize / 2 + \"px\",\n 'transform-origin': \"50% 50% -\" + swiperSize / 2 + \"px\"\n });\n\n if (params.shadow) {\n if (isHorizontal) {\n $cubeShadowEl.transform(\"translate3d(0px, \" + (swiperWidth / 2 + params.shadowOffset) + \"px, \" + -swiperWidth / 2 + \"px) rotateX(90deg) rotateZ(0deg) scale(\" + params.shadowScale + \")\");\n } else {\n var shadowAngle = Math.abs(wrapperRotate) - Math.floor(Math.abs(wrapperRotate) / 90) * 90;\n var multiplier = 1.5 - (Math.sin(shadowAngle * 2 * Math.PI / 360) / 2 + Math.cos(shadowAngle * 2 * Math.PI / 360) / 2);\n var scale1 = params.shadowScale;\n var scale2 = params.shadowScale / multiplier;\n var offset = params.shadowOffset;\n $cubeShadowEl.transform(\"scale3d(\" + scale1 + \", 1, \" + scale2 + \") translate3d(0px, \" + (swiperHeight / 2 + offset) + \"px, \" + -swiperHeight / 2 / scale2 + \"px) rotateX(-90deg)\");\n }\n }\n\n var zFactor = browser.isSafari || browser.isWebView ? -swiperSize / 2 : 0;\n $wrapperEl.transform(\"translate3d(0px,0,\" + zFactor + \"px) rotateX(\" + (swiper.isHorizontal() ? 0 : wrapperRotate) + \"deg) rotateY(\" + (swiper.isHorizontal() ? -wrapperRotate : 0) + \"deg)\");\n },\n setTransition: function setTransition(duration) {\n var swiper = this;\n var $el = swiper.$el,\n slides = swiper.slides;\n slides.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration);\n\n if (swiper.params.cubeEffect.shadow && !swiper.isHorizontal()) {\n $el.find('.swiper-cube-shadow').transition(duration);\n }\n }\n};\nexport default {\n name: 'effect-cube',\n params: {\n cubeEffect: {\n slideShadows: true,\n shadow: true,\n shadowOffset: 20,\n shadowScale: 0.94\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n cubeEffect: _extends({}, Cube)\n });\n },\n on: {\n beforeInit: function beforeInit(swiper) {\n if (swiper.params.effect !== 'cube') return;\n swiper.classNames.push(swiper.params.containerModifierClass + \"cube\");\n swiper.classNames.push(swiper.params.containerModifierClass + \"3d\");\n var overwriteParams = {\n slidesPerView: 1,\n slidesPerColumn: 1,\n slidesPerGroup: 1,\n watchSlidesProgress: true,\n resistanceRatio: 0,\n spaceBetween: 0,\n centeredSlides: false,\n virtualTranslate: true\n };\n extend(swiper.params, overwriteParams);\n extend(swiper.originalParams, overwriteParams);\n },\n setTranslate: function setTranslate(swiper) {\n if (swiper.params.effect !== 'cube') return;\n swiper.cubeEffect.setTranslate();\n },\n setTransition: function setTransition(swiper, duration) {\n if (swiper.params.effect !== 'cube') return;\n swiper.cubeEffect.setTransition(duration);\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport { extend, bindModuleMethods } from '../../utils/utils';\nvar Fade = {\n setTranslate: function setTranslate() {\n var swiper = this;\n var slides = swiper.slides;\n\n for (var i = 0; i < slides.length; i += 1) {\n var $slideEl = swiper.slides.eq(i);\n var offset = $slideEl[0].swiperSlideOffset;\n var tx = -offset;\n if (!swiper.params.virtualTranslate) tx -= swiper.translate;\n var ty = 0;\n\n if (!swiper.isHorizontal()) {\n ty = tx;\n tx = 0;\n }\n\n var slideOpacity = swiper.params.fadeEffect.crossFade ? Math.max(1 - Math.abs($slideEl[0].progress), 0) : 1 + Math.min(Math.max($slideEl[0].progress, -1), 0);\n $slideEl.css({\n opacity: slideOpacity\n }).transform(\"translate3d(\" + tx + \"px, \" + ty + \"px, 0px)\");\n }\n },\n setTransition: function setTransition(duration) {\n var swiper = this;\n var slides = swiper.slides,\n $wrapperEl = swiper.$wrapperEl;\n slides.transition(duration);\n\n if (swiper.params.virtualTranslate && duration !== 0) {\n var eventTriggered = false;\n slides.transitionEnd(function () {\n if (eventTriggered) return;\n if (!swiper || swiper.destroyed) return;\n eventTriggered = true;\n swiper.animating = false;\n var triggerEvents = ['webkitTransitionEnd', 'transitionend'];\n\n for (var i = 0; i < triggerEvents.length; i += 1) {\n $wrapperEl.trigger(triggerEvents[i]);\n }\n });\n }\n }\n};\nexport default {\n name: 'effect-fade',\n params: {\n fadeEffect: {\n crossFade: false\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n fadeEffect: _extends({}, Fade)\n });\n },\n on: {\n beforeInit: function beforeInit(swiper) {\n if (swiper.params.effect !== 'fade') return;\n swiper.classNames.push(swiper.params.containerModifierClass + \"fade\");\n var overwriteParams = {\n slidesPerView: 1,\n slidesPerColumn: 1,\n slidesPerGroup: 1,\n watchSlidesProgress: true,\n spaceBetween: 0,\n virtualTranslate: true\n };\n extend(swiper.params, overwriteParams);\n extend(swiper.originalParams, overwriteParams);\n },\n setTranslate: function setTranslate(swiper) {\n if (swiper.params.effect !== 'fade') return;\n swiper.fadeEffect.setTranslate();\n },\n setTransition: function setTransition(swiper, duration) {\n if (swiper.params.effect !== 'fade') return;\n swiper.fadeEffect.setTransition(duration);\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport $ from '../../utils/dom';\nimport { extend, bindModuleMethods } from '../../utils/utils';\nvar Flip = {\n setTranslate: function setTranslate() {\n var swiper = this;\n var slides = swiper.slides,\n rtl = swiper.rtlTranslate;\n\n for (var i = 0; i < slides.length; i += 1) {\n var $slideEl = slides.eq(i);\n var progress = $slideEl[0].progress;\n\n if (swiper.params.flipEffect.limitRotation) {\n progress = Math.max(Math.min($slideEl[0].progress, 1), -1);\n }\n\n var offset = $slideEl[0].swiperSlideOffset;\n var rotate = -180 * progress;\n var rotateY = rotate;\n var rotateX = 0;\n var tx = -offset;\n var ty = 0;\n\n if (!swiper.isHorizontal()) {\n ty = tx;\n tx = 0;\n rotateX = -rotateY;\n rotateY = 0;\n } else if (rtl) {\n rotateY = -rotateY;\n }\n\n $slideEl[0].style.zIndex = -Math.abs(Math.round(progress)) + slides.length;\n\n if (swiper.params.flipEffect.slideShadows) {\n // Set shadows\n var shadowBefore = swiper.isHorizontal() ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top');\n var shadowAfter = swiper.isHorizontal() ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom');\n\n if (shadowBefore.length === 0) {\n shadowBefore = $(\"
\");\n $slideEl.append(shadowBefore);\n }\n\n if (shadowAfter.length === 0) {\n shadowAfter = $(\"
\");\n $slideEl.append(shadowAfter);\n }\n\n if (shadowBefore.length) shadowBefore[0].style.opacity = Math.max(-progress, 0);\n if (shadowAfter.length) shadowAfter[0].style.opacity = Math.max(progress, 0);\n }\n\n $slideEl.transform(\"translate3d(\" + tx + \"px, \" + ty + \"px, 0px) rotateX(\" + rotateX + \"deg) rotateY(\" + rotateY + \"deg)\");\n }\n },\n setTransition: function setTransition(duration) {\n var swiper = this;\n var slides = swiper.slides,\n activeIndex = swiper.activeIndex,\n $wrapperEl = swiper.$wrapperEl;\n slides.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration);\n\n if (swiper.params.virtualTranslate && duration !== 0) {\n var eventTriggered = false; // eslint-disable-next-line\n\n slides.eq(activeIndex).transitionEnd(function onTransitionEnd() {\n if (eventTriggered) return;\n if (!swiper || swiper.destroyed) return; // if (!$(this).hasClass(swiper.params.slideActiveClass)) return;\n\n eventTriggered = true;\n swiper.animating = false;\n var triggerEvents = ['webkitTransitionEnd', 'transitionend'];\n\n for (var i = 0; i < triggerEvents.length; i += 1) {\n $wrapperEl.trigger(triggerEvents[i]);\n }\n });\n }\n }\n};\nexport default {\n name: 'effect-flip',\n params: {\n flipEffect: {\n slideShadows: true,\n limitRotation: true\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n flipEffect: _extends({}, Flip)\n });\n },\n on: {\n beforeInit: function beforeInit(swiper) {\n if (swiper.params.effect !== 'flip') return;\n swiper.classNames.push(swiper.params.containerModifierClass + \"flip\");\n swiper.classNames.push(swiper.params.containerModifierClass + \"3d\");\n var overwriteParams = {\n slidesPerView: 1,\n slidesPerColumn: 1,\n slidesPerGroup: 1,\n watchSlidesProgress: true,\n spaceBetween: 0,\n virtualTranslate: true\n };\n extend(swiper.params, overwriteParams);\n extend(swiper.originalParams, overwriteParams);\n },\n setTranslate: function setTranslate(swiper) {\n if (swiper.params.effect !== 'flip') return;\n swiper.flipEffect.setTranslate();\n },\n setTransition: function setTransition(swiper, duration) {\n if (swiper.params.effect !== 'flip') return;\n swiper.flipEffect.setTransition(duration);\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport { getWindow, getDocument } from 'ssr-window';\nimport $ from '../../utils/dom';\nimport { bindModuleMethods } from '../../utils/utils';\nvar HashNavigation = {\n onHashChange: function onHashChange() {\n var swiper = this;\n var document = getDocument();\n swiper.emit('hashChange');\n var newHash = document.location.hash.replace('#', '');\n var activeSlideHash = swiper.slides.eq(swiper.activeIndex).attr('data-hash');\n\n if (newHash !== activeSlideHash) {\n var newIndex = swiper.$wrapperEl.children(\".\" + swiper.params.slideClass + \"[data-hash=\\\"\" + newHash + \"\\\"]\").index();\n if (typeof newIndex === 'undefined') return;\n swiper.slideTo(newIndex);\n }\n },\n setHash: function setHash() {\n var swiper = this;\n var window = getWindow();\n var document = getDocument();\n if (!swiper.hashNavigation.initialized || !swiper.params.hashNavigation.enabled) return;\n\n if (swiper.params.hashNavigation.replaceState && window.history && window.history.replaceState) {\n window.history.replaceState(null, null, \"#\" + swiper.slides.eq(swiper.activeIndex).attr('data-hash') || '');\n swiper.emit('hashSet');\n } else {\n var slide = swiper.slides.eq(swiper.activeIndex);\n var hash = slide.attr('data-hash') || slide.attr('data-history');\n document.location.hash = hash || '';\n swiper.emit('hashSet');\n }\n },\n init: function init() {\n var swiper = this;\n var document = getDocument();\n var window = getWindow();\n if (!swiper.params.hashNavigation.enabled || swiper.params.history && swiper.params.history.enabled) return;\n swiper.hashNavigation.initialized = true;\n var hash = document.location.hash.replace('#', '');\n\n if (hash) {\n var speed = 0;\n\n for (var i = 0, length = swiper.slides.length; i < length; i += 1) {\n var slide = swiper.slides.eq(i);\n var slideHash = slide.attr('data-hash') || slide.attr('data-history');\n\n if (slideHash === hash && !slide.hasClass(swiper.params.slideDuplicateClass)) {\n var index = slide.index();\n swiper.slideTo(index, speed, swiper.params.runCallbacksOnInit, true);\n }\n }\n }\n\n if (swiper.params.hashNavigation.watchState) {\n $(window).on('hashchange', swiper.hashNavigation.onHashChange);\n }\n },\n destroy: function destroy() {\n var swiper = this;\n var window = getWindow();\n\n if (swiper.params.hashNavigation.watchState) {\n $(window).off('hashchange', swiper.hashNavigation.onHashChange);\n }\n }\n};\nexport default {\n name: 'hash-navigation',\n params: {\n hashNavigation: {\n enabled: false,\n replaceState: false,\n watchState: false\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n hashNavigation: _extends({\n initialized: false\n }, HashNavigation)\n });\n },\n on: {\n init: function init(swiper) {\n if (swiper.params.hashNavigation.enabled) {\n swiper.hashNavigation.init();\n }\n },\n destroy: function destroy(swiper) {\n if (swiper.params.hashNavigation.enabled) {\n swiper.hashNavigation.destroy();\n }\n },\n 'transitionEnd _freeModeNoMomentumRelease': function transitionEnd_freeModeNoMomentumRelease(swiper) {\n if (swiper.hashNavigation.initialized) {\n swiper.hashNavigation.setHash();\n }\n },\n slideChange: function slideChange(swiper) {\n if (swiper.hashNavigation.initialized && swiper.params.cssMode) {\n swiper.hashNavigation.setHash();\n }\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport { getWindow } from 'ssr-window';\nimport { bindModuleMethods } from '../../utils/utils';\nvar History = {\n init: function init() {\n var swiper = this;\n var window = getWindow();\n if (!swiper.params.history) return;\n\n if (!window.history || !window.history.pushState) {\n swiper.params.history.enabled = false;\n swiper.params.hashNavigation.enabled = true;\n return;\n }\n\n var history = swiper.history;\n history.initialized = true;\n history.paths = History.getPathValues(swiper.params.url);\n if (!history.paths.key && !history.paths.value) return;\n history.scrollToSlide(0, history.paths.value, swiper.params.runCallbacksOnInit);\n\n if (!swiper.params.history.replaceState) {\n window.addEventListener('popstate', swiper.history.setHistoryPopState);\n }\n },\n destroy: function destroy() {\n var swiper = this;\n var window = getWindow();\n\n if (!swiper.params.history.replaceState) {\n window.removeEventListener('popstate', swiper.history.setHistoryPopState);\n }\n },\n setHistoryPopState: function setHistoryPopState() {\n var swiper = this;\n swiper.history.paths = History.getPathValues(swiper.params.url);\n swiper.history.scrollToSlide(swiper.params.speed, swiper.history.paths.value, false);\n },\n getPathValues: function getPathValues(urlOverride) {\n var window = getWindow();\n var location;\n\n if (urlOverride) {\n location = new URL(urlOverride);\n } else {\n location = window.location;\n }\n\n var pathArray = location.pathname.slice(1).split('/').filter(function (part) {\n return part !== '';\n });\n var total = pathArray.length;\n var key = pathArray[total - 2];\n var value = pathArray[total - 1];\n return {\n key: key,\n value: value\n };\n },\n setHistory: function setHistory(key, index) {\n var swiper = this;\n var window = getWindow();\n if (!swiper.history.initialized || !swiper.params.history.enabled) return;\n var location;\n\n if (swiper.params.url) {\n location = new URL(swiper.params.url);\n } else {\n location = window.location;\n }\n\n var slide = swiper.slides.eq(index);\n var value = History.slugify(slide.attr('data-history'));\n\n if (swiper.params.history.root.length > 0) {\n var root = swiper.params.history.root;\n if (root[root.length - 1] === '/') root = root.slice(0, root.length - 1);\n value = root + \"/\" + key + \"/\" + value;\n } else if (!location.pathname.includes(key)) {\n value = key + \"/\" + value;\n }\n\n var currentState = window.history.state;\n\n if (currentState && currentState.value === value) {\n return;\n }\n\n if (swiper.params.history.replaceState) {\n window.history.replaceState({\n value: value\n }, null, value);\n } else {\n window.history.pushState({\n value: value\n }, null, value);\n }\n },\n slugify: function slugify(text) {\n return text.toString().replace(/\\s+/g, '-').replace(/[^\\w-]+/g, '').replace(/--+/g, '-').replace(/^-+/, '').replace(/-+$/, '');\n },\n scrollToSlide: function scrollToSlide(speed, value, runCallbacks) {\n var swiper = this;\n\n if (value) {\n for (var i = 0, length = swiper.slides.length; i < length; i += 1) {\n var slide = swiper.slides.eq(i);\n var slideHistory = History.slugify(slide.attr('data-history'));\n\n if (slideHistory === value && !slide.hasClass(swiper.params.slideDuplicateClass)) {\n var index = slide.index();\n swiper.slideTo(index, speed, runCallbacks);\n }\n }\n } else {\n swiper.slideTo(0, speed, runCallbacks);\n }\n }\n};\nexport default {\n name: 'history',\n params: {\n history: {\n enabled: false,\n root: '',\n replaceState: false,\n key: 'slides'\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n history: _extends({}, History)\n });\n },\n on: {\n init: function init(swiper) {\n if (swiper.params.history.enabled) {\n swiper.history.init();\n }\n },\n destroy: function destroy(swiper) {\n if (swiper.params.history.enabled) {\n swiper.history.destroy();\n }\n },\n 'transitionEnd _freeModeNoMomentumRelease': function transitionEnd_freeModeNoMomentumRelease(swiper) {\n if (swiper.history.initialized) {\n swiper.history.setHistory(swiper.params.history.key, swiper.activeIndex);\n }\n },\n slideChange: function slideChange(swiper) {\n if (swiper.history.initialized && swiper.params.cssMode) {\n swiper.history.setHistory(swiper.params.history.key, swiper.activeIndex);\n }\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\n/* eslint-disable consistent-return */\nimport { getWindow, getDocument } from 'ssr-window';\nimport $ from '../../utils/dom';\nimport { bindModuleMethods } from '../../utils/utils';\nvar Keyboard = {\n handle: function handle(event) {\n var swiper = this;\n if (!swiper.enabled) return;\n var window = getWindow();\n var document = getDocument();\n var rtl = swiper.rtlTranslate;\n var e = event;\n if (e.originalEvent) e = e.originalEvent; // jquery fix\n\n var kc = e.keyCode || e.charCode;\n var pageUpDown = swiper.params.keyboard.pageUpDown;\n var isPageUp = pageUpDown && kc === 33;\n var isPageDown = pageUpDown && kc === 34;\n var isArrowLeft = kc === 37;\n var isArrowRight = kc === 39;\n var isArrowUp = kc === 38;\n var isArrowDown = kc === 40; // Directions locks\n\n if (!swiper.allowSlideNext && (swiper.isHorizontal() && isArrowRight || swiper.isVertical() && isArrowDown || isPageDown)) {\n return false;\n }\n\n if (!swiper.allowSlidePrev && (swiper.isHorizontal() && isArrowLeft || swiper.isVertical() && isArrowUp || isPageUp)) {\n return false;\n }\n\n if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey) {\n return undefined;\n }\n\n if (document.activeElement && document.activeElement.nodeName && (document.activeElement.nodeName.toLowerCase() === 'input' || document.activeElement.nodeName.toLowerCase() === 'textarea')) {\n return undefined;\n }\n\n if (swiper.params.keyboard.onlyInViewport && (isPageUp || isPageDown || isArrowLeft || isArrowRight || isArrowUp || isArrowDown)) {\n var inView = false; // Check that swiper should be inside of visible area of window\n\n if (swiper.$el.parents(\".\" + swiper.params.slideClass).length > 0 && swiper.$el.parents(\".\" + swiper.params.slideActiveClass).length === 0) {\n return undefined;\n }\n\n var $el = swiper.$el;\n var swiperWidth = $el[0].clientWidth;\n var swiperHeight = $el[0].clientHeight;\n var windowWidth = window.innerWidth;\n var windowHeight = window.innerHeight;\n var swiperOffset = swiper.$el.offset();\n if (rtl) swiperOffset.left -= swiper.$el[0].scrollLeft;\n var swiperCoord = [[swiperOffset.left, swiperOffset.top], [swiperOffset.left + swiperWidth, swiperOffset.top], [swiperOffset.left, swiperOffset.top + swiperHeight], [swiperOffset.left + swiperWidth, swiperOffset.top + swiperHeight]];\n\n for (var i = 0; i < swiperCoord.length; i += 1) {\n var point = swiperCoord[i];\n\n if (point[0] >= 0 && point[0] <= windowWidth && point[1] >= 0 && point[1] <= windowHeight) {\n if (point[0] === 0 && point[1] === 0) continue; // eslint-disable-line\n\n inView = true;\n }\n }\n\n if (!inView) return undefined;\n }\n\n if (swiper.isHorizontal()) {\n if (isPageUp || isPageDown || isArrowLeft || isArrowRight) {\n if (e.preventDefault) e.preventDefault();else e.returnValue = false;\n }\n\n if ((isPageDown || isArrowRight) && !rtl || (isPageUp || isArrowLeft) && rtl) swiper.slideNext();\n if ((isPageUp || isArrowLeft) && !rtl || (isPageDown || isArrowRight) && rtl) swiper.slidePrev();\n } else {\n if (isPageUp || isPageDown || isArrowUp || isArrowDown) {\n if (e.preventDefault) e.preventDefault();else e.returnValue = false;\n }\n\n if (isPageDown || isArrowDown) swiper.slideNext();\n if (isPageUp || isArrowUp) swiper.slidePrev();\n }\n\n swiper.emit('keyPress', kc);\n return undefined;\n },\n enable: function enable() {\n var swiper = this;\n var document = getDocument();\n if (swiper.keyboard.enabled) return;\n $(document).on('keydown', swiper.keyboard.handle);\n swiper.keyboard.enabled = true;\n },\n disable: function disable() {\n var swiper = this;\n var document = getDocument();\n if (!swiper.keyboard.enabled) return;\n $(document).off('keydown', swiper.keyboard.handle);\n swiper.keyboard.enabled = false;\n }\n};\nexport default {\n name: 'keyboard',\n params: {\n keyboard: {\n enabled: false,\n onlyInViewport: true,\n pageUpDown: true\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n keyboard: _extends({\n enabled: false\n }, Keyboard)\n });\n },\n on: {\n init: function init(swiper) {\n if (swiper.params.keyboard.enabled) {\n swiper.keyboard.enable();\n }\n },\n destroy: function destroy(swiper) {\n if (swiper.keyboard.enabled) {\n swiper.keyboard.disable();\n }\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport { getWindow } from 'ssr-window';\nimport $ from '../../utils/dom';\nimport { bindModuleMethods } from '../../utils/utils';\nvar Lazy = {\n loadInSlide: function loadInSlide(index, loadInDuplicate) {\n if (loadInDuplicate === void 0) {\n loadInDuplicate = true;\n }\n\n var swiper = this;\n var params = swiper.params.lazy;\n if (typeof index === 'undefined') return;\n if (swiper.slides.length === 0) return;\n var isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n var $slideEl = isVirtual ? swiper.$wrapperEl.children(\".\" + swiper.params.slideClass + \"[data-swiper-slide-index=\\\"\" + index + \"\\\"]\") : swiper.slides.eq(index);\n var $images = $slideEl.find(\".\" + params.elementClass + \":not(.\" + params.loadedClass + \"):not(.\" + params.loadingClass + \")\");\n\n if ($slideEl.hasClass(params.elementClass) && !$slideEl.hasClass(params.loadedClass) && !$slideEl.hasClass(params.loadingClass)) {\n $images.push($slideEl[0]);\n }\n\n if ($images.length === 0) return;\n $images.each(function (imageEl) {\n var $imageEl = $(imageEl);\n $imageEl.addClass(params.loadingClass);\n var background = $imageEl.attr('data-background');\n var src = $imageEl.attr('data-src');\n var srcset = $imageEl.attr('data-srcset');\n var sizes = $imageEl.attr('data-sizes');\n var $pictureEl = $imageEl.parent('picture');\n swiper.loadImage($imageEl[0], src || background, srcset, sizes, false, function () {\n if (typeof swiper === 'undefined' || swiper === null || !swiper || swiper && !swiper.params || swiper.destroyed) return;\n\n if (background) {\n $imageEl.css('background-image', \"url(\\\"\" + background + \"\\\")\");\n $imageEl.removeAttr('data-background');\n } else {\n if (srcset) {\n $imageEl.attr('srcset', srcset);\n $imageEl.removeAttr('data-srcset');\n }\n\n if (sizes) {\n $imageEl.attr('sizes', sizes);\n $imageEl.removeAttr('data-sizes');\n }\n\n if ($pictureEl.length) {\n $pictureEl.children('source').each(function (sourceEl) {\n var $source = $(sourceEl);\n\n if ($source.attr('data-srcset')) {\n $source.attr('srcset', $source.attr('data-srcset'));\n $source.removeAttr('data-srcset');\n }\n });\n }\n\n if (src) {\n $imageEl.attr('src', src);\n $imageEl.removeAttr('data-src');\n }\n }\n\n $imageEl.addClass(params.loadedClass).removeClass(params.loadingClass);\n $slideEl.find(\".\" + params.preloaderClass).remove();\n\n if (swiper.params.loop && loadInDuplicate) {\n var slideOriginalIndex = $slideEl.attr('data-swiper-slide-index');\n\n if ($slideEl.hasClass(swiper.params.slideDuplicateClass)) {\n var originalSlide = swiper.$wrapperEl.children(\"[data-swiper-slide-index=\\\"\" + slideOriginalIndex + \"\\\"]:not(.\" + swiper.params.slideDuplicateClass + \")\");\n swiper.lazy.loadInSlide(originalSlide.index(), false);\n } else {\n var duplicatedSlide = swiper.$wrapperEl.children(\".\" + swiper.params.slideDuplicateClass + \"[data-swiper-slide-index=\\\"\" + slideOriginalIndex + \"\\\"]\");\n swiper.lazy.loadInSlide(duplicatedSlide.index(), false);\n }\n }\n\n swiper.emit('lazyImageReady', $slideEl[0], $imageEl[0]);\n\n if (swiper.params.autoHeight) {\n swiper.updateAutoHeight();\n }\n });\n swiper.emit('lazyImageLoad', $slideEl[0], $imageEl[0]);\n });\n },\n load: function load() {\n var swiper = this;\n var $wrapperEl = swiper.$wrapperEl,\n swiperParams = swiper.params,\n slides = swiper.slides,\n activeIndex = swiper.activeIndex;\n var isVirtual = swiper.virtual && swiperParams.virtual.enabled;\n var params = swiperParams.lazy;\n var slidesPerView = swiperParams.slidesPerView;\n\n if (slidesPerView === 'auto') {\n slidesPerView = 0;\n }\n\n function slideExist(index) {\n if (isVirtual) {\n if ($wrapperEl.children(\".\" + swiperParams.slideClass + \"[data-swiper-slide-index=\\\"\" + index + \"\\\"]\").length) {\n return true;\n }\n } else if (slides[index]) return true;\n\n return false;\n }\n\n function slideIndex(slideEl) {\n if (isVirtual) {\n return $(slideEl).attr('data-swiper-slide-index');\n }\n\n return $(slideEl).index();\n }\n\n if (!swiper.lazy.initialImageLoaded) swiper.lazy.initialImageLoaded = true;\n\n if (swiper.params.watchSlidesVisibility) {\n $wrapperEl.children(\".\" + swiperParams.slideVisibleClass).each(function (slideEl) {\n var index = isVirtual ? $(slideEl).attr('data-swiper-slide-index') : $(slideEl).index();\n swiper.lazy.loadInSlide(index);\n });\n } else if (slidesPerView > 1) {\n for (var i = activeIndex; i < activeIndex + slidesPerView; i += 1) {\n if (slideExist(i)) swiper.lazy.loadInSlide(i);\n }\n } else {\n swiper.lazy.loadInSlide(activeIndex);\n }\n\n if (params.loadPrevNext) {\n if (slidesPerView > 1 || params.loadPrevNextAmount && params.loadPrevNextAmount > 1) {\n var amount = params.loadPrevNextAmount;\n var spv = slidesPerView;\n var maxIndex = Math.min(activeIndex + spv + Math.max(amount, spv), slides.length);\n var minIndex = Math.max(activeIndex - Math.max(spv, amount), 0); // Next Slides\n\n for (var _i = activeIndex + slidesPerView; _i < maxIndex; _i += 1) {\n if (slideExist(_i)) swiper.lazy.loadInSlide(_i);\n } // Prev Slides\n\n\n for (var _i2 = minIndex; _i2 < activeIndex; _i2 += 1) {\n if (slideExist(_i2)) swiper.lazy.loadInSlide(_i2);\n }\n } else {\n var nextSlide = $wrapperEl.children(\".\" + swiperParams.slideNextClass);\n if (nextSlide.length > 0) swiper.lazy.loadInSlide(slideIndex(nextSlide));\n var prevSlide = $wrapperEl.children(\".\" + swiperParams.slidePrevClass);\n if (prevSlide.length > 0) swiper.lazy.loadInSlide(slideIndex(prevSlide));\n }\n }\n },\n checkInViewOnLoad: function checkInViewOnLoad() {\n var window = getWindow();\n var swiper = this;\n if (!swiper || swiper.destroyed) return;\n var $scrollElement = swiper.params.lazy.scrollingElement ? $(swiper.params.lazy.scrollingElement) : $(window);\n var isWindow = $scrollElement[0] === window;\n var scrollElementWidth = isWindow ? window.innerWidth : $scrollElement[0].offsetWidth;\n var scrollElementHeight = isWindow ? window.innerHeight : $scrollElement[0].offsetHeight;\n var swiperOffset = swiper.$el.offset();\n var rtl = swiper.rtlTranslate;\n var inView = false;\n if (rtl) swiperOffset.left -= swiper.$el[0].scrollLeft;\n var swiperCoord = [[swiperOffset.left, swiperOffset.top], [swiperOffset.left + swiper.width, swiperOffset.top], [swiperOffset.left, swiperOffset.top + swiper.height], [swiperOffset.left + swiper.width, swiperOffset.top + swiper.height]];\n\n for (var i = 0; i < swiperCoord.length; i += 1) {\n var point = swiperCoord[i];\n\n if (point[0] >= 0 && point[0] <= scrollElementWidth && point[1] >= 0 && point[1] <= scrollElementHeight) {\n if (point[0] === 0 && point[1] === 0) continue; // eslint-disable-line\n\n inView = true;\n }\n }\n\n var passiveListener = swiper.touchEvents.start === 'touchstart' && swiper.support.passiveListener && swiper.params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n\n if (inView) {\n swiper.lazy.load();\n $scrollElement.off('scroll', swiper.lazy.checkInViewOnLoad, passiveListener);\n } else if (!swiper.lazy.scrollHandlerAttached) {\n swiper.lazy.scrollHandlerAttached = true;\n $scrollElement.on('scroll', swiper.lazy.checkInViewOnLoad, passiveListener);\n }\n }\n};\nexport default {\n name: 'lazy',\n params: {\n lazy: {\n checkInView: false,\n enabled: false,\n loadPrevNext: false,\n loadPrevNextAmount: 1,\n loadOnTransitionStart: false,\n scrollingElement: '',\n elementClass: 'swiper-lazy',\n loadingClass: 'swiper-lazy-loading',\n loadedClass: 'swiper-lazy-loaded',\n preloaderClass: 'swiper-lazy-preloader'\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n lazy: _extends({\n initialImageLoaded: false\n }, Lazy)\n });\n },\n on: {\n beforeInit: function beforeInit(swiper) {\n if (swiper.params.lazy.enabled && swiper.params.preloadImages) {\n swiper.params.preloadImages = false;\n }\n },\n init: function init(swiper) {\n if (swiper.params.lazy.enabled && !swiper.params.loop && swiper.params.initialSlide === 0) {\n if (swiper.params.lazy.checkInView) {\n swiper.lazy.checkInViewOnLoad();\n } else {\n swiper.lazy.load();\n }\n }\n },\n scroll: function scroll(swiper) {\n if (swiper.params.freeMode && !swiper.params.freeModeSticky) {\n swiper.lazy.load();\n }\n },\n 'scrollbarDragMove resize _freeModeNoMomentumRelease': function lazyLoad(swiper) {\n if (swiper.params.lazy.enabled) {\n swiper.lazy.load();\n }\n },\n transitionStart: function transitionStart(swiper) {\n if (swiper.params.lazy.enabled) {\n if (swiper.params.lazy.loadOnTransitionStart || !swiper.params.lazy.loadOnTransitionStart && !swiper.lazy.initialImageLoaded) {\n swiper.lazy.load();\n }\n }\n },\n transitionEnd: function transitionEnd(swiper) {\n if (swiper.params.lazy.enabled && !swiper.params.lazy.loadOnTransitionStart) {\n swiper.lazy.load();\n }\n },\n slideChange: function slideChange(swiper) {\n var _swiper$params = swiper.params,\n lazy = _swiper$params.lazy,\n cssMode = _swiper$params.cssMode,\n watchSlidesVisibility = _swiper$params.watchSlidesVisibility,\n watchSlidesProgress = _swiper$params.watchSlidesProgress,\n touchReleaseOnEdges = _swiper$params.touchReleaseOnEdges,\n resistanceRatio = _swiper$params.resistanceRatio;\n\n if (lazy.enabled && (cssMode || (watchSlidesVisibility || watchSlidesProgress) && (touchReleaseOnEdges || resistanceRatio === 0))) {\n swiper.lazy.load();\n }\n }\n }\n};","/* eslint-disable consistent-return */\nimport { getWindow, getDocument } from 'ssr-window';\nimport $ from '../../utils/dom';\nimport { now, nextTick, bindModuleMethods } from '../../utils/utils';\n\nfunction isEventSupported() {\n var document = getDocument();\n var eventName = 'onwheel';\n var isSupported = (eventName in document);\n\n if (!isSupported) {\n var element = document.createElement('div');\n element.setAttribute(eventName, 'return;');\n isSupported = typeof element[eventName] === 'function';\n }\n\n if (!isSupported && document.implementation && document.implementation.hasFeature && // always returns true in newer browsers as per the standard.\n // @see http://dom.spec.whatwg.org/#dom-domimplementation-hasfeature\n document.implementation.hasFeature('', '') !== true) {\n // This is the only way to test support for the `wheel` event in IE9+.\n isSupported = document.implementation.hasFeature('Events.wheel', '3.0');\n }\n\n return isSupported;\n}\n\nvar Mousewheel = {\n lastScrollTime: now(),\n lastEventBeforeSnap: undefined,\n recentWheelEvents: [],\n event: function event() {\n var window = getWindow();\n if (window.navigator.userAgent.indexOf('firefox') > -1) return 'DOMMouseScroll';\n return isEventSupported() ? 'wheel' : 'mousewheel';\n },\n normalize: function normalize(e) {\n // Reasonable defaults\n var PIXEL_STEP = 10;\n var LINE_HEIGHT = 40;\n var PAGE_HEIGHT = 800;\n var sX = 0;\n var sY = 0; // spinX, spinY\n\n var pX = 0;\n var pY = 0; // pixelX, pixelY\n // Legacy\n\n if ('detail' in e) {\n sY = e.detail;\n }\n\n if ('wheelDelta' in e) {\n sY = -e.wheelDelta / 120;\n }\n\n if ('wheelDeltaY' in e) {\n sY = -e.wheelDeltaY / 120;\n }\n\n if ('wheelDeltaX' in e) {\n sX = -e.wheelDeltaX / 120;\n } // side scrolling on FF with DOMMouseScroll\n\n\n if ('axis' in e && e.axis === e.HORIZONTAL_AXIS) {\n sX = sY;\n sY = 0;\n }\n\n pX = sX * PIXEL_STEP;\n pY = sY * PIXEL_STEP;\n\n if ('deltaY' in e) {\n pY = e.deltaY;\n }\n\n if ('deltaX' in e) {\n pX = e.deltaX;\n }\n\n if (e.shiftKey && !pX) {\n // if user scrolls with shift he wants horizontal scroll\n pX = pY;\n pY = 0;\n }\n\n if ((pX || pY) && e.deltaMode) {\n if (e.deltaMode === 1) {\n // delta in LINE units\n pX *= LINE_HEIGHT;\n pY *= LINE_HEIGHT;\n } else {\n // delta in PAGE units\n pX *= PAGE_HEIGHT;\n pY *= PAGE_HEIGHT;\n }\n } // Fall-back if spin cannot be determined\n\n\n if (pX && !sX) {\n sX = pX < 1 ? -1 : 1;\n }\n\n if (pY && !sY) {\n sY = pY < 1 ? -1 : 1;\n }\n\n return {\n spinX: sX,\n spinY: sY,\n pixelX: pX,\n pixelY: pY\n };\n },\n handleMouseEnter: function handleMouseEnter() {\n var swiper = this;\n if (!swiper.enabled) return;\n swiper.mouseEntered = true;\n },\n handleMouseLeave: function handleMouseLeave() {\n var swiper = this;\n if (!swiper.enabled) return;\n swiper.mouseEntered = false;\n },\n handle: function handle(event) {\n var e = event;\n var disableParentSwiper = true;\n var swiper = this;\n if (!swiper.enabled) return;\n var params = swiper.params.mousewheel;\n\n if (swiper.params.cssMode) {\n e.preventDefault();\n }\n\n var target = swiper.$el;\n\n if (swiper.params.mousewheel.eventsTarget !== 'container') {\n target = $(swiper.params.mousewheel.eventsTarget);\n }\n\n if (!swiper.mouseEntered && !target[0].contains(e.target) && !params.releaseOnEdges) return true;\n if (e.originalEvent) e = e.originalEvent; // jquery fix\n\n var delta = 0;\n var rtlFactor = swiper.rtlTranslate ? -1 : 1;\n var data = Mousewheel.normalize(e);\n\n if (params.forceToAxis) {\n if (swiper.isHorizontal()) {\n if (Math.abs(data.pixelX) > Math.abs(data.pixelY)) delta = -data.pixelX * rtlFactor;else return true;\n } else if (Math.abs(data.pixelY) > Math.abs(data.pixelX)) delta = -data.pixelY;else return true;\n } else {\n delta = Math.abs(data.pixelX) > Math.abs(data.pixelY) ? -data.pixelX * rtlFactor : -data.pixelY;\n }\n\n if (delta === 0) return true;\n if (params.invert) delta = -delta; // Get the scroll positions\n\n var positions = swiper.getTranslate() + delta * params.sensitivity;\n if (positions >= swiper.minTranslate()) positions = swiper.minTranslate();\n if (positions <= swiper.maxTranslate()) positions = swiper.maxTranslate(); // When loop is true:\n // the disableParentSwiper will be true.\n // When loop is false:\n // if the scroll positions is not on edge,\n // then the disableParentSwiper will be true.\n // if the scroll on edge positions,\n // then the disableParentSwiper will be false.\n\n disableParentSwiper = swiper.params.loop ? true : !(positions === swiper.minTranslate() || positions === swiper.maxTranslate());\n if (disableParentSwiper && swiper.params.nested) e.stopPropagation();\n\n if (!swiper.params.freeMode) {\n // Register the new event in a variable which stores the relevant data\n var newEvent = {\n time: now(),\n delta: Math.abs(delta),\n direction: Math.sign(delta),\n raw: event\n }; // Keep the most recent events\n\n var recentWheelEvents = swiper.mousewheel.recentWheelEvents;\n\n if (recentWheelEvents.length >= 2) {\n recentWheelEvents.shift(); // only store the last N events\n }\n\n var prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : undefined;\n recentWheelEvents.push(newEvent); // If there is at least one previous recorded event:\n // If direction has changed or\n // if the scroll is quicker than the previous one:\n // Animate the slider.\n // Else (this is the first time the wheel is moved):\n // Animate the slider.\n\n if (prevEvent) {\n if (newEvent.direction !== prevEvent.direction || newEvent.delta > prevEvent.delta || newEvent.time > prevEvent.time + 150) {\n swiper.mousewheel.animateSlider(newEvent);\n }\n } else {\n swiper.mousewheel.animateSlider(newEvent);\n } // If it's time to release the scroll:\n // Return now so you don't hit the preventDefault.\n\n\n if (swiper.mousewheel.releaseScroll(newEvent)) {\n return true;\n }\n } else {\n // Freemode or scrollContainer:\n // If we recently snapped after a momentum scroll, then ignore wheel events\n // to give time for the deceleration to finish. Stop ignoring after 500 msecs\n // or if it's a new scroll (larger delta or inverse sign as last event before\n // an end-of-momentum snap).\n var _newEvent = {\n time: now(),\n delta: Math.abs(delta),\n direction: Math.sign(delta)\n };\n var lastEventBeforeSnap = swiper.mousewheel.lastEventBeforeSnap;\n var ignoreWheelEvents = lastEventBeforeSnap && _newEvent.time < lastEventBeforeSnap.time + 500 && _newEvent.delta <= lastEventBeforeSnap.delta && _newEvent.direction === lastEventBeforeSnap.direction;\n\n if (!ignoreWheelEvents) {\n swiper.mousewheel.lastEventBeforeSnap = undefined;\n\n if (swiper.params.loop) {\n swiper.loopFix();\n }\n\n var position = swiper.getTranslate() + delta * params.sensitivity;\n var wasBeginning = swiper.isBeginning;\n var wasEnd = swiper.isEnd;\n if (position >= swiper.minTranslate()) position = swiper.minTranslate();\n if (position <= swiper.maxTranslate()) position = swiper.maxTranslate();\n swiper.setTransition(0);\n swiper.setTranslate(position);\n swiper.updateProgress();\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n\n if (!wasBeginning && swiper.isBeginning || !wasEnd && swiper.isEnd) {\n swiper.updateSlidesClasses();\n }\n\n if (swiper.params.freeModeSticky) {\n // When wheel scrolling starts with sticky (aka snap) enabled, then detect\n // the end of a momentum scroll by storing recent (N=15?) wheel events.\n // 1. do all N events have decreasing or same (absolute value) delta?\n // 2. did all N events arrive in the last M (M=500?) msecs?\n // 3. does the earliest event have an (absolute value) delta that's\n // at least P (P=1?) larger than the most recent event's delta?\n // 4. does the latest event have a delta that's smaller than Q (Q=6?) pixels?\n // If 1-4 are \"yes\" then we're near the end of a momentum scroll deceleration.\n // Snap immediately and ignore remaining wheel events in this scroll.\n // See comment above for \"remaining wheel events in this scroll\" determination.\n // If 1-4 aren't satisfied, then wait to snap until 500ms after the last event.\n clearTimeout(swiper.mousewheel.timeout);\n swiper.mousewheel.timeout = undefined;\n var _recentWheelEvents = swiper.mousewheel.recentWheelEvents;\n\n if (_recentWheelEvents.length >= 15) {\n _recentWheelEvents.shift(); // only store the last N events\n\n }\n\n var _prevEvent = _recentWheelEvents.length ? _recentWheelEvents[_recentWheelEvents.length - 1] : undefined;\n\n var firstEvent = _recentWheelEvents[0];\n\n _recentWheelEvents.push(_newEvent);\n\n if (_prevEvent && (_newEvent.delta > _prevEvent.delta || _newEvent.direction !== _prevEvent.direction)) {\n // Increasing or reverse-sign delta means the user started scrolling again. Clear the wheel event log.\n _recentWheelEvents.splice(0);\n } else if (_recentWheelEvents.length >= 15 && _newEvent.time - firstEvent.time < 500 && firstEvent.delta - _newEvent.delta >= 1 && _newEvent.delta <= 6) {\n // We're at the end of the deceleration of a momentum scroll, so there's no need\n // to wait for more events. Snap ASAP on the next tick.\n // Also, because there's some remaining momentum we'll bias the snap in the\n // direction of the ongoing scroll because it's better UX for the scroll to snap\n // in the same direction as the scroll instead of reversing to snap. Therefore,\n // if it's already scrolled more than 20% in the current direction, keep going.\n var snapToThreshold = delta > 0 ? 0.8 : 0.2;\n swiper.mousewheel.lastEventBeforeSnap = _newEvent;\n\n _recentWheelEvents.splice(0);\n\n swiper.mousewheel.timeout = nextTick(function () {\n swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);\n }, 0); // no delay; move on next tick\n }\n\n if (!swiper.mousewheel.timeout) {\n // if we get here, then we haven't detected the end of a momentum scroll, so\n // we'll consider a scroll \"complete\" when there haven't been any wheel events\n // for 500ms.\n swiper.mousewheel.timeout = nextTick(function () {\n var snapToThreshold = 0.5;\n swiper.mousewheel.lastEventBeforeSnap = _newEvent;\n\n _recentWheelEvents.splice(0);\n\n swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);\n }, 500);\n }\n } // Emit event\n\n\n if (!ignoreWheelEvents) swiper.emit('scroll', e); // Stop autoplay\n\n if (swiper.params.autoplay && swiper.params.autoplayDisableOnInteraction) swiper.autoplay.stop(); // Return page scroll on edge positions\n\n if (position === swiper.minTranslate() || position === swiper.maxTranslate()) return true;\n }\n }\n\n if (e.preventDefault) e.preventDefault();else e.returnValue = false;\n return false;\n },\n animateSlider: function animateSlider(newEvent) {\n var swiper = this;\n var window = getWindow();\n\n if (this.params.mousewheel.thresholdDelta && newEvent.delta < this.params.mousewheel.thresholdDelta) {\n // Prevent if delta of wheel scroll delta is below configured threshold\n return false;\n }\n\n if (this.params.mousewheel.thresholdTime && now() - swiper.mousewheel.lastScrollTime < this.params.mousewheel.thresholdTime) {\n // Prevent if time between scrolls is below configured threshold\n return false;\n } // If the movement is NOT big enough and\n // if the last time the user scrolled was too close to the current one (avoid continuously triggering the slider):\n // Don't go any further (avoid insignificant scroll movement).\n\n\n if (newEvent.delta >= 6 && now() - swiper.mousewheel.lastScrollTime < 60) {\n // Return false as a default\n return true;\n } // If user is scrolling towards the end:\n // If the slider hasn't hit the latest slide or\n // if the slider is a loop and\n // if the slider isn't moving right now:\n // Go to next slide and\n // emit a scroll event.\n // Else (the user is scrolling towards the beginning) and\n // if the slider hasn't hit the first slide or\n // if the slider is a loop and\n // if the slider isn't moving right now:\n // Go to prev slide and\n // emit a scroll event.\n\n\n if (newEvent.direction < 0) {\n if ((!swiper.isEnd || swiper.params.loop) && !swiper.animating) {\n swiper.slideNext();\n swiper.emit('scroll', newEvent.raw);\n }\n } else if ((!swiper.isBeginning || swiper.params.loop) && !swiper.animating) {\n swiper.slidePrev();\n swiper.emit('scroll', newEvent.raw);\n } // If you got here is because an animation has been triggered so store the current time\n\n\n swiper.mousewheel.lastScrollTime = new window.Date().getTime(); // Return false as a default\n\n return false;\n },\n releaseScroll: function releaseScroll(newEvent) {\n var swiper = this;\n var params = swiper.params.mousewheel;\n\n if (newEvent.direction < 0) {\n if (swiper.isEnd && !swiper.params.loop && params.releaseOnEdges) {\n // Return true to animate scroll on edges\n return true;\n }\n } else if (swiper.isBeginning && !swiper.params.loop && params.releaseOnEdges) {\n // Return true to animate scroll on edges\n return true;\n }\n\n return false;\n },\n enable: function enable() {\n var swiper = this;\n var event = Mousewheel.event();\n\n if (swiper.params.cssMode) {\n swiper.wrapperEl.removeEventListener(event, swiper.mousewheel.handle);\n return true;\n }\n\n if (!event) return false;\n if (swiper.mousewheel.enabled) return false;\n var target = swiper.$el;\n\n if (swiper.params.mousewheel.eventsTarget !== 'container') {\n target = $(swiper.params.mousewheel.eventsTarget);\n }\n\n target.on('mouseenter', swiper.mousewheel.handleMouseEnter);\n target.on('mouseleave', swiper.mousewheel.handleMouseLeave);\n target.on(event, swiper.mousewheel.handle);\n swiper.mousewheel.enabled = true;\n return true;\n },\n disable: function disable() {\n var swiper = this;\n var event = Mousewheel.event();\n\n if (swiper.params.cssMode) {\n swiper.wrapperEl.addEventListener(event, swiper.mousewheel.handle);\n return true;\n }\n\n if (!event) return false;\n if (!swiper.mousewheel.enabled) return false;\n var target = swiper.$el;\n\n if (swiper.params.mousewheel.eventsTarget !== 'container') {\n target = $(swiper.params.mousewheel.eventsTarget);\n }\n\n target.off(event, swiper.mousewheel.handle);\n swiper.mousewheel.enabled = false;\n return true;\n }\n};\nexport default {\n name: 'mousewheel',\n params: {\n mousewheel: {\n enabled: false,\n releaseOnEdges: false,\n invert: false,\n forceToAxis: false,\n sensitivity: 1,\n eventsTarget: 'container',\n thresholdDelta: null,\n thresholdTime: null\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n mousewheel: {\n enabled: false,\n lastScrollTime: now(),\n lastEventBeforeSnap: undefined,\n recentWheelEvents: [],\n enable: Mousewheel.enable,\n disable: Mousewheel.disable,\n handle: Mousewheel.handle,\n handleMouseEnter: Mousewheel.handleMouseEnter,\n handleMouseLeave: Mousewheel.handleMouseLeave,\n animateSlider: Mousewheel.animateSlider,\n releaseScroll: Mousewheel.releaseScroll\n }\n });\n },\n on: {\n init: function init(swiper) {\n if (!swiper.params.mousewheel.enabled && swiper.params.cssMode) {\n swiper.mousewheel.disable();\n }\n\n if (swiper.params.mousewheel.enabled) swiper.mousewheel.enable();\n },\n destroy: function destroy(swiper) {\n if (swiper.params.cssMode) {\n swiper.mousewheel.enable();\n }\n\n if (swiper.mousewheel.enabled) swiper.mousewheel.disable();\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport $ from '../../utils/dom';\nimport { extend, bindModuleMethods, createElementIfNotDefined } from '../../utils/utils';\nvar Navigation = {\n toggleEl: function toggleEl($el, disabled) {\n $el[disabled ? 'addClass' : 'removeClass'](this.params.navigation.disabledClass);\n if ($el[0] && $el[0].tagName === 'BUTTON') $el[0].disabled = disabled;\n },\n update: function update() {\n // Update Navigation Buttons\n var swiper = this;\n var params = swiper.params.navigation;\n var toggleEl = swiper.navigation.toggleEl;\n if (swiper.params.loop) return;\n var _swiper$navigation = swiper.navigation,\n $nextEl = _swiper$navigation.$nextEl,\n $prevEl = _swiper$navigation.$prevEl;\n\n if ($prevEl && $prevEl.length > 0) {\n if (swiper.isBeginning) {\n toggleEl($prevEl, true);\n } else {\n toggleEl($prevEl, false);\n }\n\n if (swiper.params.watchOverflow && swiper.enabled) {\n $prevEl[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n }\n }\n\n if ($nextEl && $nextEl.length > 0) {\n if (swiper.isEnd) {\n toggleEl($nextEl, true);\n } else {\n toggleEl($nextEl, false);\n }\n\n if (swiper.params.watchOverflow && swiper.enabled) {\n $nextEl[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n }\n }\n },\n onPrevClick: function onPrevClick(e) {\n var swiper = this;\n e.preventDefault();\n if (swiper.isBeginning && !swiper.params.loop) return;\n swiper.slidePrev();\n },\n onNextClick: function onNextClick(e) {\n var swiper = this;\n e.preventDefault();\n if (swiper.isEnd && !swiper.params.loop) return;\n swiper.slideNext();\n },\n init: function init() {\n var swiper = this;\n var params = swiper.params.navigation;\n swiper.params.navigation = createElementIfNotDefined(swiper.$el, swiper.params.navigation, swiper.params.createElements, {\n nextEl: 'swiper-button-next',\n prevEl: 'swiper-button-prev'\n });\n if (!(params.nextEl || params.prevEl)) return;\n var $nextEl;\n var $prevEl;\n\n if (params.nextEl) {\n $nextEl = $(params.nextEl);\n\n if (swiper.params.uniqueNavElements && typeof params.nextEl === 'string' && $nextEl.length > 1 && swiper.$el.find(params.nextEl).length === 1) {\n $nextEl = swiper.$el.find(params.nextEl);\n }\n }\n\n if (params.prevEl) {\n $prevEl = $(params.prevEl);\n\n if (swiper.params.uniqueNavElements && typeof params.prevEl === 'string' && $prevEl.length > 1 && swiper.$el.find(params.prevEl).length === 1) {\n $prevEl = swiper.$el.find(params.prevEl);\n }\n }\n\n if ($nextEl && $nextEl.length > 0) {\n $nextEl.on('click', swiper.navigation.onNextClick);\n }\n\n if ($prevEl && $prevEl.length > 0) {\n $prevEl.on('click', swiper.navigation.onPrevClick);\n }\n\n extend(swiper.navigation, {\n $nextEl: $nextEl,\n nextEl: $nextEl && $nextEl[0],\n $prevEl: $prevEl,\n prevEl: $prevEl && $prevEl[0]\n });\n\n if (!swiper.enabled) {\n if ($nextEl) $nextEl.addClass(params.lockClass);\n if ($prevEl) $prevEl.addClass(params.lockClass);\n }\n },\n destroy: function destroy() {\n var swiper = this;\n var _swiper$navigation2 = swiper.navigation,\n $nextEl = _swiper$navigation2.$nextEl,\n $prevEl = _swiper$navigation2.$prevEl;\n\n if ($nextEl && $nextEl.length) {\n $nextEl.off('click', swiper.navigation.onNextClick);\n $nextEl.removeClass(swiper.params.navigation.disabledClass);\n }\n\n if ($prevEl && $prevEl.length) {\n $prevEl.off('click', swiper.navigation.onPrevClick);\n $prevEl.removeClass(swiper.params.navigation.disabledClass);\n }\n }\n};\nexport default {\n name: 'navigation',\n params: {\n navigation: {\n nextEl: null,\n prevEl: null,\n hideOnClick: false,\n disabledClass: 'swiper-button-disabled',\n hiddenClass: 'swiper-button-hidden',\n lockClass: 'swiper-button-lock'\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n navigation: _extends({}, Navigation)\n });\n },\n on: {\n init: function init(swiper) {\n swiper.navigation.init();\n swiper.navigation.update();\n },\n toEdge: function toEdge(swiper) {\n swiper.navigation.update();\n },\n fromEdge: function fromEdge(swiper) {\n swiper.navigation.update();\n },\n destroy: function destroy(swiper) {\n swiper.navigation.destroy();\n },\n 'enable disable': function enableDisable(swiper) {\n var _swiper$navigation3 = swiper.navigation,\n $nextEl = _swiper$navigation3.$nextEl,\n $prevEl = _swiper$navigation3.$prevEl;\n\n if ($nextEl) {\n $nextEl[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.navigation.lockClass);\n }\n\n if ($prevEl) {\n $prevEl[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.navigation.lockClass);\n }\n },\n click: function click(swiper, e) {\n var _swiper$navigation4 = swiper.navigation,\n $nextEl = _swiper$navigation4.$nextEl,\n $prevEl = _swiper$navigation4.$prevEl;\n var targetEl = e.target;\n\n if (swiper.params.navigation.hideOnClick && !$(targetEl).is($prevEl) && !$(targetEl).is($nextEl)) {\n if (swiper.pagination && swiper.params.pagination && swiper.params.pagination.clickable && (swiper.pagination.el === targetEl || swiper.pagination.el.contains(targetEl))) return;\n var isHidden;\n\n if ($nextEl) {\n isHidden = $nextEl.hasClass(swiper.params.navigation.hiddenClass);\n } else if ($prevEl) {\n isHidden = $prevEl.hasClass(swiper.params.navigation.hiddenClass);\n }\n\n if (isHidden === true) {\n swiper.emit('navigationShow');\n } else {\n swiper.emit('navigationHide');\n }\n\n if ($nextEl) {\n $nextEl.toggleClass(swiper.params.navigation.hiddenClass);\n }\n\n if ($prevEl) {\n $prevEl.toggleClass(swiper.params.navigation.hiddenClass);\n }\n }\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport $ from '../../utils/dom';\nimport { extend, bindModuleMethods, classesToSelector, createElementIfNotDefined } from '../../utils/utils';\nvar Pagination = {\n update: function update() {\n // Render || Update Pagination bullets/items\n var swiper = this;\n var rtl = swiper.rtl;\n var params = swiper.params.pagination;\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;\n var slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n var $el = swiper.pagination.$el; // Current/Total\n\n var current;\n var total = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n\n if (swiper.params.loop) {\n current = Math.ceil((swiper.activeIndex - swiper.loopedSlides) / swiper.params.slidesPerGroup);\n\n if (current > slidesLength - 1 - swiper.loopedSlides * 2) {\n current -= slidesLength - swiper.loopedSlides * 2;\n }\n\n if (current > total - 1) current -= total;\n if (current < 0 && swiper.params.paginationType !== 'bullets') current = total + current;\n } else if (typeof swiper.snapIndex !== 'undefined') {\n current = swiper.snapIndex;\n } else {\n current = swiper.activeIndex || 0;\n } // Types\n\n\n if (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) {\n var bullets = swiper.pagination.bullets;\n var firstIndex;\n var lastIndex;\n var midIndex;\n\n if (params.dynamicBullets) {\n swiper.pagination.bulletSize = bullets.eq(0)[swiper.isHorizontal() ? 'outerWidth' : 'outerHeight'](true);\n $el.css(swiper.isHorizontal() ? 'width' : 'height', swiper.pagination.bulletSize * (params.dynamicMainBullets + 4) + \"px\");\n\n if (params.dynamicMainBullets > 1 && swiper.previousIndex !== undefined) {\n swiper.pagination.dynamicBulletIndex += current - swiper.previousIndex;\n\n if (swiper.pagination.dynamicBulletIndex > params.dynamicMainBullets - 1) {\n swiper.pagination.dynamicBulletIndex = params.dynamicMainBullets - 1;\n } else if (swiper.pagination.dynamicBulletIndex < 0) {\n swiper.pagination.dynamicBulletIndex = 0;\n }\n }\n\n firstIndex = current - swiper.pagination.dynamicBulletIndex;\n lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);\n midIndex = (lastIndex + firstIndex) / 2;\n }\n\n bullets.removeClass(params.bulletActiveClass + \" \" + params.bulletActiveClass + \"-next \" + params.bulletActiveClass + \"-next-next \" + params.bulletActiveClass + \"-prev \" + params.bulletActiveClass + \"-prev-prev \" + params.bulletActiveClass + \"-main\");\n\n if ($el.length > 1) {\n bullets.each(function (bullet) {\n var $bullet = $(bullet);\n var bulletIndex = $bullet.index();\n\n if (bulletIndex === current) {\n $bullet.addClass(params.bulletActiveClass);\n }\n\n if (params.dynamicBullets) {\n if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) {\n $bullet.addClass(params.bulletActiveClass + \"-main\");\n }\n\n if (bulletIndex === firstIndex) {\n $bullet.prev().addClass(params.bulletActiveClass + \"-prev\").prev().addClass(params.bulletActiveClass + \"-prev-prev\");\n }\n\n if (bulletIndex === lastIndex) {\n $bullet.next().addClass(params.bulletActiveClass + \"-next\").next().addClass(params.bulletActiveClass + \"-next-next\");\n }\n }\n });\n } else {\n var $bullet = bullets.eq(current);\n var bulletIndex = $bullet.index();\n $bullet.addClass(params.bulletActiveClass);\n\n if (params.dynamicBullets) {\n var $firstDisplayedBullet = bullets.eq(firstIndex);\n var $lastDisplayedBullet = bullets.eq(lastIndex);\n\n for (var i = firstIndex; i <= lastIndex; i += 1) {\n bullets.eq(i).addClass(params.bulletActiveClass + \"-main\");\n }\n\n if (swiper.params.loop) {\n if (bulletIndex >= bullets.length - params.dynamicMainBullets) {\n for (var _i = params.dynamicMainBullets; _i >= 0; _i -= 1) {\n bullets.eq(bullets.length - _i).addClass(params.bulletActiveClass + \"-main\");\n }\n\n bullets.eq(bullets.length - params.dynamicMainBullets - 1).addClass(params.bulletActiveClass + \"-prev\");\n } else {\n $firstDisplayedBullet.prev().addClass(params.bulletActiveClass + \"-prev\").prev().addClass(params.bulletActiveClass + \"-prev-prev\");\n $lastDisplayedBullet.next().addClass(params.bulletActiveClass + \"-next\").next().addClass(params.bulletActiveClass + \"-next-next\");\n }\n } else {\n $firstDisplayedBullet.prev().addClass(params.bulletActiveClass + \"-prev\").prev().addClass(params.bulletActiveClass + \"-prev-prev\");\n $lastDisplayedBullet.next().addClass(params.bulletActiveClass + \"-next\").next().addClass(params.bulletActiveClass + \"-next-next\");\n }\n }\n }\n\n if (params.dynamicBullets) {\n var dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4);\n var bulletsOffset = (swiper.pagination.bulletSize * dynamicBulletsLength - swiper.pagination.bulletSize) / 2 - midIndex * swiper.pagination.bulletSize;\n var offsetProp = rtl ? 'right' : 'left';\n bullets.css(swiper.isHorizontal() ? offsetProp : 'top', bulletsOffset + \"px\");\n }\n }\n\n if (params.type === 'fraction') {\n $el.find(classesToSelector(params.currentClass)).text(params.formatFractionCurrent(current + 1));\n $el.find(classesToSelector(params.totalClass)).text(params.formatFractionTotal(total));\n }\n\n if (params.type === 'progressbar') {\n var progressbarDirection;\n\n if (params.progressbarOpposite) {\n progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal';\n } else {\n progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical';\n }\n\n var scale = (current + 1) / total;\n var scaleX = 1;\n var scaleY = 1;\n\n if (progressbarDirection === 'horizontal') {\n scaleX = scale;\n } else {\n scaleY = scale;\n }\n\n $el.find(classesToSelector(params.progressbarFillClass)).transform(\"translate3d(0,0,0) scaleX(\" + scaleX + \") scaleY(\" + scaleY + \")\").transition(swiper.params.speed);\n }\n\n if (params.type === 'custom' && params.renderCustom) {\n $el.html(params.renderCustom(swiper, current + 1, total));\n swiper.emit('paginationRender', $el[0]);\n } else {\n swiper.emit('paginationUpdate', $el[0]);\n }\n\n if (swiper.params.watchOverflow && swiper.enabled) {\n $el[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n }\n },\n render: function render() {\n // Render Container\n var swiper = this;\n var params = swiper.params.pagination;\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;\n var slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n var $el = swiper.pagination.$el;\n var paginationHTML = '';\n\n if (params.type === 'bullets') {\n var numberOfBullets = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n\n if (swiper.params.freeMode && !swiper.params.loop && numberOfBullets > slidesLength) {\n numberOfBullets = slidesLength;\n }\n\n for (var i = 0; i < numberOfBullets; i += 1) {\n if (params.renderBullet) {\n paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass);\n } else {\n paginationHTML += \"<\" + params.bulletElement + \" class=\\\"\" + params.bulletClass + \"\\\">\";\n }\n }\n\n $el.html(paginationHTML);\n swiper.pagination.bullets = $el.find(classesToSelector(params.bulletClass));\n }\n\n if (params.type === 'fraction') {\n if (params.renderFraction) {\n paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass);\n } else {\n paginationHTML = \"\" + ' / ' + (\"\");\n }\n\n $el.html(paginationHTML);\n }\n\n if (params.type === 'progressbar') {\n if (params.renderProgressbar) {\n paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass);\n } else {\n paginationHTML = \"\";\n }\n\n $el.html(paginationHTML);\n }\n\n if (params.type !== 'custom') {\n swiper.emit('paginationRender', swiper.pagination.$el[0]);\n }\n },\n init: function init() {\n var swiper = this;\n swiper.params.pagination = createElementIfNotDefined(swiper.$el, swiper.params.pagination, swiper.params.createElements, {\n el: 'swiper-pagination'\n });\n var params = swiper.params.pagination;\n if (!params.el) return;\n var $el = $(params.el);\n if ($el.length === 0) return;\n\n if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1) {\n $el = swiper.$el.find(params.el);\n }\n\n if (params.type === 'bullets' && params.clickable) {\n $el.addClass(params.clickableClass);\n }\n\n $el.addClass(params.modifierClass + params.type);\n\n if (params.type === 'bullets' && params.dynamicBullets) {\n $el.addClass(\"\" + params.modifierClass + params.type + \"-dynamic\");\n swiper.pagination.dynamicBulletIndex = 0;\n\n if (params.dynamicMainBullets < 1) {\n params.dynamicMainBullets = 1;\n }\n }\n\n if (params.type === 'progressbar' && params.progressbarOpposite) {\n $el.addClass(params.progressbarOppositeClass);\n }\n\n if (params.clickable) {\n $el.on('click', classesToSelector(params.bulletClass), function onClick(e) {\n e.preventDefault();\n var index = $(this).index() * swiper.params.slidesPerGroup;\n if (swiper.params.loop) index += swiper.loopedSlides;\n swiper.slideTo(index);\n });\n }\n\n extend(swiper.pagination, {\n $el: $el,\n el: $el[0]\n });\n\n if (!swiper.enabled) {\n $el.addClass(params.lockClass);\n }\n },\n destroy: function destroy() {\n var swiper = this;\n var params = swiper.params.pagination;\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;\n var $el = swiper.pagination.$el;\n $el.removeClass(params.hiddenClass);\n $el.removeClass(params.modifierClass + params.type);\n if (swiper.pagination.bullets) swiper.pagination.bullets.removeClass(params.bulletActiveClass);\n\n if (params.clickable) {\n $el.off('click', classesToSelector(params.bulletClass));\n }\n }\n};\nexport default {\n name: 'pagination',\n params: {\n pagination: {\n el: null,\n bulletElement: 'span',\n clickable: false,\n hideOnClick: false,\n renderBullet: null,\n renderProgressbar: null,\n renderFraction: null,\n renderCustom: null,\n progressbarOpposite: false,\n type: 'bullets',\n // 'bullets' or 'progressbar' or 'fraction' or 'custom'\n dynamicBullets: false,\n dynamicMainBullets: 1,\n formatFractionCurrent: function formatFractionCurrent(number) {\n return number;\n },\n formatFractionTotal: function formatFractionTotal(number) {\n return number;\n },\n bulletClass: 'swiper-pagination-bullet',\n bulletActiveClass: 'swiper-pagination-bullet-active',\n modifierClass: 'swiper-pagination-',\n // NEW\n currentClass: 'swiper-pagination-current',\n totalClass: 'swiper-pagination-total',\n hiddenClass: 'swiper-pagination-hidden',\n progressbarFillClass: 'swiper-pagination-progressbar-fill',\n progressbarOppositeClass: 'swiper-pagination-progressbar-opposite',\n clickableClass: 'swiper-pagination-clickable',\n // NEW\n lockClass: 'swiper-pagination-lock'\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n pagination: _extends({\n dynamicBulletIndex: 0\n }, Pagination)\n });\n },\n on: {\n init: function init(swiper) {\n swiper.pagination.init();\n swiper.pagination.render();\n swiper.pagination.update();\n },\n activeIndexChange: function activeIndexChange(swiper) {\n if (swiper.params.loop) {\n swiper.pagination.update();\n } else if (typeof swiper.snapIndex === 'undefined') {\n swiper.pagination.update();\n }\n },\n snapIndexChange: function snapIndexChange(swiper) {\n if (!swiper.params.loop) {\n swiper.pagination.update();\n }\n },\n slidesLengthChange: function slidesLengthChange(swiper) {\n if (swiper.params.loop) {\n swiper.pagination.render();\n swiper.pagination.update();\n }\n },\n snapGridLengthChange: function snapGridLengthChange(swiper) {\n if (!swiper.params.loop) {\n swiper.pagination.render();\n swiper.pagination.update();\n }\n },\n destroy: function destroy(swiper) {\n swiper.pagination.destroy();\n },\n 'enable disable': function enableDisable(swiper) {\n var $el = swiper.pagination.$el;\n\n if ($el) {\n $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.pagination.lockClass);\n }\n },\n click: function click(swiper, e) {\n var targetEl = e.target;\n\n if (swiper.params.pagination.el && swiper.params.pagination.hideOnClick && swiper.pagination.$el.length > 0 && !$(targetEl).hasClass(swiper.params.pagination.bulletClass)) {\n if (swiper.navigation && (swiper.navigation.nextEl && targetEl === swiper.navigation.nextEl || swiper.navigation.prevEl && targetEl === swiper.navigation.prevEl)) return;\n var isHidden = swiper.pagination.$el.hasClass(swiper.params.pagination.hiddenClass);\n\n if (isHidden === true) {\n swiper.emit('paginationShow');\n } else {\n swiper.emit('paginationHide');\n }\n\n swiper.pagination.$el.toggleClass(swiper.params.pagination.hiddenClass);\n }\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport $ from '../../utils/dom';\nimport { bindModuleMethods } from '../../utils/utils';\nvar Parallax = {\n setTransform: function setTransform(el, progress) {\n var swiper = this;\n var rtl = swiper.rtl;\n var $el = $(el);\n var rtlFactor = rtl ? -1 : 1;\n var p = $el.attr('data-swiper-parallax') || '0';\n var x = $el.attr('data-swiper-parallax-x');\n var y = $el.attr('data-swiper-parallax-y');\n var scale = $el.attr('data-swiper-parallax-scale');\n var opacity = $el.attr('data-swiper-parallax-opacity');\n\n if (x || y) {\n x = x || '0';\n y = y || '0';\n } else if (swiper.isHorizontal()) {\n x = p;\n y = '0';\n } else {\n y = p;\n x = '0';\n }\n\n if (x.indexOf('%') >= 0) {\n x = parseInt(x, 10) * progress * rtlFactor + \"%\";\n } else {\n x = x * progress * rtlFactor + \"px\";\n }\n\n if (y.indexOf('%') >= 0) {\n y = parseInt(y, 10) * progress + \"%\";\n } else {\n y = y * progress + \"px\";\n }\n\n if (typeof opacity !== 'undefined' && opacity !== null) {\n var currentOpacity = opacity - (opacity - 1) * (1 - Math.abs(progress));\n $el[0].style.opacity = currentOpacity;\n }\n\n if (typeof scale === 'undefined' || scale === null) {\n $el.transform(\"translate3d(\" + x + \", \" + y + \", 0px)\");\n } else {\n var currentScale = scale - (scale - 1) * (1 - Math.abs(progress));\n $el.transform(\"translate3d(\" + x + \", \" + y + \", 0px) scale(\" + currentScale + \")\");\n }\n },\n setTranslate: function setTranslate() {\n var swiper = this;\n var $el = swiper.$el,\n slides = swiper.slides,\n progress = swiper.progress,\n snapGrid = swiper.snapGrid;\n $el.children('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').each(function (el) {\n swiper.parallax.setTransform(el, progress);\n });\n slides.each(function (slideEl, slideIndex) {\n var slideProgress = slideEl.progress;\n\n if (swiper.params.slidesPerGroup > 1 && swiper.params.slidesPerView !== 'auto') {\n slideProgress += Math.ceil(slideIndex / 2) - progress * (snapGrid.length - 1);\n }\n\n slideProgress = Math.min(Math.max(slideProgress, -1), 1);\n $(slideEl).find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').each(function (el) {\n swiper.parallax.setTransform(el, slideProgress);\n });\n });\n },\n setTransition: function setTransition(duration) {\n if (duration === void 0) {\n duration = this.params.speed;\n }\n\n var swiper = this;\n var $el = swiper.$el;\n $el.find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').each(function (parallaxEl) {\n var $parallaxEl = $(parallaxEl);\n var parallaxDuration = parseInt($parallaxEl.attr('data-swiper-parallax-duration'), 10) || duration;\n if (duration === 0) parallaxDuration = 0;\n $parallaxEl.transition(parallaxDuration);\n });\n }\n};\nexport default {\n name: 'parallax',\n params: {\n parallax: {\n enabled: false\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n parallax: _extends({}, Parallax)\n });\n },\n on: {\n beforeInit: function beforeInit(swiper) {\n if (!swiper.params.parallax.enabled) return;\n swiper.params.watchSlidesProgress = true;\n swiper.originalParams.watchSlidesProgress = true;\n },\n init: function init(swiper) {\n if (!swiper.params.parallax.enabled) return;\n swiper.parallax.setTranslate();\n },\n setTranslate: function setTranslate(swiper) {\n if (!swiper.params.parallax.enabled) return;\n swiper.parallax.setTranslate();\n },\n setTransition: function setTransition(swiper, duration) {\n if (!swiper.params.parallax.enabled) return;\n swiper.parallax.setTransition(duration);\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport { getDocument } from 'ssr-window';\nimport $ from '../../utils/dom';\nimport { extend, nextTick, bindModuleMethods, createElementIfNotDefined } from '../../utils/utils';\nvar Scrollbar = {\n setTranslate: function setTranslate() {\n var swiper = this;\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n var scrollbar = swiper.scrollbar,\n rtl = swiper.rtlTranslate,\n progress = swiper.progress;\n var dragSize = scrollbar.dragSize,\n trackSize = scrollbar.trackSize,\n $dragEl = scrollbar.$dragEl,\n $el = scrollbar.$el;\n var params = swiper.params.scrollbar;\n var newSize = dragSize;\n var newPos = (trackSize - dragSize) * progress;\n\n if (rtl) {\n newPos = -newPos;\n\n if (newPos > 0) {\n newSize = dragSize - newPos;\n newPos = 0;\n } else if (-newPos + dragSize > trackSize) {\n newSize = trackSize + newPos;\n }\n } else if (newPos < 0) {\n newSize = dragSize + newPos;\n newPos = 0;\n } else if (newPos + dragSize > trackSize) {\n newSize = trackSize - newPos;\n }\n\n if (swiper.isHorizontal()) {\n $dragEl.transform(\"translate3d(\" + newPos + \"px, 0, 0)\");\n $dragEl[0].style.width = newSize + \"px\";\n } else {\n $dragEl.transform(\"translate3d(0px, \" + newPos + \"px, 0)\");\n $dragEl[0].style.height = newSize + \"px\";\n }\n\n if (params.hide) {\n clearTimeout(swiper.scrollbar.timeout);\n $el[0].style.opacity = 1;\n swiper.scrollbar.timeout = setTimeout(function () {\n $el[0].style.opacity = 0;\n $el.transition(400);\n }, 1000);\n }\n },\n setTransition: function setTransition(duration) {\n var swiper = this;\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n swiper.scrollbar.$dragEl.transition(duration);\n },\n updateSize: function updateSize() {\n var swiper = this;\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n var scrollbar = swiper.scrollbar;\n var $dragEl = scrollbar.$dragEl,\n $el = scrollbar.$el;\n $dragEl[0].style.width = '';\n $dragEl[0].style.height = '';\n var trackSize = swiper.isHorizontal() ? $el[0].offsetWidth : $el[0].offsetHeight;\n var divider = swiper.size / swiper.virtualSize;\n var moveDivider = divider * (trackSize / swiper.size);\n var dragSize;\n\n if (swiper.params.scrollbar.dragSize === 'auto') {\n dragSize = trackSize * divider;\n } else {\n dragSize = parseInt(swiper.params.scrollbar.dragSize, 10);\n }\n\n if (swiper.isHorizontal()) {\n $dragEl[0].style.width = dragSize + \"px\";\n } else {\n $dragEl[0].style.height = dragSize + \"px\";\n }\n\n if (divider >= 1) {\n $el[0].style.display = 'none';\n } else {\n $el[0].style.display = '';\n }\n\n if (swiper.params.scrollbar.hide) {\n $el[0].style.opacity = 0;\n }\n\n extend(scrollbar, {\n trackSize: trackSize,\n divider: divider,\n moveDivider: moveDivider,\n dragSize: dragSize\n });\n\n if (swiper.params.watchOverflow && swiper.enabled) {\n scrollbar.$el[swiper.isLocked ? 'addClass' : 'removeClass'](swiper.params.scrollbar.lockClass);\n }\n },\n getPointerPosition: function getPointerPosition(e) {\n var swiper = this;\n\n if (swiper.isHorizontal()) {\n return e.type === 'touchstart' || e.type === 'touchmove' ? e.targetTouches[0].clientX : e.clientX;\n }\n\n return e.type === 'touchstart' || e.type === 'touchmove' ? e.targetTouches[0].clientY : e.clientY;\n },\n setDragPosition: function setDragPosition(e) {\n var swiper = this;\n var scrollbar = swiper.scrollbar,\n rtl = swiper.rtlTranslate;\n var $el = scrollbar.$el,\n dragSize = scrollbar.dragSize,\n trackSize = scrollbar.trackSize,\n dragStartPos = scrollbar.dragStartPos;\n var positionRatio;\n positionRatio = (scrollbar.getPointerPosition(e) - $el.offset()[swiper.isHorizontal() ? 'left' : 'top'] - (dragStartPos !== null ? dragStartPos : dragSize / 2)) / (trackSize - dragSize);\n positionRatio = Math.max(Math.min(positionRatio, 1), 0);\n\n if (rtl) {\n positionRatio = 1 - positionRatio;\n }\n\n var position = swiper.minTranslate() + (swiper.maxTranslate() - swiper.minTranslate()) * positionRatio;\n swiper.updateProgress(position);\n swiper.setTranslate(position);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n },\n onDragStart: function onDragStart(e) {\n var swiper = this;\n var params = swiper.params.scrollbar;\n var scrollbar = swiper.scrollbar,\n $wrapperEl = swiper.$wrapperEl;\n var $el = scrollbar.$el,\n $dragEl = scrollbar.$dragEl;\n swiper.scrollbar.isTouched = true;\n swiper.scrollbar.dragStartPos = e.target === $dragEl[0] || e.target === $dragEl ? scrollbar.getPointerPosition(e) - e.target.getBoundingClientRect()[swiper.isHorizontal() ? 'left' : 'top'] : null;\n e.preventDefault();\n e.stopPropagation();\n $wrapperEl.transition(100);\n $dragEl.transition(100);\n scrollbar.setDragPosition(e);\n clearTimeout(swiper.scrollbar.dragTimeout);\n $el.transition(0);\n\n if (params.hide) {\n $el.css('opacity', 1);\n }\n\n if (swiper.params.cssMode) {\n swiper.$wrapperEl.css('scroll-snap-type', 'none');\n }\n\n swiper.emit('scrollbarDragStart', e);\n },\n onDragMove: function onDragMove(e) {\n var swiper = this;\n var scrollbar = swiper.scrollbar,\n $wrapperEl = swiper.$wrapperEl;\n var $el = scrollbar.$el,\n $dragEl = scrollbar.$dragEl;\n if (!swiper.scrollbar.isTouched) return;\n if (e.preventDefault) e.preventDefault();else e.returnValue = false;\n scrollbar.setDragPosition(e);\n $wrapperEl.transition(0);\n $el.transition(0);\n $dragEl.transition(0);\n swiper.emit('scrollbarDragMove', e);\n },\n onDragEnd: function onDragEnd(e) {\n var swiper = this;\n var params = swiper.params.scrollbar;\n var scrollbar = swiper.scrollbar,\n $wrapperEl = swiper.$wrapperEl;\n var $el = scrollbar.$el;\n if (!swiper.scrollbar.isTouched) return;\n swiper.scrollbar.isTouched = false;\n\n if (swiper.params.cssMode) {\n swiper.$wrapperEl.css('scroll-snap-type', '');\n $wrapperEl.transition('');\n }\n\n if (params.hide) {\n clearTimeout(swiper.scrollbar.dragTimeout);\n swiper.scrollbar.dragTimeout = nextTick(function () {\n $el.css('opacity', 0);\n $el.transition(400);\n }, 1000);\n }\n\n swiper.emit('scrollbarDragEnd', e);\n\n if (params.snapOnRelease) {\n swiper.slideToClosest();\n }\n },\n enableDraggable: function enableDraggable() {\n var swiper = this;\n if (!swiper.params.scrollbar.el) return;\n var document = getDocument();\n var scrollbar = swiper.scrollbar,\n touchEventsTouch = swiper.touchEventsTouch,\n touchEventsDesktop = swiper.touchEventsDesktop,\n params = swiper.params,\n support = swiper.support;\n var $el = scrollbar.$el;\n var target = $el[0];\n var activeListener = support.passiveListener && params.passiveListeners ? {\n passive: false,\n capture: false\n } : false;\n var passiveListener = support.passiveListener && params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n if (!target) return;\n\n if (!support.touch) {\n target.addEventListener(touchEventsDesktop.start, swiper.scrollbar.onDragStart, activeListener);\n document.addEventListener(touchEventsDesktop.move, swiper.scrollbar.onDragMove, activeListener);\n document.addEventListener(touchEventsDesktop.end, swiper.scrollbar.onDragEnd, passiveListener);\n } else {\n target.addEventListener(touchEventsTouch.start, swiper.scrollbar.onDragStart, activeListener);\n target.addEventListener(touchEventsTouch.move, swiper.scrollbar.onDragMove, activeListener);\n target.addEventListener(touchEventsTouch.end, swiper.scrollbar.onDragEnd, passiveListener);\n }\n },\n disableDraggable: function disableDraggable() {\n var swiper = this;\n if (!swiper.params.scrollbar.el) return;\n var document = getDocument();\n var scrollbar = swiper.scrollbar,\n touchEventsTouch = swiper.touchEventsTouch,\n touchEventsDesktop = swiper.touchEventsDesktop,\n params = swiper.params,\n support = swiper.support;\n var $el = scrollbar.$el;\n var target = $el[0];\n var activeListener = support.passiveListener && params.passiveListeners ? {\n passive: false,\n capture: false\n } : false;\n var passiveListener = support.passiveListener && params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n if (!target) return;\n\n if (!support.touch) {\n target.removeEventListener(touchEventsDesktop.start, swiper.scrollbar.onDragStart, activeListener);\n document.removeEventListener(touchEventsDesktop.move, swiper.scrollbar.onDragMove, activeListener);\n document.removeEventListener(touchEventsDesktop.end, swiper.scrollbar.onDragEnd, passiveListener);\n } else {\n target.removeEventListener(touchEventsTouch.start, swiper.scrollbar.onDragStart, activeListener);\n target.removeEventListener(touchEventsTouch.move, swiper.scrollbar.onDragMove, activeListener);\n target.removeEventListener(touchEventsTouch.end, swiper.scrollbar.onDragEnd, passiveListener);\n }\n },\n init: function init() {\n var swiper = this;\n var scrollbar = swiper.scrollbar,\n $swiperEl = swiper.$el;\n swiper.params.scrollbar = createElementIfNotDefined($swiperEl, swiper.params.scrollbar, swiper.params.createElements, {\n el: 'swiper-scrollbar'\n });\n var params = swiper.params.scrollbar;\n if (!params.el) return;\n var $el = $(params.el);\n\n if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1 && $swiperEl.find(params.el).length === 1) {\n $el = $swiperEl.find(params.el);\n }\n\n var $dragEl = $el.find(\".\" + swiper.params.scrollbar.dragClass);\n\n if ($dragEl.length === 0) {\n $dragEl = $(\"
\");\n $el.append($dragEl);\n }\n\n extend(scrollbar, {\n $el: $el,\n el: $el[0],\n $dragEl: $dragEl,\n dragEl: $dragEl[0]\n });\n\n if (params.draggable) {\n scrollbar.enableDraggable();\n }\n\n if ($el) {\n $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.scrollbar.lockClass);\n }\n },\n destroy: function destroy() {\n var swiper = this;\n swiper.scrollbar.disableDraggable();\n }\n};\nexport default {\n name: 'scrollbar',\n params: {\n scrollbar: {\n el: null,\n dragSize: 'auto',\n hide: false,\n draggable: false,\n snapOnRelease: true,\n lockClass: 'swiper-scrollbar-lock',\n dragClass: 'swiper-scrollbar-drag'\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n scrollbar: _extends({\n isTouched: false,\n timeout: null,\n dragTimeout: null\n }, Scrollbar)\n });\n },\n on: {\n init: function init(swiper) {\n swiper.scrollbar.init();\n swiper.scrollbar.updateSize();\n swiper.scrollbar.setTranslate();\n },\n update: function update(swiper) {\n swiper.scrollbar.updateSize();\n },\n resize: function resize(swiper) {\n swiper.scrollbar.updateSize();\n },\n observerUpdate: function observerUpdate(swiper) {\n swiper.scrollbar.updateSize();\n },\n setTranslate: function setTranslate(swiper) {\n swiper.scrollbar.setTranslate();\n },\n setTransition: function setTransition(swiper, duration) {\n swiper.scrollbar.setTransition(duration);\n },\n 'enable disable': function enableDisable(swiper) {\n var $el = swiper.scrollbar.$el;\n\n if ($el) {\n $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.scrollbar.lockClass);\n }\n },\n destroy: function destroy(swiper) {\n swiper.scrollbar.destroy();\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport { extend, isObject, bindModuleMethods } from '../../utils/utils';\nimport $ from '../../utils/dom';\nvar Thumbs = {\n init: function init() {\n var swiper = this;\n var thumbsParams = swiper.params.thumbs;\n if (swiper.thumbs.initialized) return false;\n swiper.thumbs.initialized = true;\n var SwiperClass = swiper.constructor;\n\n if (thumbsParams.swiper instanceof SwiperClass) {\n swiper.thumbs.swiper = thumbsParams.swiper;\n extend(swiper.thumbs.swiper.originalParams, {\n watchSlidesProgress: true,\n slideToClickedSlide: false\n });\n extend(swiper.thumbs.swiper.params, {\n watchSlidesProgress: true,\n slideToClickedSlide: false\n });\n } else if (isObject(thumbsParams.swiper)) {\n swiper.thumbs.swiper = new SwiperClass(extend({}, thumbsParams.swiper, {\n watchSlidesVisibility: true,\n watchSlidesProgress: true,\n slideToClickedSlide: false\n }));\n swiper.thumbs.swiperCreated = true;\n }\n\n swiper.thumbs.swiper.$el.addClass(swiper.params.thumbs.thumbsContainerClass);\n swiper.thumbs.swiper.on('tap', swiper.thumbs.onThumbClick);\n return true;\n },\n onThumbClick: function onThumbClick() {\n var swiper = this;\n var thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper) return;\n var clickedIndex = thumbsSwiper.clickedIndex;\n var clickedSlide = thumbsSwiper.clickedSlide;\n if (clickedSlide && $(clickedSlide).hasClass(swiper.params.thumbs.slideThumbActiveClass)) return;\n if (typeof clickedIndex === 'undefined' || clickedIndex === null) return;\n var slideToIndex;\n\n if (thumbsSwiper.params.loop) {\n slideToIndex = parseInt($(thumbsSwiper.clickedSlide).attr('data-swiper-slide-index'), 10);\n } else {\n slideToIndex = clickedIndex;\n }\n\n if (swiper.params.loop) {\n var currentIndex = swiper.activeIndex;\n\n if (swiper.slides.eq(currentIndex).hasClass(swiper.params.slideDuplicateClass)) {\n swiper.loopFix(); // eslint-disable-next-line\n\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n currentIndex = swiper.activeIndex;\n }\n\n var prevIndex = swiper.slides.eq(currentIndex).prevAll(\"[data-swiper-slide-index=\\\"\" + slideToIndex + \"\\\"]\").eq(0).index();\n var nextIndex = swiper.slides.eq(currentIndex).nextAll(\"[data-swiper-slide-index=\\\"\" + slideToIndex + \"\\\"]\").eq(0).index();\n if (typeof prevIndex === 'undefined') slideToIndex = nextIndex;else if (typeof nextIndex === 'undefined') slideToIndex = prevIndex;else if (nextIndex - currentIndex < currentIndex - prevIndex) slideToIndex = nextIndex;else slideToIndex = prevIndex;\n }\n\n swiper.slideTo(slideToIndex);\n },\n update: function update(initial) {\n var swiper = this;\n var thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper) return;\n var slidesPerView = thumbsSwiper.params.slidesPerView === 'auto' ? thumbsSwiper.slidesPerViewDynamic() : thumbsSwiper.params.slidesPerView;\n var autoScrollOffset = swiper.params.thumbs.autoScrollOffset;\n var useOffset = autoScrollOffset && !thumbsSwiper.params.loop;\n\n if (swiper.realIndex !== thumbsSwiper.realIndex || useOffset) {\n var currentThumbsIndex = thumbsSwiper.activeIndex;\n var newThumbsIndex;\n var direction;\n\n if (thumbsSwiper.params.loop) {\n if (thumbsSwiper.slides.eq(currentThumbsIndex).hasClass(thumbsSwiper.params.slideDuplicateClass)) {\n thumbsSwiper.loopFix(); // eslint-disable-next-line\n\n thumbsSwiper._clientLeft = thumbsSwiper.$wrapperEl[0].clientLeft;\n currentThumbsIndex = thumbsSwiper.activeIndex;\n } // Find actual thumbs index to slide to\n\n\n var prevThumbsIndex = thumbsSwiper.slides.eq(currentThumbsIndex).prevAll(\"[data-swiper-slide-index=\\\"\" + swiper.realIndex + \"\\\"]\").eq(0).index();\n var nextThumbsIndex = thumbsSwiper.slides.eq(currentThumbsIndex).nextAll(\"[data-swiper-slide-index=\\\"\" + swiper.realIndex + \"\\\"]\").eq(0).index();\n\n if (typeof prevThumbsIndex === 'undefined') {\n newThumbsIndex = nextThumbsIndex;\n } else if (typeof nextThumbsIndex === 'undefined') {\n newThumbsIndex = prevThumbsIndex;\n } else if (nextThumbsIndex - currentThumbsIndex === currentThumbsIndex - prevThumbsIndex) {\n newThumbsIndex = thumbsSwiper.params.slidesPerGroup > 1 ? nextThumbsIndex : currentThumbsIndex;\n } else if (nextThumbsIndex - currentThumbsIndex < currentThumbsIndex - prevThumbsIndex) {\n newThumbsIndex = nextThumbsIndex;\n } else {\n newThumbsIndex = prevThumbsIndex;\n }\n\n direction = swiper.activeIndex > swiper.previousIndex ? 'next' : 'prev';\n } else {\n newThumbsIndex = swiper.realIndex;\n direction = newThumbsIndex > swiper.previousIndex ? 'next' : 'prev';\n }\n\n if (useOffset) {\n newThumbsIndex += direction === 'next' ? autoScrollOffset : -1 * autoScrollOffset;\n }\n\n if (thumbsSwiper.visibleSlidesIndexes && thumbsSwiper.visibleSlidesIndexes.indexOf(newThumbsIndex) < 0) {\n if (thumbsSwiper.params.centeredSlides) {\n if (newThumbsIndex > currentThumbsIndex) {\n newThumbsIndex = newThumbsIndex - Math.floor(slidesPerView / 2) + 1;\n } else {\n newThumbsIndex = newThumbsIndex + Math.floor(slidesPerView / 2) - 1;\n }\n } else if (newThumbsIndex > currentThumbsIndex && thumbsSwiper.params.slidesPerGroup === 1) {// newThumbsIndex = newThumbsIndex - slidesPerView + 1;\n }\n\n thumbsSwiper.slideTo(newThumbsIndex, initial ? 0 : undefined);\n }\n } // Activate thumbs\n\n\n var thumbsToActivate = 1;\n var thumbActiveClass = swiper.params.thumbs.slideThumbActiveClass;\n\n if (swiper.params.slidesPerView > 1 && !swiper.params.centeredSlides) {\n thumbsToActivate = swiper.params.slidesPerView;\n }\n\n if (!swiper.params.thumbs.multipleActiveThumbs) {\n thumbsToActivate = 1;\n }\n\n thumbsToActivate = Math.floor(thumbsToActivate);\n thumbsSwiper.slides.removeClass(thumbActiveClass);\n\n if (thumbsSwiper.params.loop || thumbsSwiper.params.virtual && thumbsSwiper.params.virtual.enabled) {\n for (var i = 0; i < thumbsToActivate; i += 1) {\n thumbsSwiper.$wrapperEl.children(\"[data-swiper-slide-index=\\\"\" + (swiper.realIndex + i) + \"\\\"]\").addClass(thumbActiveClass);\n }\n } else {\n for (var _i = 0; _i < thumbsToActivate; _i += 1) {\n thumbsSwiper.slides.eq(swiper.realIndex + _i).addClass(thumbActiveClass);\n }\n }\n }\n};\nexport default {\n name: 'thumbs',\n params: {\n thumbs: {\n swiper: null,\n multipleActiveThumbs: true,\n autoScrollOffset: 0,\n slideThumbActiveClass: 'swiper-slide-thumb-active',\n thumbsContainerClass: 'swiper-container-thumbs'\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n thumbs: _extends({\n swiper: null,\n initialized: false\n }, Thumbs)\n });\n },\n on: {\n beforeInit: function beforeInit(swiper) {\n var thumbs = swiper.params.thumbs;\n if (!thumbs || !thumbs.swiper) return;\n swiper.thumbs.init();\n swiper.thumbs.update(true);\n },\n slideChange: function slideChange(swiper) {\n if (!swiper.thumbs.swiper) return;\n swiper.thumbs.update();\n },\n update: function update(swiper) {\n if (!swiper.thumbs.swiper) return;\n swiper.thumbs.update();\n },\n resize: function resize(swiper) {\n if (!swiper.thumbs.swiper) return;\n swiper.thumbs.update();\n },\n observerUpdate: function observerUpdate(swiper) {\n if (!swiper.thumbs.swiper) return;\n swiper.thumbs.update();\n },\n setTransition: function setTransition(swiper, duration) {\n var thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper) return;\n thumbsSwiper.setTransition(duration);\n },\n beforeDestroy: function beforeDestroy(swiper) {\n var thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper) return;\n\n if (swiper.thumbs.swiperCreated && thumbsSwiper) {\n thumbsSwiper.destroy();\n }\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport $ from '../../utils/dom';\nimport { extend, bindModuleMethods } from '../../utils/utils';\nvar Virtual = {\n update: function update(force) {\n var swiper = this;\n var _swiper$params = swiper.params,\n slidesPerView = _swiper$params.slidesPerView,\n slidesPerGroup = _swiper$params.slidesPerGroup,\n centeredSlides = _swiper$params.centeredSlides;\n var _swiper$params$virtua = swiper.params.virtual,\n addSlidesBefore = _swiper$params$virtua.addSlidesBefore,\n addSlidesAfter = _swiper$params$virtua.addSlidesAfter;\n var _swiper$virtual = swiper.virtual,\n previousFrom = _swiper$virtual.from,\n previousTo = _swiper$virtual.to,\n slides = _swiper$virtual.slides,\n previousSlidesGrid = _swiper$virtual.slidesGrid,\n renderSlide = _swiper$virtual.renderSlide,\n previousOffset = _swiper$virtual.offset;\n swiper.updateActiveIndex();\n var activeIndex = swiper.activeIndex || 0;\n var offsetProp;\n if (swiper.rtlTranslate) offsetProp = 'right';else offsetProp = swiper.isHorizontal() ? 'left' : 'top';\n var slidesAfter;\n var slidesBefore;\n\n if (centeredSlides) {\n slidesAfter = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesAfter;\n slidesBefore = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesBefore;\n } else {\n slidesAfter = slidesPerView + (slidesPerGroup - 1) + addSlidesAfter;\n slidesBefore = slidesPerGroup + addSlidesBefore;\n }\n\n var from = Math.max((activeIndex || 0) - slidesBefore, 0);\n var to = Math.min((activeIndex || 0) + slidesAfter, slides.length - 1);\n var offset = (swiper.slidesGrid[from] || 0) - (swiper.slidesGrid[0] || 0);\n extend(swiper.virtual, {\n from: from,\n to: to,\n offset: offset,\n slidesGrid: swiper.slidesGrid\n });\n\n function onRendered() {\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n\n if (swiper.lazy && swiper.params.lazy.enabled) {\n swiper.lazy.load();\n }\n }\n\n if (previousFrom === from && previousTo === to && !force) {\n if (swiper.slidesGrid !== previousSlidesGrid && offset !== previousOffset) {\n swiper.slides.css(offsetProp, offset + \"px\");\n }\n\n swiper.updateProgress();\n return;\n }\n\n if (swiper.params.virtual.renderExternal) {\n swiper.params.virtual.renderExternal.call(swiper, {\n offset: offset,\n from: from,\n to: to,\n slides: function getSlides() {\n var slidesToRender = [];\n\n for (var i = from; i <= to; i += 1) {\n slidesToRender.push(slides[i]);\n }\n\n return slidesToRender;\n }()\n });\n\n if (swiper.params.virtual.renderExternalUpdate) {\n onRendered();\n }\n\n return;\n }\n\n var prependIndexes = [];\n var appendIndexes = [];\n\n if (force) {\n swiper.$wrapperEl.find(\".\" + swiper.params.slideClass).remove();\n } else {\n for (var i = previousFrom; i <= previousTo; i += 1) {\n if (i < from || i > to) {\n swiper.$wrapperEl.find(\".\" + swiper.params.slideClass + \"[data-swiper-slide-index=\\\"\" + i + \"\\\"]\").remove();\n }\n }\n }\n\n for (var _i = 0; _i < slides.length; _i += 1) {\n if (_i >= from && _i <= to) {\n if (typeof previousTo === 'undefined' || force) {\n appendIndexes.push(_i);\n } else {\n if (_i > previousTo) appendIndexes.push(_i);\n if (_i < previousFrom) prependIndexes.push(_i);\n }\n }\n }\n\n appendIndexes.forEach(function (index) {\n swiper.$wrapperEl.append(renderSlide(slides[index], index));\n });\n prependIndexes.sort(function (a, b) {\n return b - a;\n }).forEach(function (index) {\n swiper.$wrapperEl.prepend(renderSlide(slides[index], index));\n });\n swiper.$wrapperEl.children('.swiper-slide').css(offsetProp, offset + \"px\");\n onRendered();\n },\n renderSlide: function renderSlide(slide, index) {\n var swiper = this;\n var params = swiper.params.virtual;\n\n if (params.cache && swiper.virtual.cache[index]) {\n return swiper.virtual.cache[index];\n }\n\n var $slideEl = params.renderSlide ? $(params.renderSlide.call(swiper, slide, index)) : $(\"
\" + slide + \"
\");\n if (!$slideEl.attr('data-swiper-slide-index')) $slideEl.attr('data-swiper-slide-index', index);\n if (params.cache) swiper.virtual.cache[index] = $slideEl;\n return $slideEl;\n },\n appendSlide: function appendSlide(slides) {\n var swiper = this;\n\n if (typeof slides === 'object' && 'length' in slides) {\n for (var i = 0; i < slides.length; i += 1) {\n if (slides[i]) swiper.virtual.slides.push(slides[i]);\n }\n } else {\n swiper.virtual.slides.push(slides);\n }\n\n swiper.virtual.update(true);\n },\n prependSlide: function prependSlide(slides) {\n var swiper = this;\n var activeIndex = swiper.activeIndex;\n var newActiveIndex = activeIndex + 1;\n var numberOfNewSlides = 1;\n\n if (Array.isArray(slides)) {\n for (var i = 0; i < slides.length; i += 1) {\n if (slides[i]) swiper.virtual.slides.unshift(slides[i]);\n }\n\n newActiveIndex = activeIndex + slides.length;\n numberOfNewSlides = slides.length;\n } else {\n swiper.virtual.slides.unshift(slides);\n }\n\n if (swiper.params.virtual.cache) {\n var cache = swiper.virtual.cache;\n var newCache = {};\n Object.keys(cache).forEach(function (cachedIndex) {\n var $cachedEl = cache[cachedIndex];\n var cachedElIndex = $cachedEl.attr('data-swiper-slide-index');\n\n if (cachedElIndex) {\n $cachedEl.attr('data-swiper-slide-index', parseInt(cachedElIndex, 10) + 1);\n }\n\n newCache[parseInt(cachedIndex, 10) + numberOfNewSlides] = $cachedEl;\n });\n swiper.virtual.cache = newCache;\n }\n\n swiper.virtual.update(true);\n swiper.slideTo(newActiveIndex, 0);\n },\n removeSlide: function removeSlide(slidesIndexes) {\n var swiper = this;\n if (typeof slidesIndexes === 'undefined' || slidesIndexes === null) return;\n var activeIndex = swiper.activeIndex;\n\n if (Array.isArray(slidesIndexes)) {\n for (var i = slidesIndexes.length - 1; i >= 0; i -= 1) {\n swiper.virtual.slides.splice(slidesIndexes[i], 1);\n\n if (swiper.params.virtual.cache) {\n delete swiper.virtual.cache[slidesIndexes[i]];\n }\n\n if (slidesIndexes[i] < activeIndex) activeIndex -= 1;\n activeIndex = Math.max(activeIndex, 0);\n }\n } else {\n swiper.virtual.slides.splice(slidesIndexes, 1);\n\n if (swiper.params.virtual.cache) {\n delete swiper.virtual.cache[slidesIndexes];\n }\n\n if (slidesIndexes < activeIndex) activeIndex -= 1;\n activeIndex = Math.max(activeIndex, 0);\n }\n\n swiper.virtual.update(true);\n swiper.slideTo(activeIndex, 0);\n },\n removeAllSlides: function removeAllSlides() {\n var swiper = this;\n swiper.virtual.slides = [];\n\n if (swiper.params.virtual.cache) {\n swiper.virtual.cache = {};\n }\n\n swiper.virtual.update(true);\n swiper.slideTo(0, 0);\n }\n};\nexport default {\n name: 'virtual',\n params: {\n virtual: {\n enabled: false,\n slides: [],\n cache: true,\n renderSlide: null,\n renderExternal: null,\n renderExternalUpdate: true,\n addSlidesBefore: 0,\n addSlidesAfter: 0\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n virtual: _extends({}, Virtual, {\n slides: swiper.params.virtual.slides,\n cache: {}\n })\n });\n },\n on: {\n beforeInit: function beforeInit(swiper) {\n if (!swiper.params.virtual.enabled) return;\n swiper.classNames.push(swiper.params.containerModifierClass + \"virtual\");\n var overwriteParams = {\n watchSlidesProgress: true\n };\n extend(swiper.params, overwriteParams);\n extend(swiper.originalParams, overwriteParams);\n\n if (!swiper.params.initialSlide) {\n swiper.virtual.update();\n }\n },\n setTranslate: function setTranslate(swiper) {\n if (!swiper.params.virtual.enabled) return;\n swiper.virtual.update();\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport { getWindow } from 'ssr-window';\nimport $ from '../../utils/dom';\nimport { bindModuleMethods, getTranslate } from '../../utils/utils';\nvar Zoom = {\n // Calc Scale From Multi-touches\n getDistanceBetweenTouches: function getDistanceBetweenTouches(e) {\n if (e.targetTouches.length < 2) return 1;\n var x1 = e.targetTouches[0].pageX;\n var y1 = e.targetTouches[0].pageY;\n var x2 = e.targetTouches[1].pageX;\n var y2 = e.targetTouches[1].pageY;\n var distance = Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2));\n return distance;\n },\n // Events\n onGestureStart: function onGestureStart(e) {\n var swiper = this;\n var support = swiper.support;\n var params = swiper.params.zoom;\n var zoom = swiper.zoom;\n var gesture = zoom.gesture;\n zoom.fakeGestureTouched = false;\n zoom.fakeGestureMoved = false;\n\n if (!support.gestures) {\n if (e.type !== 'touchstart' || e.type === 'touchstart' && e.targetTouches.length < 2) {\n return;\n }\n\n zoom.fakeGestureTouched = true;\n gesture.scaleStart = Zoom.getDistanceBetweenTouches(e);\n }\n\n if (!gesture.$slideEl || !gesture.$slideEl.length) {\n gesture.$slideEl = $(e.target).closest(\".\" + swiper.params.slideClass);\n if (gesture.$slideEl.length === 0) gesture.$slideEl = swiper.slides.eq(swiper.activeIndex);\n gesture.$imageEl = gesture.$slideEl.find('img, svg, canvas, picture, .swiper-zoom-target');\n gesture.$imageWrapEl = gesture.$imageEl.parent(\".\" + params.containerClass);\n gesture.maxRatio = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;\n\n if (gesture.$imageWrapEl.length === 0) {\n gesture.$imageEl = undefined;\n return;\n }\n }\n\n if (gesture.$imageEl) {\n gesture.$imageEl.transition(0);\n }\n\n swiper.zoom.isScaling = true;\n },\n onGestureChange: function onGestureChange(e) {\n var swiper = this;\n var support = swiper.support;\n var params = swiper.params.zoom;\n var zoom = swiper.zoom;\n var gesture = zoom.gesture;\n\n if (!support.gestures) {\n if (e.type !== 'touchmove' || e.type === 'touchmove' && e.targetTouches.length < 2) {\n return;\n }\n\n zoom.fakeGestureMoved = true;\n gesture.scaleMove = Zoom.getDistanceBetweenTouches(e);\n }\n\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) {\n if (e.type === 'gesturechange') zoom.onGestureStart(e);\n return;\n }\n\n if (support.gestures) {\n zoom.scale = e.scale * zoom.currentScale;\n } else {\n zoom.scale = gesture.scaleMove / gesture.scaleStart * zoom.currentScale;\n }\n\n if (zoom.scale > gesture.maxRatio) {\n zoom.scale = gesture.maxRatio - 1 + Math.pow(zoom.scale - gesture.maxRatio + 1, 0.5);\n }\n\n if (zoom.scale < params.minRatio) {\n zoom.scale = params.minRatio + 1 - Math.pow(params.minRatio - zoom.scale + 1, 0.5);\n }\n\n gesture.$imageEl.transform(\"translate3d(0,0,0) scale(\" + zoom.scale + \")\");\n },\n onGestureEnd: function onGestureEnd(e) {\n var swiper = this;\n var device = swiper.device;\n var support = swiper.support;\n var params = swiper.params.zoom;\n var zoom = swiper.zoom;\n var gesture = zoom.gesture;\n\n if (!support.gestures) {\n if (!zoom.fakeGestureTouched || !zoom.fakeGestureMoved) {\n return;\n }\n\n if (e.type !== 'touchend' || e.type === 'touchend' && e.changedTouches.length < 2 && !device.android) {\n return;\n }\n\n zoom.fakeGestureTouched = false;\n zoom.fakeGestureMoved = false;\n }\n\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n zoom.scale = Math.max(Math.min(zoom.scale, gesture.maxRatio), params.minRatio);\n gesture.$imageEl.transition(swiper.params.speed).transform(\"translate3d(0,0,0) scale(\" + zoom.scale + \")\");\n zoom.currentScale = zoom.scale;\n zoom.isScaling = false;\n if (zoom.scale === 1) gesture.$slideEl = undefined;\n },\n onTouchStart: function onTouchStart(e) {\n var swiper = this;\n var device = swiper.device;\n var zoom = swiper.zoom;\n var gesture = zoom.gesture,\n image = zoom.image;\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n if (image.isTouched) return;\n if (device.android && e.cancelable) e.preventDefault();\n image.isTouched = true;\n image.touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n image.touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n },\n onTouchMove: function onTouchMove(e) {\n var swiper = this;\n var zoom = swiper.zoom;\n var gesture = zoom.gesture,\n image = zoom.image,\n velocity = zoom.velocity;\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n swiper.allowClick = false;\n if (!image.isTouched || !gesture.$slideEl) return;\n\n if (!image.isMoved) {\n image.width = gesture.$imageEl[0].offsetWidth;\n image.height = gesture.$imageEl[0].offsetHeight;\n image.startX = getTranslate(gesture.$imageWrapEl[0], 'x') || 0;\n image.startY = getTranslate(gesture.$imageWrapEl[0], 'y') || 0;\n gesture.slideWidth = gesture.$slideEl[0].offsetWidth;\n gesture.slideHeight = gesture.$slideEl[0].offsetHeight;\n gesture.$imageWrapEl.transition(0);\n } // Define if we need image drag\n\n\n var scaledWidth = image.width * zoom.scale;\n var scaledHeight = image.height * zoom.scale;\n if (scaledWidth < gesture.slideWidth && scaledHeight < gesture.slideHeight) return;\n image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);\n image.maxX = -image.minX;\n image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);\n image.maxY = -image.minY;\n image.touchesCurrent.x = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n image.touchesCurrent.y = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n\n if (!image.isMoved && !zoom.isScaling) {\n if (swiper.isHorizontal() && (Math.floor(image.minX) === Math.floor(image.startX) && image.touchesCurrent.x < image.touchesStart.x || Math.floor(image.maxX) === Math.floor(image.startX) && image.touchesCurrent.x > image.touchesStart.x)) {\n image.isTouched = false;\n return;\n }\n\n if (!swiper.isHorizontal() && (Math.floor(image.minY) === Math.floor(image.startY) && image.touchesCurrent.y < image.touchesStart.y || Math.floor(image.maxY) === Math.floor(image.startY) && image.touchesCurrent.y > image.touchesStart.y)) {\n image.isTouched = false;\n return;\n }\n }\n\n if (e.cancelable) {\n e.preventDefault();\n }\n\n e.stopPropagation();\n image.isMoved = true;\n image.currentX = image.touchesCurrent.x - image.touchesStart.x + image.startX;\n image.currentY = image.touchesCurrent.y - image.touchesStart.y + image.startY;\n\n if (image.currentX < image.minX) {\n image.currentX = image.minX + 1 - Math.pow(image.minX - image.currentX + 1, 0.8);\n }\n\n if (image.currentX > image.maxX) {\n image.currentX = image.maxX - 1 + Math.pow(image.currentX - image.maxX + 1, 0.8);\n }\n\n if (image.currentY < image.minY) {\n image.currentY = image.minY + 1 - Math.pow(image.minY - image.currentY + 1, 0.8);\n }\n\n if (image.currentY > image.maxY) {\n image.currentY = image.maxY - 1 + Math.pow(image.currentY - image.maxY + 1, 0.8);\n } // Velocity\n\n\n if (!velocity.prevPositionX) velocity.prevPositionX = image.touchesCurrent.x;\n if (!velocity.prevPositionY) velocity.prevPositionY = image.touchesCurrent.y;\n if (!velocity.prevTime) velocity.prevTime = Date.now();\n velocity.x = (image.touchesCurrent.x - velocity.prevPositionX) / (Date.now() - velocity.prevTime) / 2;\n velocity.y = (image.touchesCurrent.y - velocity.prevPositionY) / (Date.now() - velocity.prevTime) / 2;\n if (Math.abs(image.touchesCurrent.x - velocity.prevPositionX) < 2) velocity.x = 0;\n if (Math.abs(image.touchesCurrent.y - velocity.prevPositionY) < 2) velocity.y = 0;\n velocity.prevPositionX = image.touchesCurrent.x;\n velocity.prevPositionY = image.touchesCurrent.y;\n velocity.prevTime = Date.now();\n gesture.$imageWrapEl.transform(\"translate3d(\" + image.currentX + \"px, \" + image.currentY + \"px,0)\");\n },\n onTouchEnd: function onTouchEnd() {\n var swiper = this;\n var zoom = swiper.zoom;\n var gesture = zoom.gesture,\n image = zoom.image,\n velocity = zoom.velocity;\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n\n if (!image.isTouched || !image.isMoved) {\n image.isTouched = false;\n image.isMoved = false;\n return;\n }\n\n image.isTouched = false;\n image.isMoved = false;\n var momentumDurationX = 300;\n var momentumDurationY = 300;\n var momentumDistanceX = velocity.x * momentumDurationX;\n var newPositionX = image.currentX + momentumDistanceX;\n var momentumDistanceY = velocity.y * momentumDurationY;\n var newPositionY = image.currentY + momentumDistanceY; // Fix duration\n\n if (velocity.x !== 0) momentumDurationX = Math.abs((newPositionX - image.currentX) / velocity.x);\n if (velocity.y !== 0) momentumDurationY = Math.abs((newPositionY - image.currentY) / velocity.y);\n var momentumDuration = Math.max(momentumDurationX, momentumDurationY);\n image.currentX = newPositionX;\n image.currentY = newPositionY; // Define if we need image drag\n\n var scaledWidth = image.width * zoom.scale;\n var scaledHeight = image.height * zoom.scale;\n image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);\n image.maxX = -image.minX;\n image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);\n image.maxY = -image.minY;\n image.currentX = Math.max(Math.min(image.currentX, image.maxX), image.minX);\n image.currentY = Math.max(Math.min(image.currentY, image.maxY), image.minY);\n gesture.$imageWrapEl.transition(momentumDuration).transform(\"translate3d(\" + image.currentX + \"px, \" + image.currentY + \"px,0)\");\n },\n onTransitionEnd: function onTransitionEnd() {\n var swiper = this;\n var zoom = swiper.zoom;\n var gesture = zoom.gesture;\n\n if (gesture.$slideEl && swiper.previousIndex !== swiper.activeIndex) {\n if (gesture.$imageEl) {\n gesture.$imageEl.transform('translate3d(0,0,0) scale(1)');\n }\n\n if (gesture.$imageWrapEl) {\n gesture.$imageWrapEl.transform('translate3d(0,0,0)');\n }\n\n zoom.scale = 1;\n zoom.currentScale = 1;\n gesture.$slideEl = undefined;\n gesture.$imageEl = undefined;\n gesture.$imageWrapEl = undefined;\n }\n },\n // Toggle Zoom\n toggle: function toggle(e) {\n var swiper = this;\n var zoom = swiper.zoom;\n\n if (zoom.scale && zoom.scale !== 1) {\n // Zoom Out\n zoom.out();\n } else {\n // Zoom In\n zoom.in(e);\n }\n },\n in: function _in(e) {\n var swiper = this;\n var window = getWindow();\n var zoom = swiper.zoom;\n var params = swiper.params.zoom;\n var gesture = zoom.gesture,\n image = zoom.image;\n\n if (!gesture.$slideEl) {\n if (e && e.target) {\n gesture.$slideEl = $(e.target).closest(\".\" + swiper.params.slideClass);\n }\n\n if (!gesture.$slideEl) {\n if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) {\n gesture.$slideEl = swiper.$wrapperEl.children(\".\" + swiper.params.slideActiveClass);\n } else {\n gesture.$slideEl = swiper.slides.eq(swiper.activeIndex);\n }\n }\n\n gesture.$imageEl = gesture.$slideEl.find('img, svg, canvas, picture, .swiper-zoom-target');\n gesture.$imageWrapEl = gesture.$imageEl.parent(\".\" + params.containerClass);\n }\n\n if (!gesture.$imageEl || gesture.$imageEl.length === 0 || !gesture.$imageWrapEl || gesture.$imageWrapEl.length === 0) return;\n gesture.$slideEl.addClass(\"\" + params.zoomedSlideClass);\n var touchX;\n var touchY;\n var offsetX;\n var offsetY;\n var diffX;\n var diffY;\n var translateX;\n var translateY;\n var imageWidth;\n var imageHeight;\n var scaledWidth;\n var scaledHeight;\n var translateMinX;\n var translateMinY;\n var translateMaxX;\n var translateMaxY;\n var slideWidth;\n var slideHeight;\n\n if (typeof image.touchesStart.x === 'undefined' && e) {\n touchX = e.type === 'touchend' ? e.changedTouches[0].pageX : e.pageX;\n touchY = e.type === 'touchend' ? e.changedTouches[0].pageY : e.pageY;\n } else {\n touchX = image.touchesStart.x;\n touchY = image.touchesStart.y;\n }\n\n zoom.scale = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;\n zoom.currentScale = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;\n\n if (e) {\n slideWidth = gesture.$slideEl[0].offsetWidth;\n slideHeight = gesture.$slideEl[0].offsetHeight;\n offsetX = gesture.$slideEl.offset().left + window.scrollX;\n offsetY = gesture.$slideEl.offset().top + window.scrollY;\n diffX = offsetX + slideWidth / 2 - touchX;\n diffY = offsetY + slideHeight / 2 - touchY;\n imageWidth = gesture.$imageEl[0].offsetWidth;\n imageHeight = gesture.$imageEl[0].offsetHeight;\n scaledWidth = imageWidth * zoom.scale;\n scaledHeight = imageHeight * zoom.scale;\n translateMinX = Math.min(slideWidth / 2 - scaledWidth / 2, 0);\n translateMinY = Math.min(slideHeight / 2 - scaledHeight / 2, 0);\n translateMaxX = -translateMinX;\n translateMaxY = -translateMinY;\n translateX = diffX * zoom.scale;\n translateY = diffY * zoom.scale;\n\n if (translateX < translateMinX) {\n translateX = translateMinX;\n }\n\n if (translateX > translateMaxX) {\n translateX = translateMaxX;\n }\n\n if (translateY < translateMinY) {\n translateY = translateMinY;\n }\n\n if (translateY > translateMaxY) {\n translateY = translateMaxY;\n }\n } else {\n translateX = 0;\n translateY = 0;\n }\n\n gesture.$imageWrapEl.transition(300).transform(\"translate3d(\" + translateX + \"px, \" + translateY + \"px,0)\");\n gesture.$imageEl.transition(300).transform(\"translate3d(0,0,0) scale(\" + zoom.scale + \")\");\n },\n out: function out() {\n var swiper = this;\n var zoom = swiper.zoom;\n var params = swiper.params.zoom;\n var gesture = zoom.gesture;\n\n if (!gesture.$slideEl) {\n if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) {\n gesture.$slideEl = swiper.$wrapperEl.children(\".\" + swiper.params.slideActiveClass);\n } else {\n gesture.$slideEl = swiper.slides.eq(swiper.activeIndex);\n }\n\n gesture.$imageEl = gesture.$slideEl.find('img, svg, canvas, picture, .swiper-zoom-target');\n gesture.$imageWrapEl = gesture.$imageEl.parent(\".\" + params.containerClass);\n }\n\n if (!gesture.$imageEl || gesture.$imageEl.length === 0 || !gesture.$imageWrapEl || gesture.$imageWrapEl.length === 0) return;\n zoom.scale = 1;\n zoom.currentScale = 1;\n gesture.$imageWrapEl.transition(300).transform('translate3d(0,0,0)');\n gesture.$imageEl.transition(300).transform('translate3d(0,0,0) scale(1)');\n gesture.$slideEl.removeClass(\"\" + params.zoomedSlideClass);\n gesture.$slideEl = undefined;\n },\n toggleGestures: function toggleGestures(method) {\n var swiper = this;\n var zoom = swiper.zoom;\n var selector = zoom.slideSelector,\n passive = zoom.passiveListener;\n swiper.$wrapperEl[method]('gesturestart', selector, zoom.onGestureStart, passive);\n swiper.$wrapperEl[method]('gesturechange', selector, zoom.onGestureChange, passive);\n swiper.$wrapperEl[method]('gestureend', selector, zoom.onGestureEnd, passive);\n },\n enableGestures: function enableGestures() {\n if (this.zoom.gesturesEnabled) return;\n this.zoom.gesturesEnabled = true;\n this.zoom.toggleGestures('on');\n },\n disableGestures: function disableGestures() {\n if (!this.zoom.gesturesEnabled) return;\n this.zoom.gesturesEnabled = false;\n this.zoom.toggleGestures('off');\n },\n // Attach/Detach Events\n enable: function enable() {\n var swiper = this;\n var support = swiper.support;\n var zoom = swiper.zoom;\n if (zoom.enabled) return;\n zoom.enabled = true;\n var passiveListener = swiper.touchEvents.start === 'touchstart' && support.passiveListener && swiper.params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n var activeListenerWithCapture = support.passiveListener ? {\n passive: false,\n capture: true\n } : true;\n var slideSelector = \".\" + swiper.params.slideClass;\n swiper.zoom.passiveListener = passiveListener;\n swiper.zoom.slideSelector = slideSelector; // Scale image\n\n if (support.gestures) {\n swiper.$wrapperEl.on(swiper.touchEvents.start, swiper.zoom.enableGestures, passiveListener);\n swiper.$wrapperEl.on(swiper.touchEvents.end, swiper.zoom.disableGestures, passiveListener);\n } else if (swiper.touchEvents.start === 'touchstart') {\n swiper.$wrapperEl.on(swiper.touchEvents.start, slideSelector, zoom.onGestureStart, passiveListener);\n swiper.$wrapperEl.on(swiper.touchEvents.move, slideSelector, zoom.onGestureChange, activeListenerWithCapture);\n swiper.$wrapperEl.on(swiper.touchEvents.end, slideSelector, zoom.onGestureEnd, passiveListener);\n\n if (swiper.touchEvents.cancel) {\n swiper.$wrapperEl.on(swiper.touchEvents.cancel, slideSelector, zoom.onGestureEnd, passiveListener);\n }\n } // Move image\n\n\n swiper.$wrapperEl.on(swiper.touchEvents.move, \".\" + swiper.params.zoom.containerClass, zoom.onTouchMove, activeListenerWithCapture);\n },\n disable: function disable() {\n var swiper = this;\n var zoom = swiper.zoom;\n if (!zoom.enabled) return;\n var support = swiper.support;\n swiper.zoom.enabled = false;\n var passiveListener = swiper.touchEvents.start === 'touchstart' && support.passiveListener && swiper.params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n var activeListenerWithCapture = support.passiveListener ? {\n passive: false,\n capture: true\n } : true;\n var slideSelector = \".\" + swiper.params.slideClass; // Scale image\n\n if (support.gestures) {\n swiper.$wrapperEl.off(swiper.touchEvents.start, swiper.zoom.enableGestures, passiveListener);\n swiper.$wrapperEl.off(swiper.touchEvents.end, swiper.zoom.disableGestures, passiveListener);\n } else if (swiper.touchEvents.start === 'touchstart') {\n swiper.$wrapperEl.off(swiper.touchEvents.start, slideSelector, zoom.onGestureStart, passiveListener);\n swiper.$wrapperEl.off(swiper.touchEvents.move, slideSelector, zoom.onGestureChange, activeListenerWithCapture);\n swiper.$wrapperEl.off(swiper.touchEvents.end, slideSelector, zoom.onGestureEnd, passiveListener);\n\n if (swiper.touchEvents.cancel) {\n swiper.$wrapperEl.off(swiper.touchEvents.cancel, slideSelector, zoom.onGestureEnd, passiveListener);\n }\n } // Move image\n\n\n swiper.$wrapperEl.off(swiper.touchEvents.move, \".\" + swiper.params.zoom.containerClass, zoom.onTouchMove, activeListenerWithCapture);\n }\n};\nexport default {\n name: 'zoom',\n params: {\n zoom: {\n enabled: false,\n maxRatio: 3,\n minRatio: 1,\n toggle: true,\n containerClass: 'swiper-zoom-container',\n zoomedSlideClass: 'swiper-slide-zoomed'\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n zoom: _extends({\n enabled: false,\n scale: 1,\n currentScale: 1,\n isScaling: false,\n gesture: {\n $slideEl: undefined,\n slideWidth: undefined,\n slideHeight: undefined,\n $imageEl: undefined,\n $imageWrapEl: undefined,\n maxRatio: 3\n },\n image: {\n isTouched: undefined,\n isMoved: undefined,\n currentX: undefined,\n currentY: undefined,\n minX: undefined,\n minY: undefined,\n maxX: undefined,\n maxY: undefined,\n width: undefined,\n height: undefined,\n startX: undefined,\n startY: undefined,\n touchesStart: {},\n touchesCurrent: {}\n },\n velocity: {\n x: undefined,\n y: undefined,\n prevPositionX: undefined,\n prevPositionY: undefined,\n prevTime: undefined\n }\n }, Zoom)\n });\n var scale = 1;\n Object.defineProperty(swiper.zoom, 'scale', {\n get: function get() {\n return scale;\n },\n set: function set(value) {\n if (scale !== value) {\n var imageEl = swiper.zoom.gesture.$imageEl ? swiper.zoom.gesture.$imageEl[0] : undefined;\n var slideEl = swiper.zoom.gesture.$slideEl ? swiper.zoom.gesture.$slideEl[0] : undefined;\n swiper.emit('zoomChange', value, imageEl, slideEl);\n }\n\n scale = value;\n }\n });\n },\n on: {\n init: function init(swiper) {\n if (swiper.params.zoom.enabled) {\n swiper.zoom.enable();\n }\n },\n destroy: function destroy(swiper) {\n swiper.zoom.disable();\n },\n touchStart: function touchStart(swiper, e) {\n if (!swiper.zoom.enabled) return;\n swiper.zoom.onTouchStart(e);\n },\n touchEnd: function touchEnd(swiper, e) {\n if (!swiper.zoom.enabled) return;\n swiper.zoom.onTouchEnd(e);\n },\n doubleTap: function doubleTap(swiper, e) {\n if (!swiper.animating && swiper.params.zoom.enabled && swiper.zoom.enabled && swiper.params.zoom.toggle) {\n swiper.zoom.toggle(e);\n }\n },\n transitionEnd: function transitionEnd(swiper) {\n if (swiper.zoom.enabled && swiper.params.zoom.enabled) {\n swiper.zoom.onTransitionEnd();\n }\n },\n slideChange: function slideChange(swiper) {\n if (swiper.zoom.enabled && swiper.params.zoom.enabled && swiper.params.cssMode) {\n swiper.zoom.onTransitionEnd();\n }\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport { getWindow } from 'ssr-window';\nimport { bindModuleMethods } from '../../utils/utils';\nvar Observer = {\n attach: function attach(target, options) {\n if (options === void 0) {\n options = {};\n }\n\n var window = getWindow();\n var swiper = this;\n var ObserverFunc = window.MutationObserver || window.WebkitMutationObserver;\n var observer = new ObserverFunc(function (mutations) {\n // The observerUpdate event should only be triggered\n // once despite the number of mutations. Additional\n // triggers are redundant and are very costly\n if (mutations.length === 1) {\n swiper.emit('observerUpdate', mutations[0]);\n return;\n }\n\n var observerUpdate = function observerUpdate() {\n swiper.emit('observerUpdate', mutations[0]);\n };\n\n if (window.requestAnimationFrame) {\n window.requestAnimationFrame(observerUpdate);\n } else {\n window.setTimeout(observerUpdate, 0);\n }\n });\n observer.observe(target, {\n attributes: typeof options.attributes === 'undefined' ? true : options.attributes,\n childList: typeof options.childList === 'undefined' ? true : options.childList,\n characterData: typeof options.characterData === 'undefined' ? true : options.characterData\n });\n swiper.observer.observers.push(observer);\n },\n init: function init() {\n var swiper = this;\n if (!swiper.support.observer || !swiper.params.observer) return;\n\n if (swiper.params.observeParents) {\n var containerParents = swiper.$el.parents();\n\n for (var i = 0; i < containerParents.length; i += 1) {\n swiper.observer.attach(containerParents[i]);\n }\n } // Observe container\n\n\n swiper.observer.attach(swiper.$el[0], {\n childList: swiper.params.observeSlideChildren\n }); // Observe wrapper\n\n swiper.observer.attach(swiper.$wrapperEl[0], {\n attributes: false\n });\n },\n destroy: function destroy() {\n var swiper = this;\n swiper.observer.observers.forEach(function (observer) {\n observer.disconnect();\n });\n swiper.observer.observers = [];\n }\n};\nexport default {\n name: 'observer',\n params: {\n observer: false,\n observeParents: false,\n observeSlideChildren: false\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n observer: _extends({}, Observer, {\n observers: []\n })\n });\n },\n on: {\n init: function init(swiper) {\n swiper.observer.init();\n },\n destroy: function destroy(swiper) {\n swiper.observer.destroy();\n }\n }\n};","import { getWindow } from 'ssr-window';\nimport { extend } from '../../utils/utils';\n\nvar supportsResizeObserver = function supportsResizeObserver() {\n var window = getWindow();\n return typeof window.ResizeObserver !== 'undefined';\n};\n\nexport default {\n name: 'resize',\n create: function create() {\n var swiper = this;\n extend(swiper, {\n resize: {\n observer: null,\n createObserver: function createObserver() {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n swiper.resize.observer = new ResizeObserver(function (entries) {\n var width = swiper.width,\n height = swiper.height;\n var newWidth = width;\n var newHeight = height;\n entries.forEach(function (_ref) {\n var contentBoxSize = _ref.contentBoxSize,\n contentRect = _ref.contentRect,\n target = _ref.target;\n if (target && target !== swiper.el) return;\n newWidth = contentRect ? contentRect.width : (contentBoxSize[0] || contentBoxSize).inlineSize;\n newHeight = contentRect ? contentRect.height : (contentBoxSize[0] || contentBoxSize).blockSize;\n });\n\n if (newWidth !== width || newHeight !== height) {\n swiper.resize.resizeHandler();\n }\n });\n swiper.resize.observer.observe(swiper.el);\n },\n removeObserver: function removeObserver() {\n if (swiper.resize.observer && swiper.resize.observer.unobserve && swiper.el) {\n swiper.resize.observer.unobserve(swiper.el);\n swiper.resize.observer = null;\n }\n },\n resizeHandler: function resizeHandler() {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n swiper.emit('beforeResize');\n swiper.emit('resize');\n },\n orientationChangeHandler: function orientationChangeHandler() {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n swiper.emit('orientationchange');\n }\n }\n });\n },\n on: {\n init: function init(swiper) {\n var window = getWindow();\n\n if (swiper.params.resizeObserver && supportsResizeObserver()) {\n swiper.resize.createObserver();\n return;\n } // Emit resize\n\n\n window.addEventListener('resize', swiper.resize.resizeHandler); // Emit orientationchange\n\n window.addEventListener('orientationchange', swiper.resize.orientationChangeHandler);\n },\n destroy: function destroy(swiper) {\n var window = getWindow();\n swiper.resize.removeObserver();\n window.removeEventListener('resize', swiper.resize.resizeHandler);\n window.removeEventListener('orientationchange', swiper.resize.orientationChangeHandler);\n }\n }\n};","import { $, addClass, removeClass, hasClass, toggleClass, attr, removeAttr, transform, transition, on, off, trigger, transitionEnd, outerWidth, outerHeight, styles, offset, css, each, html, text, is, index, eq, append, prepend, next, nextAll, prev, prevAll, parent, parents, closest, find, children, filter, remove } from 'dom7';\nvar Methods = {\n addClass: addClass,\n removeClass: removeClass,\n hasClass: hasClass,\n toggleClass: toggleClass,\n attr: attr,\n removeAttr: removeAttr,\n transform: transform,\n transition: transition,\n on: on,\n off: off,\n trigger: trigger,\n transitionEnd: transitionEnd,\n outerWidth: outerWidth,\n outerHeight: outerHeight,\n styles: styles,\n offset: offset,\n css: css,\n each: each,\n html: html,\n text: text,\n is: is,\n index: index,\n eq: eq,\n append: append,\n prepend: prepend,\n next: next,\n nextAll: nextAll,\n prev: prev,\n prevAll: prevAll,\n parent: parent,\n parents: parents,\n closest: closest,\n find: find,\n children: children,\n filter: filter,\n remove: remove\n};\nObject.keys(Methods).forEach(function (methodName) {\n Object.defineProperty($.fn, methodName, {\n value: Methods[methodName],\n writable: true\n });\n});\nexport default $;","import { getWindow } from 'ssr-window';\nvar browser;\n\nfunction calcBrowser() {\n var window = getWindow();\n\n function isSafari() {\n var ua = window.navigator.userAgent.toLowerCase();\n return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0;\n }\n\n return {\n isEdge: !!window.navigator.userAgent.match(/Edge/g),\n isSafari: isSafari(),\n isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent)\n };\n}\n\nfunction getBrowser() {\n if (!browser) {\n browser = calcBrowser();\n }\n\n return browser;\n}\n\nexport { getBrowser };","import { getWindow } from 'ssr-window';\nimport { getSupport } from './get-support';\nvar device;\n\nfunction calcDevice(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n userAgent = _ref.userAgent;\n\n var support = getSupport();\n var window = getWindow();\n var platform = window.navigator.platform;\n var ua = userAgent || window.navigator.userAgent;\n var device = {\n ios: false,\n android: false\n };\n var screenWidth = window.screen.width;\n var screenHeight = window.screen.height;\n var android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/); // eslint-disable-line\n\n var ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\n var ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\n var iphone = !ipad && ua.match(/(iPhone\\sOS|iOS)\\s([\\d_]+)/);\n var windows = platform === 'Win32';\n var macos = platform === 'MacIntel'; // iPadOs 13 fix\n\n var iPadScreens = ['1024x1366', '1366x1024', '834x1194', '1194x834', '834x1112', '1112x834', '768x1024', '1024x768', '820x1180', '1180x820', '810x1080', '1080x810'];\n\n if (!ipad && macos && support.touch && iPadScreens.indexOf(screenWidth + \"x\" + screenHeight) >= 0) {\n ipad = ua.match(/(Version)\\/([\\d.]+)/);\n if (!ipad) ipad = [0, 1, '13_0_0'];\n macos = false;\n } // Android\n\n\n if (android && !windows) {\n device.os = 'android';\n device.android = true;\n }\n\n if (ipad || iphone || ipod) {\n device.os = 'ios';\n device.ios = true;\n } // Export object\n\n\n return device;\n}\n\nfunction getDevice(overrides) {\n if (overrides === void 0) {\n overrides = {};\n }\n\n if (!device) {\n device = calcDevice(overrides);\n }\n\n return device;\n}\n\nexport { getDevice };","import { getWindow, getDocument } from 'ssr-window';\nvar support;\n\nfunction calcSupport() {\n var window = getWindow();\n var document = getDocument();\n return {\n touch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch),\n pointerEvents: !!window.PointerEvent && 'maxTouchPoints' in window.navigator && window.navigator.maxTouchPoints >= 0,\n observer: function checkObserver() {\n return 'MutationObserver' in window || 'WebkitMutationObserver' in window;\n }(),\n passiveListener: function checkPassiveListener() {\n var supportsPassive = false;\n\n try {\n var opts = Object.defineProperty({}, 'passive', {\n // eslint-disable-next-line\n get: function get() {\n supportsPassive = true;\n }\n });\n window.addEventListener('testPassiveListener', null, opts);\n } catch (e) {// No support\n }\n\n return supportsPassive;\n }(),\n gestures: function checkGestures() {\n return 'ongesturestart' in window;\n }()\n };\n}\n\nfunction getSupport() {\n if (!support) {\n support = calcSupport();\n }\n\n return support;\n}\n\nexport { getSupport };","import { getDocument, getWindow } from 'ssr-window';\n\nfunction deleteProps(obj) {\n var object = obj;\n Object.keys(object).forEach(function (key) {\n try {\n object[key] = null;\n } catch (e) {// no getter for object\n }\n\n try {\n delete object[key];\n } catch (e) {// something got wrong\n }\n });\n}\n\nfunction nextTick(callback, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n\n return setTimeout(callback, delay);\n}\n\nfunction now() {\n return Date.now();\n}\n\nfunction getComputedStyle(el) {\n var window = getWindow();\n var style;\n\n if (window.getComputedStyle) {\n style = window.getComputedStyle(el, null);\n }\n\n if (!style && el.currentStyle) {\n style = el.currentStyle;\n }\n\n if (!style) {\n style = el.style;\n }\n\n return style;\n}\n\nfunction getTranslate(el, axis) {\n if (axis === void 0) {\n axis = 'x';\n }\n\n var window = getWindow();\n var matrix;\n var curTransform;\n var transformMatrix;\n var curStyle = getComputedStyle(el, null);\n\n if (window.WebKitCSSMatrix) {\n curTransform = curStyle.transform || curStyle.webkitTransform;\n\n if (curTransform.split(',').length > 6) {\n curTransform = curTransform.split(', ').map(function (a) {\n return a.replace(',', '.');\n }).join(', ');\n } // Some old versions of Webkit choke when 'none' is passed; pass\n // empty string instead in this case\n\n\n transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);\n } else {\n transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');\n matrix = transformMatrix.toString().split(',');\n }\n\n if (axis === 'x') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41; // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[12]); // Normal Browsers\n else curTransform = parseFloat(matrix[4]);\n }\n\n if (axis === 'y') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42; // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[13]); // Normal Browsers\n else curTransform = parseFloat(matrix[5]);\n }\n\n return curTransform || 0;\n}\n\nfunction isObject(o) {\n return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object';\n}\n\nfunction isNode(node) {\n // eslint-disable-next-line\n if (typeof window !== 'undefined' && typeof window.HTMLElement !== 'undefined') {\n return node instanceof HTMLElement;\n }\n\n return node && (node.nodeType === 1 || node.nodeType === 11);\n}\n\nfunction extend() {\n var to = Object(arguments.length <= 0 ? undefined : arguments[0]);\n var noExtend = ['__proto__', 'constructor', 'prototype'];\n\n for (var i = 1; i < arguments.length; i += 1) {\n var nextSource = i < 0 || arguments.length <= i ? undefined : arguments[i];\n\n if (nextSource !== undefined && nextSource !== null && !isNode(nextSource)) {\n var keysArray = Object.keys(Object(nextSource)).filter(function (key) {\n return noExtend.indexOf(key) < 0;\n });\n\n for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {\n var nextKey = keysArray[nextIndex];\n var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n\n if (desc !== undefined && desc.enumerable) {\n if (isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else if (!isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n to[nextKey] = {};\n\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n }\n\n return to;\n}\n\nfunction bindModuleMethods(instance, obj) {\n Object.keys(obj).forEach(function (key) {\n if (isObject(obj[key])) {\n Object.keys(obj[key]).forEach(function (subKey) {\n if (typeof obj[key][subKey] === 'function') {\n obj[key][subKey] = obj[key][subKey].bind(instance);\n }\n });\n }\n\n instance[key] = obj[key];\n });\n}\n\nfunction classesToSelector(classes) {\n if (classes === void 0) {\n classes = '';\n }\n\n return \".\" + classes.trim().replace(/([\\.:!\\/])/g, '\\\\$1') // eslint-disable-line\n .replace(/ /g, '.');\n}\n\nfunction createElementIfNotDefined($container, params, createElements, checkProps) {\n var document = getDocument();\n\n if (createElements) {\n Object.keys(checkProps).forEach(function (key) {\n if (!params[key] && params.auto === true) {\n var element = document.createElement('div');\n element.className = checkProps[key];\n $container.append(element);\n params[key] = element;\n }\n });\n }\n\n return params;\n}\n\nexport { deleteProps, nextTick, now, getTranslate, isObject, extend, bindModuleMethods, getComputedStyle, classesToSelector, createElementIfNotDefined };","/**\n * Swiper 6.8.4\n * Most modern mobile touch slider and framework with hardware accelerated transitions\n * https://swiperjs.com\n *\n * Copyright 2014-2021 Vladimir Kharlampidi\n *\n * Released under the MIT License\n *\n * Released on: August 23, 2021\n */\n\nexport { default as Swiper, default } from './esm/components/core/core-class';\nexport { default as Virtual } from './esm/components/virtual/virtual';\nexport { default as Keyboard } from './esm/components/keyboard/keyboard';\nexport { default as Mousewheel } from './esm/components/mousewheel/mousewheel';\nexport { default as Navigation } from './esm/components/navigation/navigation';\nexport { default as Pagination } from './esm/components/pagination/pagination';\nexport { default as Scrollbar } from './esm/components/scrollbar/scrollbar';\nexport { default as Parallax } from './esm/components/parallax/parallax';\nexport { default as Zoom } from './esm/components/zoom/zoom';\nexport { default as Lazy } from './esm/components/lazy/lazy';\nexport { default as Controller } from './esm/components/controller/controller';\nexport { default as A11y } from './esm/components/a11y/a11y';\nexport { default as History } from './esm/components/history/history';\nexport { default as HashNavigation } from './esm/components/hash-navigation/hash-navigation';\nexport { default as Autoplay } from './esm/components/autoplay/autoplay';\nexport { default as EffectFade } from './esm/components/effect-fade/effect-fade';\nexport { default as EffectCube } from './esm/components/effect-cube/effect-cube';\nexport { default as EffectFlip } from './esm/components/effect-flip/effect-flip';\nexport { default as EffectCoverflow } from './esm/components/effect-coverflow/effect-coverflow';\nexport { default as Thumbs } from './esm/components/thumbs/thumbs';","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","import SuperSimpleAccordions from \"./modules/accordion\";\r\nimport AccordionTabs from \"./modules/accordion-tabs\";\r\nimport flipcards from \"./modules/flipcards\";\r\nimport blinds from \"./modules/blinds\";\r\nimport navigation from \"./modules/navigation\";\r\nimport Swiper, { Autoplay, Lazy, EffectFade, A11y, Navigation, Pagination } from \"swiper\";\r\nimport updateExternalLinks from \"./modules/updateExternalLinks\";\r\nimport \"element-closest-polyfill\";\r\nimport { ModalPopup } from \"./modules/modal\";\r\nimport SimpleLightbox from \"simplelightbox/dist/simple-lightbox.modules\";\r\nimport { ModalCards } from \"./modules/modalcards\";\r\nimport { ModalLink } from \"./modules/modallink\";\r\nimport VerticalTabs from \"./modules/vertical-tabs\";\r\nimport StickyElement from \"./modules/stickyElem\";\r\n//import initGallery from \"./modules/Gallery\";\r\n\r\nimport { EmbeddedMap } from \"./modules/embeddedMap\";\r\n\r\nSwiper.use([Autoplay, Navigation, Lazy, EffectFade, A11y, Pagination]);\r\n\r\nconst init = () => {\r\n\t//Init accordions\r\n\tif (document.querySelector(\".accordion\")) {\r\n\t\tconst accordions = new SuperSimpleAccordions(\".accordion\", {\r\n\t\t\ticonsClass: \"plus-icon\",\r\n\t\t\ticonsSymbol: \"plus-minus\", // arrow or plus-minus\r\n\t\t\ticonsPosition: \"left\", // right or left\r\n\t\t\texpandAllBtn: false,\r\n\t\t\texpandAllContainerClass: \"accordion__toggle-all-container right\"\r\n\t\t});\r\n\t}\r\n\r\n\tif (document.querySelector(\".accordion-tabs\")) {\r\n\t\tconst accordionTabs = new AccordionTabs(\".accordion-tabs\", {\r\n\t\t\ticons: false, // arrow or plus-minus\r\n\t\t\texpandAllBtn: false\r\n\t\t});\r\n\t}\r\n\r\n\tif (document.querySelector(\".flip-cards__toggle\")) {\r\n\t\tflipcards.init();\r\n\t}\r\n\r\n\tif (document.querySelector(\".blinds\")) {\r\n\t\tblinds.init();\r\n\t}\r\n\r\n\tif (document.querySelector(\".slideshow\")) {\r\n\t\tvar slideSwiper = new Swiper(\".slideshow\", {\r\n\t\t\tnavigation: {\r\n\t\t\t\tnextEl: \".swiper-button-next\",\r\n\t\t\t\tprevEl: \".swiper-button-prev\"\r\n\t\t\t},\r\n\t\t\tspaceBetween: 48,\r\n\t\t\tloop: true,\r\n\t\t\tpreloadImages: false,\r\n\t\t\tlazy: true,\r\n\t\t\ta11y: {\r\n\t\t\t\tcontainerMessage: \"Image slideshow\",\r\n\t\t\t\tenabled: true,\r\n\t\t\t\tfirstSlideMessage: \"This is the first slide\",\r\n\t\t\t\tlastSlideMessage: \"This is the last slide\"\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n};\r\ndocument.addEventListener(\"DOMContentLoaded\", function () {\r\n\tnavigation.init();\r\n\r\n\tif (document.querySelector(\".rotating-images\")) {\r\n\t\tvar imagesSwiper = new Swiper(\".rotating-images\", {\r\n\t\t\tautoplay: {\r\n\t\t\t\tdelay: 8000\r\n\t\t\t},\r\n\t\t\teffect: \"fade\",\r\n\t\t\tfadeEffect: {\r\n\t\t\t\tcrossFade: true\r\n\t\t\t},\r\n\t\t\tloop: true,\r\n\t\t\tpreloadImages: false,\r\n\t\t\tlazy: true,\r\n\t\t\ta11y: {\r\n\t\t\t\tcontainerMessage: \"Image slideshow\",\r\n\t\t\t\tenabled: true,\r\n\t\t\t\tfirstSlideMessage: \"This is the first slide\",\r\n\t\t\t\tlastSlideMessage: \"This is the last slide\"\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tupdateExternalLinks('.main-content [target=\"_blank\"], .news-artices p [target=\"_blank\"], .external-link');\r\n\r\n\tif (document.querySelector(\".main-content__title\")) {\r\n\t\tlet contentTitle = document.querySelector(\".main-content__title\");\r\n\t\tlet contentTitleArr = contentTitle.textContent.split(\" \");\r\n\r\n\t\tif (contentTitleArr.length > 3) {\r\n\t\t\tlet stickyWord = \"\\xa0\" + contentTitleArr.pop();\r\n\t\t\tcontentTitle.innerText = contentTitleArr.join(\" \") + stickyWord;\r\n\t\t}\r\n\t}\r\n\r\n\tif (document.querySelector(\".lightbox\")) {\r\n\t\tlet lightbox = new SimpleLightbox(\".lightbox\", {\r\n\t\t\tcaptionsData: \"data-caption\",\r\n\t\t\tfileExt: false,\r\n\t\t\tscaleImageToRatio: true\r\n\t\t});\r\n\t}\r\n\r\n\tlet scrollElems = document.querySelectorAll(\".scrollTo\");\r\n\tfor (var i = 0; i < scrollElems.length; i++) {\r\n\t\tscrollElems[i].addEventListener(\"click\", function (e) {\r\n\t\t\tvar target = this.hash;\r\n\t\t\tdocument.querySelector(target).scrollIntoView({\r\n\t\t\t\tbehavior: \"smooth\"\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tModalPopup();\r\n\r\n\tinit();\r\n\r\n\tconst mapSelector = \"mapEmbed\";\r\n\tif (document.querySelector(`#${mapSelector}`)) {\r\n\t\tconst mapEmbed = document.getElementById(mapSelector);\r\n\r\n\t\tEmbeddedMap(mapSelector, () => {\r\n\t\t\tnew SuperSimpleAccordions(`.${mapSelector}Dialog .accordion`, {\r\n\t\t\t\ticonsClass: \"plus-icon\",\r\n\t\t\t\ticonsSymbol: \"plus-minus\", // arrow or plus-minus\r\n\t\t\t\ticonsPosition: \"left\", // right or left\r\n\t\t\t\texpandAllBtn: false,\r\n\t\t\t\texpandAllContainerClass: \"accordion__toggle-all-container right\"\r\n\t\t\t});\r\n\r\n\t\t\tnew Swiper(`.${mapSelector}Dialog .slideshow`, {\r\n\t\t\t\tnavigation: {\r\n\t\t\t\t\tnextEl: \".swiper-button-next\",\r\n\t\t\t\t\tprevEl: \".swiper-button-prev\"\r\n\t\t\t\t},\r\n\t\t\t\tspaceBetween: 48,\r\n\t\t\t\tloop: true,\r\n\t\t\t\tpreloadImages: false,\r\n\t\t\t\tlazy: true,\r\n\t\t\t\ta11y: {\r\n\t\t\t\t\tcontainerMessage: \"Image slideshow\",\r\n\t\t\t\t\tenabled: true,\r\n\t\t\t\t\tfirstSlideMessage: \"This is the first slide\",\r\n\t\t\t\t\tlastSlideMessage: \"This is the last slide\"\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\tVerticalTabs();\r\n\tModalCards();\r\n\tModalLink();\r\n\tvar stickyNav = document.getElementById('stickyNav');\r\n\tvar stickyStop\r\n\tStickyElement(\"stickyNav\", \"sec106-map-heading\");\r\n});\r\n","(function (root, factory) {\r\n\t// eslint-disable-next-line no-undef\r\n\tif (typeof define === \"function\" && define.amd) {\r\n\t\tdefine([], function () {\r\n\t\t\treturn factory(root);\r\n\t\t});\r\n\t} else if (typeof exports === \"object\") {\r\n\t\tmodule.exports = factory(root);\r\n\t} else {\r\n\t\troot.AccordionTabs = factory(root);\r\n\t}\r\n})(\r\n\t// eslint-disable-next-line no-nested-ternary\r\n\ttypeof global !== \"undefined\" ? global : typeof window !== \"undefined\" ? window : this,\r\n\tfunction (window) {\r\n\t\t// Use strict mode\r\n\r\n\t\t// Create an empty plugin object\r\n\t\tconst plugin = {};\r\n\r\n\t\t// Set the plugin defaults\r\n\t\tconst defaults = {\r\n\t\t\t// Accordion parts\r\n\t\t\taccordionClass: \"accordion-tabs\",\r\n\t\t\theaderClass: \"accordion-tabs__title\",\r\n\t\t\tcontentClass: \"accordion-tabs__content\",\r\n\t\t\tpanelClass: \"accordion-tabs__panel\",\r\n\r\n\t\t\t// Toggle Button\r\n\t\t\ttoggleBtnClass: \"accordion-tabs__toggle\",\r\n\r\n\t\t\t// Icons\r\n\t\t\ticons: true,\r\n\t\t\ticonsSymbol: \"plus-minus\", // arrow\r\n\t\t\ticonsPosition: \"left\", // right\r\n\r\n\t\t\t// Expand All features\r\n\t\t\texpandAllBtn: true,\r\n\t\t\texpandAllClass: \"accordion__toggle-all\",\r\n\t\t\texpandAllContainerClass: \"accordion__toggle-all-container\",\r\n\t\t\texpandSelectClass: \"expanded\",\r\n\t\t\texpandAllOpenText: \"Expand All\",\r\n\t\t\texpandAllCloseText: \"Collapse All\",\r\n\t\t\texpanded: false, // expanded or collapsed by default\r\n\r\n\t\t\t//\r\n\t\t\tview: getView()\r\n\t\t};\r\n\r\n\t\t/*!\r\n\t\t * Deep merge two or more objects into the first.\r\n\t\t * (c) 2019 Chris Ferdinandi, MIT License, https://gomakethings.com\r\n\t\t * @param {Object} objects The objects to merge together\r\n\t\t * @returns {Object} Merged values of defaults and options\r\n\t\t */\r\n\t\tconst deepMerge = function () {\r\n\t\t\t// Make sure there are objects to merge\r\n\t\t\tconst len = arguments.length;\r\n\t\t\tif (len < 1) return;\r\n\t\t\tif (len < 2) return arguments[0];\r\n\r\n\t\t\t// Merge all objects into first\r\n\t\t\tfor (let i = 1; i < len; i++) {\r\n\t\t\t\tfor (const key in arguments[i]) {\r\n\t\t\t\t\t// If it's an object, recursively merge\r\n\t\t\t\t\t// Otherwise, push to key\r\n\t\t\t\t\tif (Object.prototype.toString.call(arguments[i][key]) === \"[object Object]\") {\r\n\t\t\t\t\t\targuments[0][key] = deepMerge(arguments[0][key] || {}, arguments[i][key]);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\targuments[0][key] = arguments[i][key];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn arguments[0];\r\n\t\t};\r\n\r\n\t\t/**\r\n\t\t * Constructor.\r\n\t\t * @param {String} element The selector element(s).\r\n\t\t * @param {Object} options The plugin options.\r\n\t\t * @return {void}\r\n\t\t */\r\n\t\tfunction Plugin(element, options) {\r\n\t\t\t// Set the plugin object\r\n\t\t\tplugin.this = this;\r\n\t\t\tplugin.element = element;\r\n\t\t\tplugin.defaults = defaults;\r\n\t\t\tplugin.options = options;\r\n\t\t\t// Merge user settings with defaults\r\n\t\t\tplugin.settings = deepMerge(defaults, options);\r\n\r\n\t\t\t// Initialize the plugin\r\n\t\t\tplugin.this.init();\r\n\t\t\tsetView();\r\n\t\t}\r\n\r\n\t\t//\r\n\t\t// Methods\r\n\t\t//\r\n\r\n\t\tfunction getView() {\r\n\t\t\treturn window.matchMedia(\"(max-width: 1023px)\").matches ? \"mobile\" : \"desktop\";\r\n\t\t}\r\n\r\n\t\tfunction setView() {\r\n\t\t\t// Query for the initial page load\r\n\t\t\tvar tempMedia;\r\n\t\t\t// Store the window width\r\n\t\t\tlet windowWidth = window.innerWidth;\r\n\r\n\t\t\twindow.addEventListener(\"resize\", function () {\r\n\t\t\t\ttempMedia = getView();\r\n\t\t\t\t// Check window width has actually changed and it's not just iOS triggering a resize event on scroll\r\n\t\t\t\tif (window.innerWidth != windowWidth) {\r\n\t\t\t\t\t// Update the window width for next time\r\n\t\t\t\t\twindowWidth = window.innerWidth;\r\n\r\n\t\t\t\t\tif (tempMedia == \"mobile\") {\r\n\t\t\t\t\t\tmobileSetup();\r\n\t\t\t\t\t} else if (tempMedia == \"desktop\") {\r\n\t\t\t\t\t\tconst accordionPanels = document.querySelectorAll(`.${plugin.settings.panelClass}`);\r\n\t\t\t\t\t\tArray.prototype.forEach.call(accordionPanels, function (accordionPanel) {\r\n\t\t\t\t\t\t\taccordionPanel.removeAttribute(\"style\");\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (plugin.settings.view !== tempMedia) {\r\n\t\t\t\t\t\tplugin.settings.view = tempMedia;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction currentAccordion() {\r\n\t\t\tconst accordions = document.querySelector(\".accordion-tabs\");\r\n\t\t\tlet selectedToggle = accordions.querySelector(\"[aria-expanded='true']\");\r\n\t\t\tlet selectedPanel = accordions.querySelector(\"[aria-hidden='false']\");\r\n\t\t\treturn { selectedToggle, selectedPanel };\r\n\t\t}\r\n\r\n\t\t/**\r\n\t\t * If icon is true then create and setup icon\r\n\t\t *\r\n\t\t * @function accordionIconSetup\r\n\t\t * @param {String} toggle The toggle button\r\n\t\t * @return {void}\r\n\t\t */\r\n\t\tconst accordionIconSetup = function (toggle) {\r\n\t\t\tconst toggleBtn = toggle;\r\n\t\t\tif (plugin.settings.icons === true) {\r\n\t\t\t\tconst iconContainer = document.createElement(\"span\");\r\n\t\t\t\ticonContainer.classList.add(plugin.settings.iconsSymbol);\r\n\t\t\t\ticonContainer.classList.add(plugin.settings.iconsPosition);\r\n\t\t\t\ttoggle.appendChild(iconContainer);\r\n\t\t\t} else {\r\n\t\t\t\ttoggleBtn.classList.add(\"hidden-icon\");\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t/**\r\n\t\t * Setup plugin.settings.panelClass which contains the content\r\n\t\t *\r\n\t\t * @function accordionContentSetup\r\n\t\t * @param {String} content The accordion container.\r\n\t\t * @param {String} id The accordion id.\r\n\t\t * @return {void}\r\n\t\t */\r\n\t\tconst accordionContentSetup = function (header, id) {\r\n\t\t\t// Get accordion content from plugin.settings.accordionClass container\r\n\t\t\tconst accordionPanel = header.nextElementSibling;\r\n\t\t\t// Create div for accordion content add content class\r\n\t\t\tconst accordionContent = document.createElement(\"div\");\r\n\t\t\taccordionContent.className = plugin.settings.contentClass;\r\n\t\t\t// Add content from panel\r\n\t\t\taccordionContent.innerHTML = accordionPanel.innerHTML;\r\n\r\n\t\t\t// Clear accordion panel html since it was added to content div\r\n\t\t\taccordionPanel.innerHTML = \"\";\r\n\t\t\t// Append content div to accordion panel\r\n\t\t\taccordionPanel.appendChild(accordionContent);\r\n\r\n\t\t\taccordionPanel.setAttribute(\"id\", `accordion${id}`);\r\n\r\n\t\t\t// Check to see if the accordions are set to be expanded or collapsed\r\n\t\t\tif (plugin.settings.expanded === false) {\r\n\t\t\t\taccordionPanel.setAttribute(\"aria-hidden\", \"true\");\r\n\t\t\t\taccordionPanel.setAttribute(\"tabindex\", \"-1\");\r\n\t\t\t} else {\r\n\t\t\t\taccordionPanel.setAttribute(\"aria-hidden\", \"false\");\r\n\t\t\t}\r\n\r\n\t\t\tif (plugin.settings.view === \"mobile\") {\r\n\t\t\t\tmobileSetup();\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t/**\r\n\t\t * Setup plugin.settings.toggleBtnClass, the individual accordion toggle button\r\n\t\t *\r\n\t\t * @function accordionToggleSetup\r\n\t\t * @param {String} content The accordion button.\r\n\t\t * @param {String} btnId The accordion button id.\r\n\t\t *\r\n\t\t */\r\n\t\tconst accordionToggleSetup = function (header, btnId) {\r\n\t\t\t// Get accordion header from plugin.settings.accordionClass\r\n\t\t\tconst accordionHeader = header;\r\n\r\n\t\t\t// Create a toggle button, add toggle class and aria attributes\r\n\t\t\tconst toggle = document.createElement(\"button\");\r\n\t\t\ttoggle.className = plugin.settings.toggleBtnClass;\r\n\t\t\ttoggle.setAttribute(\"aria-controls\", `accordion${btnId}`);\r\n\t\t\t// Check to see if the accordions are set to be expanded or collapsed\r\n\t\t\tif (plugin.settings.expanded === false) {\r\n\t\t\t\ttoggle.setAttribute(\"aria-expanded\", \"false\");\r\n\t\t\t} else {\r\n\t\t\t\ttoggle.setAttribute(\"aria-expanded\", \"true\");\r\n\t\t\t}\r\n\r\n\t\t\t// Get content from existing header and add to button\r\n\t\t\ttoggle.innerHTML = accordionHeader.innerHTML;\r\n\r\n\t\t\t// Clear accordion header html since it was added to button\r\n\t\t\taccordionHeader.innerHTML = \"\";\r\n\t\t\t// Append button to accordion header\r\n\t\t\taccordionHeader.appendChild(toggle);\r\n\r\n\t\t\t// Initialize the accordion content and icon\r\n\t\t\taccordionContentSetup(header, btnId);\r\n\t\t\taccordionIconSetup(toggle);\r\n\t\t};\r\n\r\n\t\tconst mobileSetup = function () {\r\n\t\t\tconst accordionPanels = document.querySelectorAll(`.${plugin.settings.panelClass}`);\r\n\t\t\tconst accordionToggles = document.querySelectorAll(`.${plugin.settings.toggleBtnClass}`);\r\n\r\n\t\t\tArray.prototype.forEach.call(accordionPanels, function (accordionPanel) {\r\n\t\t\t\tif (plugin.settings.expanded === false) {\r\n\t\t\t\t\taccordionPanel.style.height = \"0px\";\r\n\t\t\t\t\taccordionPanel.setAttribute(\"aria-hidden\", \"true\");\r\n\t\t\t\t} else {\r\n\t\t\t\t\taccordionPanel.style.height = `${accordionPanel.scrollHeight}px`;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tArray.prototype.forEach.call(accordionToggles, function (accordionToggle) {\r\n\t\t\t\taccordionToggle.setAttribute(\"aria-expanded\", \"false\");\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\t/**\r\n\t\t * Create and setup plugin.settings.expandAllClass\r\n\t\t *\r\n\t\t * @function toggleAllSetup\r\n\t\t * @return {void}\r\n\t\t */\r\n\t\tconst toggleAllSetup = function () {\r\n\t\t\t// find first accodrion if only one the return\r\n\t\t\tconst firstAccordion = document.querySelector(`.${plugin.settings.accordionClass}`);\r\n\r\n\t\t\tif (!firstAccordion) return;\r\n\r\n\t\t\t// create button container\r\n\t\t\tconst buttonContainer = document.createElement(\"div\");\r\n\t\t\tbuttonContainer.className = plugin.settings.expandAllContainerClass;\r\n\r\n\t\t\t// create expand all button\r\n\t\t\tconst button = document.createElement(\"button\");\r\n\t\t\tbutton.className = plugin.settings.expandAllClass;\r\n\t\t\t// Check to see if the accordions are set to be expanded or collapsed\r\n\t\t\tif (plugin.settings.expanded === false) {\r\n\t\t\t\tbutton.setAttribute(\"aria-expanded\", \"false\");\r\n\t\t\t\tbutton.textContent = plugin.settings.expandAllOpenText;\r\n\t\t\t} else {\r\n\t\t\t\tbutton.setAttribute(\"aria-expanded\", \"true\");\r\n\t\t\t\tbutton.textContent = plugin.settings.expandAllCloseText;\r\n\t\t\t}\r\n\r\n\t\t\t// insert button into container\r\n\t\t\tbuttonContainer.appendChild(button);\r\n\r\n\t\t\t// find parent element of first accordion\r\n\t\t\tconst parentContainer = firstAccordion.parentNode;\r\n\r\n\t\t\t// insert button container before first accordion\r\n\t\t\tparentContainer.insertBefore(buttonContainer, firstAccordion);\r\n\t\t};\r\n\r\n\t\t/**\r\n\t\t *\r\n\t\t *\r\n\t\t * @function toggleButton\r\n\t\t * @param {String} targetElem The toggle button\r\n\t\t * @param {String} direction The direction of the accordion Expand/Collapse\r\n\t\t * @return {void}\r\n\t\t */\r\n\t\tconst toggleButton = function (targetElem, direction) {\r\n\t\t\tconst activeAccordion = currentAccordion();\r\n\t\t\tif (activeAccordion.selectedToggle) {\r\n\t\t\t\tactiveAccordion.selectedToggle.setAttribute(\"aria-expanded\", false);\r\n\t\t\t}\r\n\t\t\tif (direction === \"expand\") {\r\n\t\t\t\ttargetElem.setAttribute(\"aria-expanded\", \"true\");\r\n\t\t\t} else {\r\n\t\t\t\ttargetElem.setAttribute(\"aria-expanded\", \"false\");\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t/**\r\n\t\t * @function toggleContent\r\n\t\t * @param {String} targetElem The Accordion button\r\n\t\t * @param {MouseEvent} event mouse or keyboard\r\n\t\t * @param {String} direction The direction of the accordion Expand/Collapse\r\n\t\t * @return {void}\r\n\t\t */\r\n\t\tconst toggleAccordion = function (targetElem, event, direction) {\r\n\t\t\tif (targetElem.getAttribute(\"aria-hidden\") === true) return;\r\n\t\t\tconst controls = targetElem.getAttribute(\"aria-controls\");\r\n\t\t\tconst controlsElem = document.getElementById(controls);\r\n\t\t\tconst controlsElemChild = controlsElem.firstElementChild;\r\n\t\t\tconst controlsElemHeight = controlsElem.scrollHeight;\r\n\t\t\tconst toggled = controlsElem.getAttribute(\"aria-hidden\");\r\n\r\n\t\t\tif (event) {\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t}\r\n\r\n\t\t\tconst activeAccordion = currentAccordion();\r\n\t\t\tif (activeAccordion.selectedPanel) {\r\n\t\t\t\tconst activeAccordionChild = activeAccordion.selectedPanel.firstElementChild;\r\n\t\t\t\tactiveAccordion.selectedPanel.setAttribute(\"aria-hidden\", true);\r\n\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\tactiveAccordionChild.style.height = \"0\";\r\n\t\t\t\t}, 300);\r\n\t\t\t}\r\n\r\n\t\t\tif (direction === \"expand\" && toggled === \"true\") {\r\n\t\t\t\tcontrolsElemChild.style.height = \"auto\";\r\n\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\tcontrolsElem.setAttribute(\"aria-hidden\", \"false\");\r\n\t\t\t\t}, 300);\r\n\t\t\t} else if (direction === \"collapse\" && toggled === \"false\") {\r\n\t\t\t\tcontrolsElem.setAttribute(\"aria-hidden\", \"true\");\r\n\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\tcontrolsElemChild.style.height = \"0\";\r\n\t\t\t\t}, 300);\r\n\t\t\t}\r\n\r\n\t\t\ttoggleButton(targetElem, direction);\r\n\t\t};\r\n\t\tconst toggleAccordionMobile = function (targetElem, event, direction) {\r\n\t\t\tconst controls = targetElem.getAttribute(\"aria-controls\");\r\n\t\t\tconst controlsElem = document.getElementById(controls);\r\n\t\t\tconst controlsElemHeight = controlsElem.scrollHeight;\r\n\t\t\tconst toggled = controlsElem.getAttribute(\"aria-hidden\");\r\n\r\n\t\t\tif (event) {\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t}\r\n\r\n\t\t\tfunction timeoutSet(element) {\r\n\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\telement.style.height = \"auto\";\r\n\t\t\t\t}, 300);\r\n\t\t\t}\r\n\r\n\t\t\t// const activeAccordion = currentAccordion();\r\n\t\t\t// if (activeAccordion.selectedPanel) {\r\n\t\t\t// \tactiveAccordion.selectedPanel.style.height = `${controlsElem.scrollHeight}px`;\r\n\t\t\t// \tactiveAccordion.selectedPanel.setAttribute(\"aria-hidden\", \"true\");\r\n\t\t\t// \tsetTimeout(function () {\r\n\t\t\t// \t\tactiveAccordion.selectedPanel.style.height = `${0}px`;\r\n\t\t\t// \t}, 50);\r\n\t\t\t// }\r\n\r\n\t\t\tif (direction === \"expand\" && toggled === \"true\") {\r\n\t\t\t\tcontrolsElem.style.height = `${controlsElemHeight}px`;\r\n\t\t\t\tcontrolsElem.setAttribute(\"aria-hidden\", \"false\");\r\n\t\t\t\ttimeoutSet(controlsElem);\r\n\t\t\t} else if (direction === \"collapse\" && toggled === \"false\") {\r\n\t\t\t\tcontrolsElem.style.height = `${controlsElem.scrollHeight}px`;\r\n\t\t\t\tcontrolsElem.setAttribute(\"aria-hidden\", \"true\");\r\n\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\tcontrolsElem.style.height = `${0}px`;\r\n\t\t\t\t}, 50);\r\n\t\t\t}\r\n\r\n\t\t\ttoggleButton(targetElem, direction);\r\n\t\t};\r\n\r\n\t\t/**\r\n\t\t * @function toggleAllContent\r\n\t\t * @param {String} targetElem The toggle all button\r\n\t\t * @param {MouseEvent} event mouse or keyboard\r\n\t\t * @param {String} direction The direction of the accordion Expand/Collapse\r\n\t\t * @return {void}\r\n\t\t */\r\n\t\tconst toggleAllAccordions = function (targetElem, event, direction) {\r\n\t\t\tif (event) {\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t}\r\n\r\n\t\t\t// Grab all accordion toggles in the document\r\n\t\t\tconst buttons = document.querySelectorAll(`.${plugin.settings.toggleBtnClass}`);\r\n\t\t\t// Loop through each accordion\r\n\t\t\tArray.prototype.forEach.call(buttons, function (button) {\r\n\t\t\t\ttoggleAccordion(button, event, direction);\r\n\t\t\t});\r\n\r\n\t\t\t// After event toggle aria-expanded attribute\r\n\t\t\ttargetElem.setAttribute(\"aria-expanded\", targetElem.getAttribute(\"aria-expanded\") === \"true\" ? \"false\" : \"true\");\r\n\r\n\t\t\t// After event toggle button text\r\n\t\t\ttargetElem.textContent =\r\n\t\t\t\ttargetElem.textContent === plugin.settings.expandAllOpenText\r\n\t\t\t\t\t? (targetElem.textContent = plugin.settings.expandAllCloseText)\r\n\t\t\t\t\t: (targetElem.textContent = plugin.settings.expandAllOpenText);\r\n\t\t};\r\n\r\n\t\t/**\r\n\t\t * @function clickHandler\r\n\t\t * @param {String} event mouse click\r\n\t\t * @return {type} {description}\r\n\t\t */\r\n\t\tconst clickHandler = function (event) {\r\n\t\t\tconst toggleBtn = event.target.closest(`.${plugin.settings.toggleBtnClass}`);\r\n\t\t\tconst toggleAll = event.target.closest(`.${plugin.settings.expandAllClass}`);\r\n\r\n\t\t\tconst direction = event.target.getAttribute(\"aria-expanded\") === \"true\" ? \"collapse\" : \"expand\";\r\n\r\n\t\t\tif (toggleBtn && plugin.settings.view === \"desktop\") {\r\n\t\t\t\ttoggleAccordion(toggleBtn, event, direction);\r\n\t\t\t} else if (toggleBtn && plugin.settings.view === \"mobile\") {\r\n\t\t\t\ttoggleAccordionMobile(toggleBtn, event, direction);\r\n\t\t\t}\r\n\t\t\tif (toggleAll) {\r\n\t\t\t\ttoggleAllAccordions(toggleAll, event, direction);\r\n\t\t\t}\r\n\t\t};\r\n\t\t/**\r\n\t\t * @function keyboardHandler\r\n\t\t * @param {String} event keyboard press\r\n\t\t * @return {type} {description}\r\n\t\t */\r\n\t\tconst keyboardHandler = function (event) {\r\n\t\t\tif (event.key == \"Enter\" || event.key == \" \") {\r\n\t\t\t\tconst toggleBtn = event.target.closest(`.${plugin.settings.toggleBtnClass}`);\r\n\t\t\t\tconst toggleAll = event.target.closest(`.${plugin.settings.expandAllClass}`);\r\n\t\t\t\tconst direction = event.target.getAttribute(\"aria-expanded\") === \"true\" ? \"collapse\" : \"expand\";\r\n\r\n\t\t\t\tif (toggleBtn && plugin.settings.view === \"desktop\") {\r\n\t\t\t\t\ttoggleAccordion(toggleBtn, event, direction);\r\n\t\t\t\t} else if (toggleBtn && plugin.settings.view === \"mobile\") {\r\n\t\t\t\t\ttoggleAccordionMobile(toggleBtn, event, direction);\r\n\t\t\t\t}\r\n\t\t\t\tif (toggleAll) {\r\n\t\t\t\t\ttoggleAllAccordions(toggleAll, event, direction);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t/**\r\n\t\t * Public variables and methods.\r\n\t\t * @type {object}\r\n\t\t */\r\n\t\tPlugin.prototype = {\r\n\t\t\tsetup() {\r\n\t\t\t\tconst accordionHeaders = document.querySelectorAll(`.${plugin.settings.headerClass}`);\r\n\t\t\t\tlet btnId = 0;\r\n\t\t\t\tArray.prototype.forEach.call(accordionHeaders, function (accordionHeader) {\r\n\t\t\t\t\tbtnId += 1;\r\n\t\t\t\t\taccordionToggleSetup(accordionHeader, btnId);\r\n\t\t\t\t});\r\n\t\t\t\tconst ariaHidden = document.querySelectorAll(`.${plugin.settings.accordionClass} [aria-hidden]`);\r\n\t\t\t\tconst ariaExpanded = document.querySelectorAll(`.${plugin.settings.accordionClass} [aria-expanded]`);\r\n\r\n\t\t\t\tif (ariaHidden && plugin.settings.view === \"desktop\") {\r\n\t\t\t\t\tariaHidden[0].setAttribute(\"aria-hidden\", \"false\");\r\n\t\t\t\t\tariaExpanded[0].setAttribute(\"aria-expanded\", \"true\");\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (plugin.settings.expandAllBtn && accordions.length > 1) toggleAllSetup();\r\n\t\t\t},\r\n\r\n\t\t\t/**\r\n\t\t\t * Setup the accordion toggle button and aria attributes\r\n\t\t\t *\r\n\t\t\t * @function init\r\n\t\t\t * @param {Object} options - User defined options\r\n\t\t\t *\r\n\t\t\t */\r\n\t\t\tinit() {\r\n\t\t\t\t// If there are no accordions bail\r\n\t\t\t\tif (!plugin.element) return false;\r\n\r\n\t\t\t\t// Setup items in the DOM\r\n\t\t\t\tplugin.this.setup();\r\n\r\n\t\t\t\t// Add event mouse and keyboard listeners\r\n\t\t\t\tdocument.addEventListener(\"click\", clickHandler, false);\r\n\t\t\t\tdocument.addEventListener(\"keydown\", keyboardHandler, false);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t// Return the plugin\r\n\t\treturn Plugin;\r\n\t}\r\n);\r\n","(function (root, factory) {\r\n\t// eslint-disable-next-line no-undef\r\n\tif (typeof define === \"function\" && define.amd) {\r\n\t\tdefine([], function () {\r\n\t\t\treturn factory(root);\r\n\t\t});\r\n\t} else if (typeof exports === \"object\") {\r\n\t\tmodule.exports = factory(root);\r\n\t} else {\r\n\t\troot.SuperSimpleAccordions = factory(root);\r\n\t}\r\n})(\r\n\t// eslint-disable-next-line no-nested-ternary\r\n\ttypeof global !== \"undefined\"\r\n\t\t? global\r\n\t\t: typeof window !== \"undefined\"\r\n\t\t\t? window\r\n\t\t\t: this,\r\n\tfunction (window) {\r\n\t\t// Use strict mode\r\n\r\n\t\t// Create an empty plugin object\r\n\t\tconst plugin = {};\r\n\r\n\t\t// Set the plugin defaults\r\n\t\tconst defaults = {\r\n\t\t\t// Accordion parts\r\n\t\t\taccordionClass: \"accordion\",\r\n\t\t\theaderClass: \"accordion__title\",\r\n\t\t\tcontentClass: \"accordion__content\",\r\n\t\t\tpanelClass: \"accordion__panel\",\r\n\r\n\t\t\t// Toggle Button\r\n\t\t\ttoggleBtnClass: \"accordion__toggle\",\r\n\r\n\t\t\t// Icons\r\n\t\t\ticons: true,\r\n\t\t\ticonsSymbol: \"plus-minus\", // arrow\r\n\t\t\ticonsPosition: \"left\", // right\r\n\r\n\t\t\t// Expand All features\r\n\t\t\t//expandAllBtn: true,\r\n\t\t\texpandAllClass: \"accordion__toggle-all\",\r\n\t\t\texpandAllContainerClass: \"accordion__toggle-all-container\",\r\n\t\t\texpandSelectClass: \"expanded\",\r\n\t\t\texpandAllOpenText: \"Expand All\",\r\n\t\t\texpandAllCloseText: \"Collapse All\",\r\n\t\t\texpanded: false, // expanded or collapsed by default\r\n\t\t};\r\n\r\n\t\t/*!\r\n\t\t * Deep merge two or more objects into the first.\r\n\t\t * (c) 2019 Chris Ferdinandi, MIT License, https://gomakethings.com\r\n\t\t * @param {Object} objects The objects to merge together\r\n\t\t * @returns {Object} Merged values of defaults and options\r\n\t\t */\r\n\t\tconst deepMerge = function () {\r\n\t\t\t// Make sure there are objects to merge\r\n\t\t\tconst len = arguments.length;\r\n\t\t\tif (len < 1) return;\r\n\t\t\tif (len < 2) return arguments[0];\r\n\r\n\t\t\t// Merge all objects into first\r\n\t\t\tfor (let i = 1; i < len; i++) {\r\n\t\t\t\tfor (const key in arguments[i]) {\r\n\t\t\t\t\t// If it's an object, recursively merge\r\n\t\t\t\t\t// Otherwise, push to key\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tObject.prototype.toString.call(arguments[i][key]) ===\r\n\t\t\t\t\t\t\"[object Object]\"\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\targuments[0][key] = deepMerge(\r\n\t\t\t\t\t\t\targuments[0][key] || {},\r\n\t\t\t\t\t\t\targuments[i][key]\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\targuments[0][key] = arguments[i][key];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn arguments[0];\r\n\t\t};\r\n\r\n\t\t/**\r\n\t\t * Constructor.\r\n\t\t * @param {String} element The selector element(s).\r\n\t\t * @param {Object} options The plugin options.\r\n\t\t * @return {void}\r\n\t\t */\r\n\t\tfunction Plugin(element, options) {\r\n\t\t\t// Set the plugin object\r\n\t\t\tplugin.this = this;\r\n\t\t\tplugin.element = element;\r\n\t\t\tplugin.defaults = defaults;\r\n\t\t\tplugin.options = options;\r\n\t\t\t// Merge user settings with defaults\r\n\t\t\tplugin.settings = deepMerge(defaults, options);\r\n\r\n\t\t\t// Initialize the plugin\r\n\t\t\tplugin.this.init();\r\n\t\t}\r\n\r\n\t\t//\r\n\t\t// Methods\r\n\t\t//\r\n\r\n\t\t/**\r\n\t\t * If icon is true then create and setup icon\r\n\t\t *\r\n\t\t * @function accordionIconSetup\r\n\t\t * @param {String} toggle The toggle button\r\n\t\t * @return {void}\r\n\t\t */\r\n\t\tconst accordionIconSetup = function (toggle) {\r\n\t\t\tconst toggleBtn = toggle;\r\n\t\t\tif (plugin.settings.icons === true) {\r\n\t\t\t\tconst iconContainer = document.createElement(\"span\");\r\n\t\t\t\ticonContainer.classList.add(plugin.settings.iconsSymbol);\r\n\t\t\t\ticonContainer.classList.add(plugin.settings.iconsPosition);\r\n\t\t\t\ttoggle.appendChild(iconContainer);\r\n\t\t\t} else {\r\n\t\t\t\ttoggleBtn.classList.add(\"icon-hidden\");\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t/**\r\n\t\t * Setup plugin.settings.panelClass which contains the content\r\n\t\t *\r\n\t\t * @function accordionContentSetup\r\n\t\t * @param {String} content The accordion container.\r\n\t\t * @param {String} id The accordion id.\r\n\t\t * @return {void}\r\n\t\t */\r\n\t\tconst accordionContentSetup = function (content, id) {\r\n\t\t\t// Get accordion content from plugin.settings.accordionClass container\r\n\t\t\tconst accordionPanel = content.querySelector(\r\n\t\t\t\t`.${plugin.settings.panelClass}`\r\n\t\t\t);\r\n\t\t\t// Create div for accordion content add content class\r\n\t\t\tconst accordionContent = document.createElement(\"div\");\r\n\t\t\taccordionContent.className = plugin.settings.contentClass;\r\n\t\t\t// Add content from panel\r\n\t\t\taccordionContent.innerHTML = accordionPanel.innerHTML;\r\n\r\n\t\t\t// Clear accordion panel html since it was added to content div\r\n\t\t\taccordionPanel.innerHTML = \"\";\r\n\t\t\t// Append content div to accordion panel\r\n\t\t\taccordionPanel.appendChild(accordionContent);\r\n\r\n\t\t\taccordionPanel.setAttribute(\"id\", `accordion${id}`);\r\n\r\n\t\t\t// Check to see if the accordions are set to be expanded or collapsed\r\n\t\t\tif (plugin.settings.expanded === false) {\r\n\t\t\t\taccordionPanel.setAttribute(\"aria-hidden\", \"true\");\r\n\t\t\t\taccordionPanel.style.height = \"0px\";\r\n\t\t\t} else {\r\n\t\t\t\taccordionPanel.setAttribute(\"aria-hidden\", \"false\");\r\n\t\t\t\taccordionPanel.style.height = `${accordionPanel.scrollHeight}px`;\r\n\t\t\t}\r\n\r\n\t\t\tif (content.classList.contains('accordion--expanded-default')) {\r\n\t\t\t\taccordionPanel.setAttribute(\"aria-hidden\", \"false\");\r\n\t\t\t\taccordionPanel.style.height = `${accordionPanel.scrollHeight}px`;\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t/**\r\n\t\t * Setup plugin.settings.toggleBtnClass, the individual accordion toggle button\r\n\t\t *\r\n\t\t * @function accordionToggleSetup\r\n\t\t * @param {String} content The accordion button.\r\n\t\t * @param {String} btnId The accordion button id.\r\n\t\t *\r\n\t\t */\r\n\t\tconst accordionToggleSetup = function (content, btnId) {\r\n\t\t\t// Get accordion header from plugin.settings.accordionClass\r\n\t\t\tconst accordionHeader = content.querySelector(\r\n\t\t\t\t`.${plugin.settings.headerClass}`\r\n\t\t\t);\r\n\r\n\t\t\t// Create a toggle button, add toggle class and aria attributes\r\n\t\t\tconst toggle = document.createElement(\"button\");\r\n\t\t\ttoggle.className = plugin.settings.toggleBtnClass;\r\n\t\t\ttoggle.setAttribute(\"aria-controls\", `accordion${btnId}`);\r\n\r\n\t\t\t// Check to see if the accordions are set to be expanded or collapsed\r\n\t\t\tif (plugin.settings.expanded === false) {\r\n\t\t\t\ttoggle.setAttribute(\"aria-expanded\", \"false\");\r\n\t\t\t} else {\r\n\t\t\t\ttoggle.setAttribute(\"aria-expanded\", \"true\");\r\n\t\t\t}\r\n\r\n\t\t\tif (content.classList.contains('accordion--expanded-default')) {\r\n\t\t\t\ttoggle.setAttribute(\"aria-expanded\", \"true\");\r\n\t\t\t}\r\n\r\n\t\t\t// Get content from existing header and add to button\r\n\t\t\ttoggle.innerHTML = accordionHeader.innerHTML;\r\n\r\n\t\t\t// Clear accordion header html since it was added to button\r\n\t\t\taccordionHeader.innerHTML = \"\";\r\n\t\t\t// Append button to accordion header\r\n\t\t\taccordionHeader.appendChild(toggle);\r\n\r\n\t\t\t// Initialize the accordion content and icon\r\n\t\t\taccordionContentSetup(content, btnId);\r\n\t\t\taccordionIconSetup(toggle);\r\n\t\t};\r\n\r\n\t\t/**\r\n\t\t * Create and setup plugin.settings.expandAllClass\r\n\t\t *\r\n\t\t * @function toggleAllSetup\r\n\t\t * @return {void}\r\n\t\t */\r\n\t\tconst toggleAllSetup = function () {\r\n\t\t\t// find first accodrion if only one the return\r\n\t\t\tconst firstAccordion = document.querySelector(\r\n\t\t\t\t`.${plugin.settings.accordionClass}`\r\n\t\t\t);\r\n\r\n\t\t\tif (!firstAccordion) return;\r\n\r\n\t\t\t// create button container\r\n\t\t\tconst buttonContainer = document.createElement(\"div\");\r\n\t\t\tbuttonContainer.className = plugin.settings.expandAllContainerClass;\r\n\r\n\t\t\t// create expand all button\r\n\t\t\tconst button = document.createElement(\"button\");\r\n\t\t\tbutton.className = plugin.settings.expandAllClass;\r\n\t\t\t// Check to see if the accordions are set to be expanded or collapsed\r\n\t\t\tif (plugin.settings.expanded === false) {\r\n\t\t\t\tbutton.setAttribute(\"aria-expanded\", \"false\");\r\n\t\t\t\tbutton.textContent = plugin.settings.expandAllOpenText;\r\n\t\t\t} else {\r\n\t\t\t\tbutton.setAttribute(\"aria-expanded\", \"true\");\r\n\t\t\t\tbutton.textContent = plugin.settings.expandAllCloseText;\r\n\t\t\t}\r\n\r\n\t\t\t// insert button into container\r\n\t\t\tbuttonContainer.appendChild(button);\r\n\r\n\t\t\t// find parent element of first accordion\r\n\t\t\tconst parentContainer = firstAccordion.parentNode;\r\n\r\n\t\t\t// insert button container before first accordion\r\n\t\t\tparentContainer.insertBefore(buttonContainer, firstAccordion);\r\n\t\t};\r\n\r\n\t\t/**\r\n\t\t * Update static Expand All button's aria-controls attribute to include ids of accordions in a group\r\n\t\t * The first accordion in the group's id should be included in the initial html\r\n\t\t * Elements following the initial with the class 'accordion' will be included in that group\r\n\t\t */\r\n\t\tconst updateToggleAllButton = function () {\r\n\r\n\t\t\tconst toggleAllButton = document.querySelectorAll(\r\n\t\t\t\t`.${plugin.settings.expandAllClass}`\r\n\t\t\t);\r\n\r\n\t\t\tfor (let i = 0; i < toggleAllButton.length; i++) {\r\n\t\t\t\tlet controls = toggleAllButton[i].getAttribute('aria-controls');\r\n\t\t\t\tlet current = document.getElementById(controls);\r\n\t\t\t\tlet group = [current.id];\r\n\t\t\t\tlet isAccordion = true;\r\n\r\n\t\t\t\twhile (isAccordion) {\r\n\t\t\t\t\tlet next = current.nextElementSibling;\r\n\t\t\t\t\t\r\n\t\t\t\t\tif (next != null && next.classList.contains(plugin.settings.accordionClass)) {\r\n\t\t\t\t\t\tcurrent = current.nextElementSibling;\r\n\t\t\t\t\t\tgroup.push(current.id)\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tisAccordion = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\ttoggleAllButton[i].setAttribute('aria-controls', group.toString());\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\t/**\r\n\t\t *\r\n\t\t *\r\n\t\t * @function toggleButton\r\n\t\t * @param {String} targetElem The toggle button\r\n\t\t * @param {String} direction The direction of the accordion Expand/Collapse\r\n\t\t * @return {void}\r\n\t\t */\r\n\t\tconst toggleButton = function (targetElem, direction) {\r\n\t\t\tif (direction === \"expand\") {\r\n\t\t\t\ttargetElem.setAttribute(\"aria-expanded\", \"true\");\r\n\t\t\t} else {\r\n\t\t\t\ttargetElem.setAttribute(\"aria-expanded\", \"false\");\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t/**\r\n\t\t * @function toggleContent\r\n\t\t * @param {String} targetElem The Accordion button\r\n\t\t * @param {MouseEvent} event mouse or keyboard\r\n\t\t * @param {String} direction The direction of the accordion Expand/Collapse\r\n\t\t * @return {void}\r\n\t\t */\r\n\t\tconst toggleAccordion = function (targetElem, event, direction) {\r\n\t\t\tconst controls = targetElem.getAttribute(\"aria-controls\");\r\n\t\t\tconst controlsElem = document.getElementById(controls);\r\n\t\t\tconst controlsElemHeight = controlsElem.scrollHeight;\r\n\t\t\tconst toggled = controlsElem.getAttribute(\"aria-hidden\");\r\n\r\n\t\t\tif (event) {\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t}\r\n\r\n\t\t\tfunction timeoutSet(element) {\r\n\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\telement.style.height = \"auto\";\r\n\t\t\t\t}, 300);\r\n\t\t\t}\r\n\r\n\t\t\tif (direction === \"expand\" && toggled === \"true\") {\r\n\t\t\t\tcontrolsElem.style.height = `${controlsElemHeight}px`;\r\n\t\t\t\tcontrolsElem.setAttribute(\"aria-hidden\", \"false\");\r\n\t\t\t\ttimeoutSet(controlsElem);\r\n\t\t\t} else if (direction === \"collapse\" && toggled === \"false\") {\r\n\t\t\t\tcontrolsElem.style.height = `${controlsElem.scrollHeight}px`;\r\n\t\t\t\tcontrolsElem.setAttribute(\"aria-hidden\", \"true\");\r\n\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\tcontrolsElem.setAttribute(\"aria-hidden\", true);\r\n\t\t\t\t\tcontrolsElem.style.height = `${0}px`;\r\n\t\t\t\t}, 50);\r\n\t\t\t}\r\n\r\n\t\t\ttoggleButton(targetElem, direction);\r\n\t\t};\r\n\t\tconst _routeToggle = function (hash) {\r\n\t\t\tlet targetPanel = document.getElementById(hash.substring(1));\r\n\t\t\tif (!targetPanel) return false;\r\n\t\t\tlet targetToggle = targetPanel.querySelector('.accordion__toggle');\r\n\t\t\tif (!targetToggle) return false;\r\n\t\t\tif (targetToggle.getAttribute('aria-expanded') == 'false') toggleAccordion(targetToggle, null, 'expand');\r\n\t\t};\r\n\r\n\t\t/**\r\n\t\t * @function toggleAllContent\r\n\t\t * @param {String} targetElem The toggle all button\r\n\t\t * @param {MouseEvent} event mouse or keyboard\r\n\t\t * @param {String} direction The direction of the accordion Expand/Collapse\r\n\t\t * @return {void}\r\n\t\t */\r\n\t\tconst toggleAllAccordions = function (targetElem, event, direction) {\r\n\t\t\tif (event) {\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t}\r\n\r\n\t\t\t// Use the specified element ids in the expand all button's aria-controls attribute\r\n\t\t\tlet controls = targetElem.getAttribute('aria-controls').split(',');\r\n\r\n\t\t\t// Convert those ids to an array of accordion nodes\r\n\t\t\tlet group = [];\r\n\t\t\tfor (let i = 0; i < controls.length; i++) {\r\n\t\t\t\tlet accordion = document.getElementById(controls[i]);\r\n\t\t\t\tif (accordion.classList.contains(plugin.settings.accordionClass)) {\r\n\t\t\t\t\t// select the toggle button of each accordion\r\n\t\t\t\t\tlet toggle = accordion.querySelector(`.${plugin.settings.toggleBtnClass}`);\r\n\t\t\t\t\tif (toggle != null) group.push(toggle);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Loop through each accordion\r\n\t\t\tgroup.forEach.call(group, function (button) {\r\n\t\t\t\ttoggleAccordion(button, event, direction);\r\n\t\t\t});\r\n\r\n\t\t\t// After event toggle aria-expanded attribute\r\n\t\t\ttargetElem.setAttribute(\r\n\t\t\t\t\"aria-expanded\",\r\n\t\t\t\ttargetElem.getAttribute(\"aria-expanded\") === \"true\" ? \"false\" : \"true\"\r\n\t\t\t);\r\n\r\n\t\t\t// After event toggle button text\r\n\t\t\ttargetElem.textContent =\r\n\t\t\t\ttargetElem.textContent === plugin.settings.expandAllOpenText\r\n\t\t\t\t\t? (targetElem.textContent = plugin.settings.expandAllCloseText)\r\n\t\t\t\t\t: (targetElem.textContent = plugin.settings.expandAllOpenText);\r\n\t\t};\r\n\r\n\t\t/**\r\n\t\t * @function clickHandler\r\n\t\t * @param {String} event mouse click\r\n\t\t * @return {type} {description}\r\n\t\t */\r\n\t\tconst clickHandler = function (event) {\r\n\t\t\tconst toggleBtn = event.target.closest(\r\n\t\t\t\t`.${plugin.settings.toggleBtnClass}`\r\n\t\t\t);\r\n\t\t\tconst toggleAll = event.target.closest(\r\n\t\t\t\t`.${plugin.settings.expandAllClass}`\r\n\t\t\t);\r\n\r\n\t\t\tconst direction =\r\n\t\t\t\tevent.target.getAttribute(\"aria-expanded\") === \"true\"\r\n\t\t\t\t\t? \"collapse\"\r\n\t\t\t\t\t: \"expand\";\r\n\r\n\t\t\tif (toggleBtn) {\r\n\t\t\t\ttoggleAccordion(toggleBtn, event, direction);\r\n\t\t\t}\r\n\t\t\tif (toggleAll) {\r\n\t\t\t\ttoggleAllAccordions(toggleAll, event, direction);\r\n\t\t\t}\r\n\t\t};\r\n\t\t/**\r\n\t\t * @function keyboardHandler\r\n\t\t * @param {String} event keyboard press\r\n\t\t * @return {type} {description}\r\n\t\t */\r\n\t\tconst keyboardHandler = function (event) {\r\n\t\t\tif (event.key == \"Enter\" || event.key == \" \") {\r\n\t\t\t\tconst toggleBtn = event.target.closest(\r\n\t\t\t\t\t`.${plugin.settings.toggleBtnClass}`\r\n\t\t\t\t);\r\n\t\t\t\tconst toggleAll = event.target.closest(\r\n\t\t\t\t\t`.${plugin.settings.expandAllClass}`\r\n\t\t\t\t);\r\n\t\t\t\tconst direction =\r\n\t\t\t\t\tevent.target.getAttribute(\"aria-expanded\") === \"true\"\r\n\t\t\t\t\t\t? \"collapse\"\r\n\t\t\t\t\t\t: \"expand\";\r\n\r\n\t\t\t\tif (toggleBtn) {\r\n\t\t\t\t\ttoggleAccordion(toggleBtn, event, direction);\r\n\t\t\t\t}\r\n\t\t\t\tif (toggleAll) {\r\n\t\t\t\t\ttoggleAllAccordions(toggleAll, event, direction);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t/**\r\n\t\t * Public variables and methods.\r\n\t\t * @type {object}\r\n\t\t */\r\n\t\tPlugin.prototype = {\r\n\t\t\tsetup() {\r\n\t\t\t\tconst accordions = document.querySelectorAll(plugin.element);\r\n\t\t\t\tlet btnId = 0;\r\n\t\t\t\tArray.prototype.forEach.call(accordions, function (accordion) {\r\n\t\t\t\t\tbtnId += 1;\r\n\t\t\t\t\tif (accordion.id !== null) {\r\n\t\t\t\t\t\taccordionToggleSetup(accordion, accordion.id);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\taccordionToggleSetup(accordion, btnId);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\t//if (plugin.settings.expandAllBtn && accordions.length > 1)\r\n\t\t\t\t//\ttoggleAllSetup();\r\n\r\n\t\t\t\tupdateToggleAllButton()\r\n\t\t\t},\r\n\r\n\t\t\t/**\r\n\t\t\t * Setup the accordion toggle button and aria attributes\r\n\t\t\t *\r\n\t\t\t * @function init\r\n\t\t\t * @param {Object} options - User defined options\r\n\t\t\t *\r\n\t\t\t */\r\n\t\t\tinit() {\r\n\t\t\t\t// If there are no accordions bail\r\n\t\t\t\tif (!plugin.element) return false;\r\n\r\n\t\t\t\t// Setup items in the DOM\r\n\t\t\t\tplugin.this.setup();\r\n\r\n\t\t\t\t// Add event mouse and keyboard listeners\r\n\t\t\t\tdocument.addEventListener(\"click\", clickHandler, false);\r\n\t\t\t\tdocument.addEventListener(\"keydown\", keyboardHandler, false);\r\n\r\n\t\t\t\tif (location.hash) _routeToggle(location.hash);\r\n\t\t\t\twindow.onhashchange = function () {\r\n\t\t\t\t\tif (location.hash) _routeToggle(location.hash);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t};\r\n\r\n\t\t// Return the plugin\r\n\t\treturn Plugin;\r\n\t}\r\n);\r\n","const blinds = (function () {\r\n\t'use strict';\r\n\tlet nodes = document.querySelectorAll('.blinds__toggle');\r\n\tlet highlighted = null;\r\n\r\n\tconst methods = {};\r\n\r\n\tconst flip = (item) => {\r\n\t\tlet front = item.querySelector('.blinds__front');\r\n\t\tlet back = item.querySelector('.blinds__back');\r\n\t\tlet newSide, oldSide;\r\n\r\n\t\tif (back.hasAttribute('aria-hidden')) {\r\n\t\t\toldSide = front;\r\n\t\t\tnewSide = back;\r\n\t\t} else {\r\n\t\t\tnewSide = front;\r\n\t\t\toldSide = back;\r\n\t\t}\r\n\r\n\t\tnewSide.removeAttribute('hidden');\r\n\t\tnewSide.removeAttribute('aria-hidden');\r\n\r\n\t\toldSide.hidden = true;\r\n\t\toldSide.setAttribute('aria-hidden', true);\r\n\t}\r\n\r\n\tconst removeHighlight = (item) => {\r\n\t\tflip(item);\r\n\t\titem.classList.remove('blinds__item--active');\r\n\t\thighlighted = null;\r\n\t};\r\n\r\n\tconst highlight = (item) => {\r\n\t\tflip(item);\r\n\r\n\t\titem.classList.add('blinds__item--active');\r\n\r\n\t\thighlighted = item;\r\n\t};\r\n\r\n\tmethods.init = () => {\r\n\t\tconst blinds = Array.from(nodes);\r\n\r\n\t\tblinds.map((item) => {\r\n\t\t\titem.addEventListener('click', (e) => {\r\n\t\t\t\te.preventDefault();\r\n\t\t\t\tif (highlighted != null) {\r\n\t\t\t\t\tif (item == highlighted) {\r\n\t\t\t\t\t\tremoveHighlight(highlighted);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tremoveHighlight(highlighted);\r\n\t\t\t\t\t\thighlight(item);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\thighlight(item);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\titem.addEventListener('keypress', (e) => {\r\n\t\t\t\tif (e.code === 'Enter' || e.code === 'Space') {\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\thighlight(item);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t})\r\n\t}\r\n\r\n\treturn methods;\r\n})();\r\n\r\nexport default blinds;","export const Cookie = {\r\n get: name => {\r\n let treat = document.cookie.match(`(?:(?:^|.*; *)${name} *= *([^;]*).*$)|^.*$`)[1]\r\n if (treat) return decodeURIComponent(treat)\r\n },\r\n set: (name, value, opts = {}) => {\r\n /*If options contains days then we're configuring max-age*/\r\n if (opts.days) {\r\n opts['max-age'] = opts.days * 60 * 60 * 24;\r\n\r\n /*Deleting days from options to pass remaining opts to cookie settings*/\r\n delete opts.days\r\n }\r\n\r\n /*Configuring options to cookie standard by reducing each property*/\r\n opts = Object.entries(opts).reduce(\r\n (accumulatedStr, [k, v]) => `${accumulatedStr}; ${k}=${v}`, ''\r\n )\r\n\r\n /*Finally, creating the key*/\r\n document.cookie = name + '=' + encodeURIComponent(value) + opts\r\n },\r\n delete: (name, opts) => Cookie.set(name, '', { 'max-age': -1, ...opts })\r\n // path & domain must match cookie being deleted \r\n}\r\n","import A11yDialog from 'a11y-dialog';\r\n\r\nexport function EmbeddedMap(container, onShow) {\r\n\r\n mapboxgl.accessToken = 'pk.eyJ1IjoiaTVicmlkZ2VyZXBsYWNlbWVudCIsImEiOiJja3UyaTU5encwcWFtMm5uaWdxcTl0MHkwIn0.HhwR6QLKpLU3G8jWpquk9g';\r\n window.embeddedMap = new mapboxgl.Map({\r\n container: container,\r\n style: 'mapbox://styles/i5bridgereplacement/cku2i7uql324x18oudega4voo/draft',\r\n center: [-122.6752, 45.6183],\r\n pitch: 58.1449083309002,\r\n bearing: -38.40527054142097,\r\n zoom: 5\r\n });\r\n window.embeddedMap.addControl(new mapboxgl.NavigationControl());\r\n\r\n const points = window.mapGeoJson.features.filter((feature) => feature.geometry.type == 'Point');\r\n\r\n window.embeddedMap.on('load', () => {\r\n\r\n const bounds = new mapboxgl.LngLatBounds();\r\n\r\n // Extend the 'LngLatBounds' to include every coordinate in the bounds result.\r\n for (const feature of points) {\r\n bounds.extend(feature.geometry.coordinates)\r\n }\r\n\r\n fitBoundsRotated(bounds);\r\n\r\n window.embeddedMap.addSource('map', {\r\n type: 'geojson',\r\n data: window.mapGeoJson\r\n });\r\n window.embeddedMap.addLayer({\r\n id: 'route',\r\n type: 'line',\r\n source: 'map',\r\n paint: {\r\n 'line-color': '#888',\r\n 'line-width': 8\r\n },\r\n layout: {\r\n 'line-join': 'round',\r\n 'line-cap': 'round'\r\n },\r\n filter: ['==', '$type', 'LineString']\r\n });\r\n\r\n for (const { geometry, properties } of points) {\r\n // create a HTML element for each feature\r\n const el = document.createElement('button');\r\n el.className = `marker marker--${properties.color}`\r\n el.title = properties.name\r\n el.innerText = properties.number\r\n el.addEventListener('click', function (event) {\r\n markerOnClick(properties);\r\n\t\t\t})\r\n\r\n // make a marker for each feature and add to the map\r\n new mapboxgl.Marker(el)\r\n .setLngLat(geometry.coordinates)\r\n .addTo(window.embeddedMap);\r\n }\r\n\r\n });\r\n\r\n // Copied code from MapBoxGL's Camera#fitBounds method\r\n // Adding in rotation logic\r\n function fitBoundsRotated(bounds, eventData){\r\n\r\n var options = {\r\n padding: {\r\n top: 0,\r\n bottom: 0,\r\n right: 0,\r\n left: 0\r\n },\r\n offset: [0, 0],\r\n maxZoom:28\r\n };\r\n\r\n bounds = mapboxgl.LngLatBounds.convert(bounds);\r\n\r\n // we separate the passed padding option into two parts, the part that does not affect the map's center\r\n // (lateral and vertical padding), and the part that does (paddingOffset). We add the padding offset\r\n // to the options `offset` object where it can alter the map's center in the subsequent calls to\r\n // `easeTo` and `flyTo`.\r\n const paddingOffset = [options.padding.left - options.padding.right, options.padding.top - options.padding.bottom],\r\n lateralPadding = Math.min(options.padding.right, options.padding.left),\r\n verticalPadding = Math.min(options.padding.top, options.padding.bottom);\r\n options.offset = [options.offset[0] + paddingOffset[0], options.offset[1] + paddingOffset[1]];\r\n\r\n options.bearing = options.bearing || window.embeddedMap.getBearing();\r\n\r\n const offset = mapboxgl.Point.convert(options.offset),\r\n tr = window.embeddedMap.transform,\r\n nw = tr.project(bounds.getNorthWest()),\r\n se = tr.project(bounds.getSouthEast()),\r\n size = se.sub(nw);\r\n\r\n /** START CUSTOM ROTATION HACK **/\r\n // Now using a \"cropped rectangle\" rotation method\r\n // https://stackoverflow.com/questions/33866535/how-to-scale-a-rotated-rectangle-to-always-fit-another-rectangle\r\n // W = w·|cos φ| + h·|sin φ|\r\n // H = w·|sin φ| + h·|cos φ|\r\n const theta = options.bearing * (Math.PI / 180),\r\n W = size.x * Math.abs(Math.cos(theta)) + size.y * Math.abs(Math.sin(theta)),\r\n H = size.x * Math.abs(Math.sin(theta)) + size.y * Math.abs(Math.cos(theta)),\r\n rotatedSize = { x: W, y: H },\r\n /** END CUSTOM ROTATION HACK **/\r\n\r\n scaleX = (tr.width - lateralPadding * 2 - Math.abs(offset.x) * 2) / rotatedSize.x,\r\n scaleY = (tr.height - verticalPadding * 2 - Math.abs(offset.y) * 2) / rotatedSize.y;\r\n\r\n if (scaleY < 0 || scaleX < 0) {\r\n if (typeof console !== \"undefined\") console.warn('Map cannot fit within canvas with the given bounds, padding, and/or offset.');\r\n return this;\r\n }\r\n\r\n options.center = tr.unproject(nw.add(se).div(2));\r\n options.zoom = Math.min(tr.scaleZoom(tr.scale * Math.min(scaleX, scaleY)), options.maxZoom);\r\n\r\n\r\n return options.linear ?\r\n window.embeddedMap.easeTo(options, eventData) :\r\n window.embeddedMap.flyTo(options, eventData);\r\n }\r\n const markerOnClick = (props) => {\r\n const ref = `flipModalContent${props.number}`;\r\n const content = document.getElementById(ref);\r\n\r\n // Create dialog markup\r\n const dialogEl = document.createElement('div');\r\n dialogEl.className = 'popup dialog-container mapEmbedDialog';\r\n dialogEl.id = `markerDialog${props.number}`;\r\n dialogEl.setAttribute('aria-hidden', 'true');\r\n\r\n const dialogOverlay = document.createElement('div');\r\n dialogOverlay.className = 'dialog-overlay';\r\n dialogOverlay.tabIndex = '-1';\r\n dialogEl.appendChild(dialogOverlay);\r\n\r\n const dialogContent = document.createElement('div');\r\n dialogContent.className = 'dialog-content';\r\n dialogContent.setAttribute('role', 'alertdialog');\r\n dialogContent.setAttribute('aria-labelledby', 'dialogTitle');\r\n dialogEl.appendChild(dialogContent);\r\n\r\n const dialogDocument = document.createElement('div');\r\n dialogDocument.setAttribute('role', 'document');\r\n dialogContent.appendChild(dialogDocument);\r\n\r\n const dialogButton = document.createElement('button');\r\n dialogButton.setAttribute('aria-label', 'Close this dialog window');\r\n dialogButton.className = 'dialog-close btn btn--solid-tertiary';\r\n dialogButton.innerHTML = '×';\r\n dialogButton.dataset.a11yDialogHide = `markerDialog${props.number}`;\r\n dialogDocument.appendChild(dialogButton);\r\n\r\n const dialogTitle = document.createElement('h1');\r\n dialogTitle.id = 'dialogTitle';\r\n dialogTitle.className = 'dialog-title heading heading--secondary';\r\n dialogTitle.textContent = props.name;\r\n dialogDocument.appendChild(dialogTitle);\r\n\r\n content.hidden = false;\r\n dialogDocument.appendChild(content);\r\n\r\n // Append dialog to body\r\n const documentBody = document.querySelector('body');\r\n documentBody.appendChild(dialogEl);\r\n\r\n // Create dialog instance\r\n const dialog = new A11yDialog(dialogEl);\r\n dialog.on('show', function (dialogEl) {\r\n documentBody.classList.add('no-scroll')\r\n })\r\n\r\n dialog.on('hide', function (dialogEl) {\r\n documentBody.classList.remove('no-scroll')\r\n content.hidden = true;\r\n documentBody.appendChild(content);\r\n documentBody.removeChild(dialogEl);\r\n })\r\n\r\n //Show the dialog\r\n dialog.show()\r\n\t}\r\n\r\n};","import anime from \"animejs\";\r\n\r\nconst flipcards = (function () {\r\n\t'use strict';\r\n\tlet nodes = document.querySelectorAll('.flip-cards__toggle');\r\n\tlet playing = false;\r\n\r\n\tconst methods = {};\r\n\r\n\tconst flip = (card) => {\r\n\t\tif (playing)\r\n\t\t\treturn;\r\n\r\n\t\tlet front = card.querySelector('.flip-cards__front');\r\n\t\tlet back = card.querySelector('.flip-cards__back');\r\n\t\tlet newSide, oldSide;\r\n\r\n\t\tif (back.hasAttribute('aria-hidden')) {\r\n\t\t\toldSide = front;\r\n\t\t\tnewSide = back;\r\n\t\t} else {\r\n\t\t\tnewSide = front;\r\n\t\t\toldSide = back;\r\n\t\t}\r\n\r\n\t\tnewSide.removeAttribute('hidden');\r\n\t\tnewSide.removeAttribute('aria-hidden');\r\n\r\n\t\tplaying = true;\r\n\t\tanime({\r\n\t\t\ttargets: card,\r\n\t\t\tscale: [{ value: 1 }, { value: 1.05 }, { value: 1, delay: 250 }],\r\n\t\t\trotateY: { value: '+=180', delay: 200 },\r\n\t\t\teasing: 'easeInOutSine',\r\n\t\t\tduration: 400,\r\n\t\t\tcomplete: function (anim) {\r\n\t\t\t\tplaying = false;\r\n\t\t\t\toldSide.hidden = true;\r\n\t\t\t\toldSide.setAttribute('aria-hidden', true);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tmethods.init = () => {\r\n\t\tconst cards = Array.from(nodes);\r\n\r\n\t\tcards.map((item) => {\r\n\t\t\titem.addEventListener('click', (e) => {\r\n\t\t\t\tflip(item);\r\n\t\t\t})\r\n\t\t\titem.addEventListener('keypress', (e) => {\r\n\t\t\t\tif (e.code === 'Enter' || e.code === 'Space') {\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\tflip(item);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t})\r\n\t}\r\n\r\n\treturn methods;\r\n})();\r\n\r\nexport default flipcards;","import A11yDialog from 'a11y-dialog';\r\nimport { Cookie } from './cookies';\r\n\r\nexport function ModalPopup() {\r\n const popup = document.querySelector('.popup');\r\n if (popup == null) return false;\r\n\r\n // Grab the ID of the popup so we can check the cookie\r\n const popupId = popup.id;\r\n\r\n //Check to see if our cookie exist\r\n let modalSeen = Cookie.get('showModal' + popupId);\r\n\r\n if (modalSeen) return;\r\n\r\n Cookie.set('showModal' + popupId, 'shown', { path: '/', days: 365 })\r\n\r\n const dialogEl = document.querySelector('.popup');\r\n const dialog = new A11yDialog(dialogEl);\r\n \r\n // Event listeners to add/remove class from body\r\n dialog.on('show', function (dialogEl) {\r\n document.querySelector('body').classList.add('no-scroll')\r\n })\r\n\r\n dialog.on('hide', function (dialogEl) {\r\n document.querySelector('body').classList.remove('no-scroll')\r\n })\r\n\r\n //Show the dialog\r\n dialog.show()\r\n\r\n}\r\n","import A11yDialog from 'a11y-dialog';\r\n\r\nexport function ModalCards(onShow) {\r\n\r\n const cardOnClick = (event) => {\r\n const target = event.currentTarget;\r\n const ref = target.dataset.ref;\r\n\r\n const content = document.getElementById(ref);\r\n\r\n // Create dialog markup\r\n const dialogEl = document.createElement('div');\r\n dialogEl.className = 'popup dialog-container';\r\n dialogEl.id = `markerDialog${ref}`;\r\n dialogEl.setAttribute('aria-hidden', 'true');\r\n\r\n const dialogOverlay = document.createElement('div');\r\n dialogOverlay.className = 'dialog-overlay';\r\n dialogOverlay.tabIndex = '-1';\r\n dialogEl.appendChild(dialogOverlay);\r\n\r\n const dialogContent = document.createElement('div');\r\n dialogContent.className = 'dialog-content';\r\n dialogContent.setAttribute('role', 'alertdialog');\r\n dialogContent.setAttribute('aria-labelledby', 'dialogTitle');\r\n dialogEl.appendChild(dialogContent);\r\n\r\n const dialogDocument = document.createElement('div');\r\n dialogDocument.setAttribute('role', 'document');\r\n dialogContent.appendChild(dialogDocument);\r\n\r\n const dialogButton = document.createElement('button');\r\n dialogButton.setAttribute('aria-label', 'Close this dialog window');\r\n dialogButton.className = 'dialog-close btn btn--solid-tertiary';\r\n dialogButton.innerHTML = '×';\r\n dialogButton.dataset.a11yDialogHide = `markerDialog${ref}`;\r\n dialogDocument.appendChild(dialogButton);\r\n\r\n content.hidden = false;\r\n dialogDocument.appendChild(content);\r\n\r\n // Append dialog to body\r\n const documentBody = document.querySelector('body');\r\n documentBody.appendChild(dialogEl);\r\n\r\n // Create dialog instance\r\n const dialog = new A11yDialog(dialogEl);\r\n dialog.on('show', function (dialogEl) {\r\n documentBody.classList.add('no-scroll')\r\n })\r\n\r\n dialog.on('hide', function (dialogEl) {\r\n documentBody.classList.remove('no-scroll')\r\n content.hidden = true;\r\n documentBody.appendChild(content);\r\n documentBody.removeChild(dialogEl);\r\n })\r\n\r\n //Show the dialog\r\n dialog.show()\r\n }\r\n\r\n let nodes = document.querySelectorAll('.modal-cards__toggle');\r\n for (const node of nodes) {\r\n node.addEventListener('click', function (event) {\r\n cardOnClick(event)\r\n });\r\n\t}\r\n\r\n}","import A11yDialog from 'a11y-dialog';\r\n\r\nexport function ModalLink(onShow) {\r\n\r\n const linkOnClick = (event) => {\r\n const target = event.currentTarget;\r\n const ref = target.dataset.ref;\r\n\r\n const content = document.getElementById(ref);\r\n\r\n // Create dialog markup\r\n const dialogEl = document.createElement('div');\r\n dialogEl.className = 'popup dialog-container';\r\n dialogEl.id = `markerDialog${ref}`;\r\n dialogEl.setAttribute('aria-hidden', 'true');\r\n\r\n const dialogOverlay = document.createElement('div');\r\n dialogOverlay.className = 'dialog-overlay';\r\n dialogOverlay.tabIndex = '-1';\r\n dialogEl.appendChild(dialogOverlay);\r\n\r\n const dialogContent = document.createElement('div');\r\n dialogContent.className = 'dialog-content';\r\n dialogContent.setAttribute('role', 'alertdialog');\r\n dialogContent.setAttribute('aria-labelledby', 'dialogTitle');\r\n dialogEl.appendChild(dialogContent);\r\n\r\n const dialogDocument = document.createElement('div');\r\n dialogDocument.setAttribute('role', 'document');\r\n dialogContent.appendChild(dialogDocument);\r\n\r\n const dialogButton = document.createElement('button');\r\n dialogButton.setAttribute('aria-label', 'Close this dialog window');\r\n dialogButton.className = 'dialog-close btn btn--solid-tertiary';\r\n dialogButton.innerHTML = '×';\r\n dialogButton.dataset.a11yDialogHide = `markerDialog${ref}`;\r\n dialogDocument.appendChild(dialogButton);\r\n\r\n content.hidden = false;\r\n dialogDocument.appendChild(content);\r\n\r\n // Append dialog to body\r\n const documentBody = document.querySelector('body');\r\n documentBody.appendChild(dialogEl);\r\n\r\n // Create dialog instance\r\n const dialog = new A11yDialog(dialogEl);\r\n dialog.on('show', function (dialogEl) {\r\n documentBody.classList.add('no-scroll')\r\n })\r\n\r\n dialog.on('hide', function (dialogEl) {\r\n documentBody.classList.remove('no-scroll')\r\n content.hidden = true;\r\n documentBody.appendChild(content);\r\n documentBody.removeChild(dialogEl);\r\n })\r\n\r\n //Show the dialog\r\n dialog.show()\r\n }\r\n\r\n let nodes = document.querySelectorAll('.modal__toggle');\r\n for (const node of nodes) {\r\n node.addEventListener('click', function (event) {\r\n linkOnClick(event)\r\n event.preventDefault();\r\n });\r\n\t}\r\n\r\n}","const navigation = {\r\n\tcloseButton: document.getElementById('navClose'),\r\n\topenButton: document.getElementById('navToggle'),\r\n\tmenu: document.getElementById('mainNav'),\r\n\r\n\tinit: function() {\r\n\t\tthis.closeButton.addEventListener('click', () => {\r\n\t\t\tnavigation.menu.hidden = true;\r\n\t\t\tnavigation.menu.setAttribute('aria-hidden', true);\r\n\t\t})\r\n\r\n\t\tthis.openButton.addEventListener('click', () => {\r\n\t\t\tnavigation.menu.hidden = false;\r\n\t\t\tnavigation.menu.setAttribute('aria-hidden', false);\r\n\t\t})\r\n\t}\r\n}\r\n\r\nexport default navigation;","export default function StickyElement(stickyEl, stopStickyEl) {\r\n\tconst stickyElem = document.getElementById(stickyEl);\r\n\tconst stopStickyElem = document.getElementById(stopStickyEl);\r\n\tif (stickyElem == null || stopStickyElem == null) return false;\r\n\tlet yOffset = document.scrollingElement.scrollTop;\r\n\r\n\tconst findOffest = (elem) => {\r\n\t\tconst rect = elem.getBoundingClientRect();\r\n\t\tconst bodyElem = document.body;\r\n\t\treturn {\r\n\t\t\ttop: rect.top + bodyElem.scrollTop,\r\n\t\t\tleft: rect.left + bodyElem.scrollLeft\r\n\t\t};\r\n\t};\r\n\r\n\tconst stickyElemTop = findOffest(stickyElem).top;\r\n\tconst stopStickyElemTop = findOffest(stopStickyElem).top;\r\n\tconst maxY = stopStickyElemTop - stickyElem.offsetHeight;\r\n\r\n\tconst handleStickyElem = () => {\r\n\t\tif (yOffset > stopStickyElemTop) {\r\n\t\t\tstickyElem.classList.add(\"sticky\");\r\n\t\t} else {\r\n\t\t\tstickyElem.classList.remove(\"sticky\");\r\n\t\t}\r\n\t};\r\n\r\n\tlet throttleTimer;\r\n\r\n\tconst throttle = (callback, time) => {\r\n\t\tif (throttleTimer) return;\r\n\r\n\t\tthrottleTimer = true;\r\n\t\tsetTimeout(() => {\r\n\t\t\tcallback();\r\n\t\t\tthrottleTimer = false;\r\n\t\t}, time);\r\n\t};\r\n\r\n\tconst mediaQuery = window.matchMedia(\"(prefers-reduced-motion: reduce)\");\r\n\r\n\twindow.addEventListener(\"scroll\", () => {\r\n\t\tif (mediaQuery && !mediaQuery.matches) {\r\n\t\t\tthrottle(handleStickyElem, 250);\r\n\t\t}\r\n\t});\r\n}\r\n","function updateExternaLinks(selector) {\r\n\tvar _externalLinks = document.querySelectorAll(selector);\r\n\tvar _link = {},\r\n\t\t_text = '',\r\n\t\t_indicator = ' Opens in new window';\r\n\tfor (var i = 0; i < _externalLinks.length; i++) {\r\n\t\t_link = _externalLinks[i];\r\n\t\t_text = _link.innerHTML;\r\n\r\n\t\t_link.innerHTML = _text + _indicator;\r\n\t}\r\n}\r\nmodule.exports = updateExternaLinks;\r\n","/*!\r\n * Tabs - Heydon Pickering\r\n *\r\n * https://inclusive-components.design/tabbed-interfaces/\r\n * https://codepen.io/heydon/pen/veeaEa\r\n *\r\n */\r\n\r\nexport default function VerticalTabs() {\r\n\tif (!document.querySelector(\".tabbed\")) return;\r\n\t// Get relevant elements and collections\r\n\tconst tabbed = document.querySelector(\".tabbed\");\r\n\tconst tablist = tabbed.querySelector(\"[role='tablist']\");\r\n\tconst tabs = tablist.querySelectorAll(\"[role='tab']\");\r\n\tconst panels = document.querySelectorAll(\"[data-tab]\");\r\n\tconst ariaSelected = tabbed.querySelector(\"[aria-selected]\");\r\n\r\n\t// The tab switching function\r\n\tconst switchTab = (oldTab, newTab) => {\r\n\t\tnewTab.focus();\r\n\t\t// Make the active tab focusable by the user (Tab key)\r\n\t\tnewTab.removeAttribute(\"tabindex\");\r\n\t\t// Set the selected state\r\n\t\tnewTab.setAttribute(\"aria-selected\", \"true\");\r\n\t\tif (oldTab !== null) {\r\n\t\t\toldTab.removeAttribute(\"aria-selected\");\r\n\t\t\toldTab.setAttribute(\"tabindex\", \"-1\");\r\n\t\t}\r\n\t\t// Get the indices of the new and old tabs to find the correct\r\n\t\t// tab panels to show and hide\r\n\t\tlet index = Array.prototype.indexOf.call(tabs, newTab);\r\n\t\tlet oldIndex = Array.prototype.indexOf.call(tabs, oldTab);\r\n\t\tpanels[oldIndex].hidden = true;\r\n\t\tpanels[index].hidden = false;\r\n\t};\r\n\r\n\t// Add the tablist role to the first
    in the .tabbed container\r\n\ttablist.setAttribute(\"role\", \"tablist\");\r\n\r\n\t// Add semantics are remove user focusability for each tab\r\n\tArray.prototype.forEach.call(tabs, (tab, i) => {\r\n\t\ttab.setAttribute(\"role\", \"tab\");\r\n\t\ttab.setAttribute(\"id\", \"tab\" + (i + 1));\r\n\t\ttab.setAttribute(\"tabindex\", \"-1\");\r\n\t\ttab.parentNode.setAttribute(\"role\", \"presentation\");\r\n\r\n\t\t// Handle clicking of tabs for mouse users\r\n\t\ttab.addEventListener(\"click\", (e) => {\r\n\t\t\t// e.preventDefault();\r\n\t\t\tlet currentTab = tablist.querySelector(\"[aria-selected]\");\r\n\t\t\tif (e.currentTarget !== currentTab) {\r\n\t\t\t\tswitchTab(currentTab, e.currentTarget);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// Handle keydown events for keyboard users\r\n\t\ttab.addEventListener(\"keydown\", (e) => {\r\n\t\t\t// Get the index of the current tab in the tabs node list\r\n\t\t\tlet index = Array.prototype.indexOf.call(tabs, e.currentTarget);\r\n\t\t\t// Work out which key the user is pressing and\r\n\t\t\t// Calculate the new tab's index where appropriate\r\n\t\t\tlet dir = e.which === 37 ? index - 1 : e.which === 39 ? index + 1 : e.which === 40 ? \"down\" : null;\r\n\t\t\tif (dir !== null) {\r\n\t\t\t\te.preventDefault();\r\n\t\t\t\t// If the down key is pressed, move focus to the open panel,\r\n\t\t\t\t// otherwise switch to the adjacent tab\r\n\t\t\t\tdir === \"down\" ? panels[i].focus() : tabs[dir] ? switchTab(e.currentTarget, tabs[dir]) : void 0;\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n\r\n\t// Add tab panel semantics and hide them all\r\n\tArray.prototype.forEach.call(panels, (panel, i) => {\r\n\t\tpanel.setAttribute(\"role\", \"tabpanel\");\r\n\t\tpanel.setAttribute(\"tabindex\", \"-1\");\r\n\t\tlet id = panel.getAttribute(\"id\");\r\n\t\tpanel.setAttribute(\"aria-labelledby\", tabs[i].id);\r\n\t\tpanel.hidden = true;\r\n\t});\r\n\r\n\t// Initially activate the first tab and reveal the first tab panel\r\n\tif (!ariaSelected) {\r\n\t\ttabs[0].removeAttribute(\"tabindex\");\r\n\t\ttabs[0].setAttribute(\"aria-selected\", \"true\");\r\n\t\tpanels[0].hidden = false;\r\n\t} else {\r\n\t\tvar activeTab = ariaSelected.getAttribute(\"id\");\r\n\t\tvar activePanel = document.querySelector(\"[aria-labelledby=\" + activeTab + \"]\");\r\n\t\tactivePanel.hidden = false;\r\n\t}\r\n}\r\n","// extracted by mini-css-extract-plugin"],"sourceRoot":""}