{"version":3,"sources":["webpack:///./node_modules/core-js/internals/to-string-tag-support.js","webpack:///./node_modules/core-js/internals/function-bind-context.js","webpack:///./node_modules/vue-rss-feed/src/components/Feed.vue?e720","webpack:///./node_modules/xmlbuilder/lib/XMLNodeList.js","webpack:///./node_modules/entities/lib/encode.js","webpack:///./node_modules/xmlbuilder/lib/NodeType.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/vuetify/lib/components/transitions/createTransition.js","webpack:///./node_modules/vuetify/lib/components/transitions/expand-transition.js","webpack:///./node_modules/vuetify/lib/components/transitions/index.js","webpack:///./node_modules/xml2js/lib/xml2js.js","webpack:///./node_modules/readable-stream/duplex-browser.js","webpack:///./node_modules/xmlbuilder/lib/WriterState.js","webpack:///./node_modules/vue-rss-feed/index.js","webpack:///./node_modules/xmlbuilder/lib/XMLDOMImplementation.js","webpack:///./node_modules/url/url.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/core-js/internals/native-url.js","webpack:///./node_modules/xmlbuilder/lib/XMLDummy.js","webpack:///./node_modules/core-js/modules/es.string.split.js","webpack:///./node_modules/core-js/internals/same-value.js","webpack:///./node_modules/vuetify/lib/components/VIcon/VIcon.js","webpack:///./node_modules/core-js/internals/regexp-exec-abstract.js","webpack:///./node_modules/xmlbuilder/lib/XMLDTDEntity.js","webpack:///./node_modules/xmlbuilder/lib/XMLDTDAttList.js","webpack:///./node_modules/node-libs-browser/node_modules/punycode/punycode.js","webpack:///./node_modules/core-js/internals/an-instance.js","webpack:///./node_modules/core-js/internals/html.js","webpack:///./node_modules/xmlbuilder/lib/XMLDOMStringList.js","webpack:///./node_modules/core-js/internals/a-function.js","webpack:///./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack:///./node_modules/vuetify/lib/mixins/routable/index.js","webpack:///./node_modules/core-js/internals/engine-is-ios.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///./node_modules/core-js/internals/array-method-has-species-support.js","webpack:///./node_modules/xmlbuilder/lib/XMLStringWriter.js","webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/core-js/internals/iterate.js","webpack:///./node_modules/vue-rss-feed/src/components/Article.vue?cf67","webpack:///./node_modules/xmlbuilder/lib/XMLAttribute.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/vuetify/lib/mixins/measurable/index.js","webpack:///./node_modules/https-browserify/index.js","webpack:///./node_modules/core-js/modules/es.regexp.to-string.js","webpack:///./node_modules/core-js/internals/set-species.js","webpack:///./node_modules/readable-stream/lib/_stream_transform.js","webpack:///./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:///./node_modules/vue/dist/vue.runtime.esm.js","webpack:///./node_modules/core-js/modules/web.url.js","webpack:///./node_modules/readable-stream/writable-browser.js","webpack:///./node_modules/core-js/modules/es.string.starts-with.js","webpack:///./node_modules/core-js/internals/task.js","webpack:///./node_modules/core-js/internals/engine-v8-version.js","webpack:///./node_modules/vuetify/lib/components/VSnackbar/VSnackbar.js","webpack:///./node_modules/sax/lib/sax.js","webpack:///./node_modules/vuetify/lib/mixins/registrable/index.js","webpack:///./node_modules/core-js/internals/engine-user-agent.js","webpack:///./node_modules/core-js/internals/get-iterator-method.js","webpack:///./node_modules/url/util.js","webpack:///./node_modules/core-js/internals/object-define-properties.js","webpack:///./node_modules/core-util-is/lib/util.js","webpack:///./node_modules/xmlbuilder/lib/XMLDTDElement.js","webpack:///./node_modules/core-js/internals/a-possible-prototype.js","webpack:///./node_modules/core-js/modules/es.string.iterator.js","webpack:///./node_modules/core-js/internals/iterators.js","webpack:///./node_modules/inherits/inherits_browser.js","webpack:///./node_modules/xml2js/lib/builder.js","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/readable-stream/lib/internal/streams/stream-browser.js","webpack:///./node_modules/node-libs-browser/mock/process.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/add-to-unscopables.js","webpack:///./node_modules/core-js/internals/host-report-errors.js","webpack:///./node_modules/core-js/internals/is-regexp.js","webpack:///./node_modules/xmlbuilder/lib/Utility.js","webpack:///./node_modules/readable-stream/lib/internal/streams/destroy.js","webpack:///./node_modules/core-js/internals/species-constructor.js","webpack:///./node_modules/core-js/internals/native-symbol.js","webpack:///./node_modules/vue-rss-feed/src/VueRssFeed.vue?dc78","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/core-js/internals/array-from.js","webpack:///./node_modules/vuetify/lib/mixins/groupable/index.js","webpack:///./node_modules/vue-clipboard2/vue-clipboard.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/xmlbuilder/lib/XMLRaw.js","webpack:///./node_modules/timers-browserify/main.js","webpack:///./node_modules/core-js/internals/has.js","webpack:///./node_modules/xmlbuilder/lib/XMLDeclaration.js","webpack:///./node_modules/core-js/modules/es.string.replace.js","webpack:///./node_modules/xmlbuilder/lib/XMLCData.js","webpack:///./node_modules/xtend/immutable.js","webpack:///./node_modules/xmlbuilder/lib/XMLDocumentCB.js","webpack:///./node_modules/vuetify/lib/directives/ripple/index.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/xmlbuilder/lib/XMLCharacterData.js","webpack:///./node_modules/core-js/internals/whitespaces.js","webpack:///./node_modules/core-js/internals/string-trim.js","webpack:///./node_modules/vuetify/lib/util/mixins.js","webpack:///./node_modules/core-js/internals/not-a-regexp.js","webpack:///./node_modules/xmlbuilder/lib/XMLStringifier.js","webpack:///./node_modules/xmlbuilder/lib/XMLNamedNodeMap.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/vuetify/lib/components/VList/VList.js","webpack:///./node_modules/vuetify/lib/components/VList/VListItemIcon.js","webpack:///./node_modules/vuetify/lib/mixins/bootable/index.js","webpack:///./node_modules/vuetify/lib/components/VList/VListGroup.js","webpack:///./node_modules/vuetify/lib/mixins/comparable/index.js","webpack:///./node_modules/vuetify/lib/components/VItemGroup/VItemGroup.js","webpack:///./node_modules/vuetify/lib/components/VList/VListItemGroup.js","webpack:///./node_modules/vuetify/lib/components/VList/VListItemAction.js","webpack:///./node_modules/vuetify/lib/components/VAvatar/VAvatar.js","webpack:///./node_modules/vuetify/lib/components/VAvatar/index.js","webpack:///./node_modules/vuetify/lib/components/VList/VListItemAvatar.js","webpack:///./node_modules/vuetify/lib/components/VList/index.js","webpack:///./node_modules/readable-stream/lib/internal/streams/BufferList.js","webpack:///./node_modules/core-js/internals/string-punycode-to-ascii.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/vue-rss-feed/src/VueRssFeed.vue?329f","webpack:///./node_modules/vue-rss-feed/src/components/Feed.vue?2879","webpack:///./node_modules/vue-rss-feed/src/components/Article.vue?c9e5","webpack:///node_modules/vue-rss-feed/src/components/Article.vue","webpack:///./node_modules/vue-rss-feed/src/components/Article.vue?d871","webpack:///./node_modules/vue-rss-feed/src/components/Article.vue","webpack:///node_modules/vue-rss-feed/src/components/Feed.vue","webpack:///./node_modules/vue-rss-feed/src/components/Feed.vue?1bf2","webpack:///./node_modules/vue-rss-feed/src/components/Feed.vue","webpack:///node_modules/vue-rss-feed/src/VueRssFeed.vue","webpack:///./node_modules/vue-rss-feed/src/VueRssFeed.vue?8ed3","webpack:///./node_modules/vue-rss-feed/src/VueRssFeed.vue","webpack:///./node_modules/core-js/internals/object-assign.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/vuetify-loader/lib/runtime/installComponents.js","webpack:///./node_modules/core-js/internals/string-multibyte.js","webpack:///./node_modules/core-js/internals/array-species-create.js","webpack:///./node_modules/clipboard/dist/clipboard.min.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./node_modules/xml2js/lib/bom.js","webpack:///./node_modules/entities/lib/decode_codepoint.js","webpack:///./node_modules/core-js/internals/inherit-if-required.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/xmlbuilder/lib/index.js","webpack:///./node_modules/vuetify/lib/components/VApp/VApp.js","webpack:///./node_modules/vuetify/lib/mixins/themeable/index.js","webpack:///./node_modules/readable-stream/lib/_stream_passthrough.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/core-js/internals/to-object.js","webpack:///./node_modules/vee-validate/dist/vee-validate.esm.js","webpack:///./node_modules/vuetify/lib/util/colorUtils.js","webpack:///./node_modules/core-js/internals/object-create.js","webpack:///./node_modules/core-js/internals/define-iterator.js","webpack:///./node_modules/vuetify/lib/mixins/binds-attrs/index.js","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/vuetify/lib/util/helpers.js","webpack:///./node_modules/xml2js/lib/processors.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/vuetify/lib/components/VSheet/index.js","webpack:///./node_modules/vuetify/lib/components/VProgressCircular/VProgressCircular.js","webpack:///./node_modules/vuetify/lib/components/VProgressCircular/index.js","webpack:///./node_modules/vuetify/lib/components/VBtn/VBtn.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/core-js/internals/create-property.js","webpack:///./node_modules/core-js/modules/es.string.search.js","webpack:///./node_modules/core-js/internals/create-html.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/vuetify/lib/components/VLabel/VLabel.js","webpack:///./node_modules/vuetify/lib/components/VLabel/index.js","webpack:///./node_modules/vuetify/lib/components/VMessages/VMessages.js","webpack:///./node_modules/vuetify/lib/components/VMessages/index.js","webpack:///./node_modules/vuetify/lib/mixins/validatable/index.js","webpack:///./node_modules/vuetify/lib/components/VInput/VInput.js","webpack:///./node_modules/vuetify/lib/components/VInput/index.js","webpack:///./node_modules/vuetify/lib/components/VCounter/VCounter.js","webpack:///./node_modules/vuetify/lib/components/VCounter/index.js","webpack:///./node_modules/vuetify/lib/mixins/intersectable/index.js","webpack:///./node_modules/vuetify/lib/components/VProgressLinear/VProgressLinear.js","webpack:///./node_modules/vuetify/lib/components/VProgressLinear/index.js","webpack:///./node_modules/vuetify/lib/mixins/loadable/index.js","webpack:///./node_modules/vuetify/lib/directives/resize/index.js","webpack:///./node_modules/vuetify/lib/util/dom.js","webpack:///./node_modules/vuetify/lib/components/VTextField/VTextField.js","webpack:///./node_modules/safe-buffer/index.js","webpack:///./node_modules/core-js/internals/inspect-source.js","webpack:///./node_modules/xmlbuilder/lib/XMLComment.js","webpack:///./node_modules/entities/lib/index.js","webpack:///./node_modules/core-js/internals/advance-string-index.js","webpack:///./node_modules/xmlbuilder/lib/XMLDOMConfiguration.js","webpack:///./node_modules/builtin-status-codes/browser.js","webpack:///./node_modules/vuetify/lib/util/color/transformSRGB.js","webpack:///./node_modules/vuetify/lib/components/VSheet/VSheet.js","webpack:///./node_modules/vuetify/lib/directives/intersect/index.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/ieee754/index.js","webpack:///./node_modules/querystring-es3/decode.js","webpack:///./node_modules/stream-http/lib/request.js","webpack:///./node_modules/core-js/internals/regexp-exec.js","webpack:///./node_modules/xmlbuilder/lib/XMLNode.js","webpack:///./node_modules/stream-http/index.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/process-nextick-args/index.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/core-js/modules/web.url-search-params.js","webpack:///./node_modules/core-js/modules/es.string.link.js","webpack:///./node_modules/core-js/modules/es.array.concat.js","webpack:///./node_modules/core-js/internals/get-iterator.js","webpack:///./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/vuetify/lib/components/VIcon/index.js","webpack:///./node_modules/xmlbuilder/lib/XMLText.js","webpack:///./node_modules/core-js/internals/create-iterator-constructor.js","webpack:///./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack:///./node_modules/xmlbuilder/lib/XMLDOMErrorHandler.js","webpack:///./node_modules/entities/lib/decode.js","webpack:///./node_modules/vuetify/lib/mixins/roundable/index.js","webpack:///./node_modules/vuetify/lib/mixins/proxyable/index.js","webpack:///./node_modules/xmlbuilder/lib/XMLWriterBase.js","webpack:///./node_modules/vue-gtag/dist/vue-gtag.esm.js","webpack:///./node_modules/xml2js/lib/defaults.js","webpack:///./node_modules/core-js/internals/to-integer.js","webpack:///./node_modules/core-js/modules/es.promise.finally.js","webpack:///./node_modules/readable-stream/node_modules/safe-buffer/index.js","webpack:///./node_modules/vuetify/lib/mixins/colorable/index.js","webpack:///./node_modules/core-js/modules/es.number.constructor.js","webpack:///./node_modules/stream-http/lib/capability.js","webpack:///./node_modules/node-libs-browser/node_modules/string_decoder/lib/string_decoder.js","webpack:///./node_modules/xml2js/lib/parser.js","webpack:///./node_modules/core-js/internals/correct-is-regexp-logic.js","webpack:///./node_modules/core-js/modules/es.regexp.exec.js","webpack:///./node_modules/core-js/internals/regexp-flags.js","webpack:///./node_modules/readable-stream/lib/_stream_readable.js","webpack:///./node_modules/xmlbuilder/lib/XMLDocument.js","webpack:///./node_modules/core-js/internals/array-method-uses-to-length.js","webpack:///./node_modules/core-js/internals/iterators-core.js","webpack:///./node_modules/core-js/internals/string-html-forced.js","webpack:///./node_modules/vuetify/lib/mixins/sizeable/index.js","webpack:///./node_modules/core-js/internals/object-to-string.js","webpack:///./node_modules/rss-parser/lib/fields.js","webpack:///./node_modules/rss-parser/index.js","webpack:///./node_modules/readable-stream/lib/_stream_duplex.js","webpack:///./node_modules/querystring-es3/index.js","webpack:///./node_modules/core-js/internals/microtask.js","webpack:///./node_modules/core-js/internals/well-known-symbol.js","webpack:///./node_modules/buffer/index.js","webpack:///./node_modules/xmlbuilder/lib/XMLDTDNotation.js","webpack:///./node_modules/util-deprecate/browser.js","webpack:///./node_modules/xmlbuilder/lib/XMLElement.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/readable-stream/passthrough.js","webpack:///./node_modules/xmlbuilder/lib/XMLStreamWriter.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/shared-store.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/stream-http/lib/response.js","webpack:///./node_modules/vuetify/lib/mixins/elevatable/index.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/modules/es.object.assign.js","webpack:///./node_modules/core-js/internals/promise-resolve.js","webpack:///./node_modules/core-js/internals/set-global.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/readable-stream/transform.js","webpack:///./node_modules/xmlbuilder/lib/DocumentPosition.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/internals/object-set-prototype-of.js","webpack:///./node_modules/core-js/modules/es.object.to-string.js","webpack:///./node_modules/core-js/internals/set-to-string-tag.js","webpack:///./node_modules/stream-browserify/index.js","webpack:///./node_modules/rss-parser/lib/utils.js","webpack:///./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack:///./node_modules/xmlbuilder/lib/XMLDocType.js","webpack:///./node_modules/to-arraybuffer/index.js","webpack:///./node_modules/vuetify/lib/util/console.js","webpack:///./node_modules/vuetify/lib/util/mergeData.js","webpack:///./node_modules/vuetify/lib/components/VList/VListItem.js","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/readable-stream/lib/_stream_writable.js","webpack:///./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack:///./node_modules/core-js/internals/object-keys.js","webpack:///./node_modules/path-browserify/index.js","webpack:///./node_modules/querystring-es3/encode.js","webpack:///./node_modules/core-js/internals/object-get-prototype-of.js","webpack:///./node_modules/core-js/internals/correct-prototype-getter.js","webpack:///./node_modules/core-js/modules/es.array.iterator.js","webpack:///./node_modules/core-js/internals/redefine-all.js","webpack:///./node_modules/readable-stream/readable-browser.js","webpack:///./node_modules/isarray/index.js","webpack:///./node_modules/core-js/internals/perform.js","webpack:///./node_modules/core-js/modules/es.promise.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/is-array.js","webpack:///./node_modules/core-js/internals/is-array-iterator-method.js","webpack:///./node_modules/xmlbuilder/lib/XMLProcessingInstruction.js","webpack:///./node_modules/core-js/internals/new-promise-capability.js","webpack:///./node_modules/vuetify/lib/mixins/toggleable/index.js","webpack:///./node_modules/vuetify/lib/install.js","webpack:///./node_modules/vuetify/lib/locale/en.js","webpack:///./node_modules/vuetify/lib/presets/default/index.js","webpack:///./node_modules/vuetify/lib/services/service/index.js","webpack:///./node_modules/vuetify/lib/services/presets/index.js","webpack:///./node_modules/vuetify/lib/services/application/index.js","webpack:///./node_modules/vuetify/lib/services/breakpoint/index.js","webpack:///./node_modules/vuetify/lib/services/goto/easing-patterns.js","webpack:///./node_modules/vuetify/lib/services/goto/util.js","webpack:///./node_modules/vuetify/lib/services/goto/index.js","webpack:///./node_modules/vuetify/lib/services/icons/presets/mdi-svg.js","webpack:///./node_modules/vuetify/lib/services/icons/presets/md.js","webpack:///./node_modules/vuetify/lib/services/icons/presets/mdi.js","webpack:///./node_modules/vuetify/lib/services/icons/presets/fa.js","webpack:///./node_modules/vuetify/lib/services/icons/presets/fa4.js","webpack:///./node_modules/vuetify/lib/services/icons/presets/fa-svg.js","webpack:///./node_modules/vuetify/lib/services/icons/presets/index.js","webpack:///./node_modules/vuetify/lib/services/icons/index.js","webpack:///./node_modules/vuetify/lib/services/lang/index.js","webpack:///./node_modules/vuetify/lib/util/color/transformCIELAB.js","webpack:///./node_modules/vuetify/lib/services/theme/utils.js","webpack:///./node_modules/vuetify/lib/services/theme/index.js","webpack:///./node_modules/vuetify/lib/framework.js","webpack:///./node_modules/core-js/internals/classof.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/rss-parser/lib/parser.js","webpack:///./node_modules/events/events.js","webpack:///./node_modules/core-js/modules/es.array.slice.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/dom-iterables.js","webpack:///./node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///./node_modules/vuetify/lib/mixins/positionable/index.js","webpack:///./node_modules/core-js/internals/native-promise-constructor.js"],"names":["wellKnownSymbol","TO_STRING_TAG","test","module","exports","String","aFunction","fn","that","length","undefined","call","a","b","c","apply","arguments","XMLNodeList","nodes","this","Object","defineProperty","prototype","get","clone","item","index","__importDefault","mod","__esModule","value","escape","encodeHTML","encodeXML","xml_json_1","inverseXML","getInverseObj","default","xmlReplacer","getInverseReplacer","getInverse","entities_json_1","inverseHTML","htmlReplacer","obj","keys","sort","reduce","inverse","name","single","multiple","_i","_a","k","push","start","end","charCodeAt","count","splice","unshift","join","RegExp","reNonASCII","singleCharReplacer","codePointAt","toString","toUpperCase","re","data","replace","reXmlChars","Element","Attribute","Text","CData","EntityReference","EntityDeclaration","ProcessingInstruction","Comment","Document","DocType","DocumentFragment","NotationDeclaration","Declaration","Raw","AttributeDeclaration","ElementDeclaration","Dummy","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPrimitive","has","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","getOwnPropertyDescriptor","f","O","P","error","mergeTransitions","dest","transitions","Array","concat","createSimpleTransition","origin","mode","functional","props","group","type","Boolean","hideOnLeave","leaveAbsolute","h","context","tag","on","el","style","transformOrigin","webkitTransformOrigin","leave","offsetTop","offsetLeft","offsetWidth","offsetHeight","_transitionInitialStyles","position","top","left","width","height","afterLeave","setProperty","mergeData","children","createJavascriptTransition","functions","sizeProperty","x","offsetProperty","_parent","parentNode","_initialStyle","transition","overflow","initialStyle","offset","expandedParentClass","classList","add","requestAnimationFrame","afterEnter","resetStyles","enterCancelled","leaveCancelled","remove","size","VFadeTransition","VSlideXTransition","VExpandTransition","builder","defaults","parser","processors","extend","child","parent","key","hasProp","ctor","constructor","__super__","hasOwnProperty","ValidationError","superClass","message","Error","Builder","Parser","parseString","parseStringPromise","None","OpenTag","InsideTag","CloseTag","XMLDOMImplementation","hasFeature","feature","version","createDocumentType","qualifiedName","publicId","systemId","createDocument","namespaceURI","doctype","createHTMLDocument","title","getFeature","punycode","util","Url","protocol","slashes","auth","host","port","hostname","hash","search","query","pathname","path","href","parse","urlParse","resolve","urlResolve","resolveObject","urlResolveObject","format","urlFormat","protocolPattern","portPattern","simplePathPattern","delims","unwise","autoEscape","nonHostChars","hostEndingChars","hostnameMaxLen","hostnamePartPattern","hostnamePartStart","unsafeProtocol","hostlessProtocol","slashedProtocol","querystring","url","parseQueryString","slashesDenoteHost","isObject","u","isString","source","relative","TypeError","queryIndex","indexOf","splitter","uSplit","split","slashRegex","rest","trim","simplePath","exec","substr","proto","lowerProto","toLowerCase","match","atSign","hostEnd","i","hec","lastIndexOf","slice","decodeURIComponent","parseHost","ipv6Hostname","hostparts","l","part","newpart","j","validParts","notHost","bit","toASCII","p","ae","esc","encodeURIComponent","qm","s","stringify","charAt","rel","result","tkeys","tk","tkey","rkeys","rk","rkey","v","relPath","shift","isSourceAbs","isRelAbs","mustEndAbs","removeAllDots","srcPath","psychotic","pop","isNullOrUndefined","authInHost","isNull","last","hasTrailingSlash","up","isAbsolute","fails","createElement","IS_PURE","ITERATOR","URL","searchParams","forEach","toJSON","URLSearchParams","username","NodeType","XMLNode","XMLDummy","create","options","fixRegExpWellKnownSymbolLogic","isRegExp","anObject","requireObjectCoercible","speciesConstructor","advanceStringIndex","toLength","callRegExpExec","regexpExec","arrayPush","min","Math","MAX_UINT32","SUPPORTS_Y","SPLIT","nativeSplit","maybeCallNative","internalSplit","separator","limit","string","lim","lastIndex","lastLength","output","flags","ignoreCase","multiline","unicode","sticky","lastLastIndex","separatorCopy","regexp","res","done","rx","S","C","unicodeMatching","q","A","e","z","is","y","SIZE_MAP","isFontAwesome5","iconType","some","val","includes","isSvgPath","icon","VIcon","dense","disabled","right","Number","required","computed","listeners$","click","methods","iconName","$slots","text","sizes","xSmall","small","medium","large","xLarge","explicitSize","find","staticClass","class","hasClickListener","attrs","attrs$","fontSize","getSize","wrapperData","getDefaultData","applyColors","themeClasses","setTextColor","color","newChildren","delimiterIndex","isMaterialIcon","svgData","xmlns","viewBox","role","getSvgWrapperData","d","component","nativeOn","getIcon","renderSvgIcon","renderFontIcon","renderSvgIconComponent","$_wrapperFor","domProps","textContent","innerHTML","classof","R","XMLDTDEntity","pe","debugInfo","pubID","sysID","internal","dtdPubID","dtdSysID","nData","dtdNData","dtdEntityValue","writer","dtdEntity","filterOptions","XMLDTDAttList","elementName","attributeName","attributeType","defaultValueType","defaultValue","dtdAttType","dtdAttDefault","dtdAttList","root","nodeType","freeGlobal","global","window","self","maxInt","base","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexPunycode","regexNonASCII","regexSeparators","errors","baseMinusTMin","floor","stringFromCharCode","fromCharCode","RangeError","map","array","mapDomain","parts","labels","encoded","ucs2decode","extra","counter","ucs2encode","basicToDigit","codePoint","digitToBasic","digit","flag","adapt","delta","numPoints","firstTime","decode","input","out","basic","oldi","w","t","baseMinusT","inputLength","n","bias","encode","handledCPCount","basicLength","m","currentValue","handledCPCountPlusOne","qMinusT","toUnicode","it","Constructor","getBuiltIn","XMLDOMStringList","arr","contains","str","SAFE_CLOSING","called","iteratorWithReturn","next","from","SKIP_CLOSING","ITERATION_SUPPORT","object","directives","Ripple","activeClass","append","exact","exactPath","exactActiveClass","link","to","nuxt","ripple","target","isActive","proxyClass","classes","isClickable","isLink","$listeners","$attrs","tabindex","styles","watch","$route","onRouteChange","computedRipple","ref","assign","$refs","$nextTick","toggle","userAgent","asyncGeneratorStep","gen","reject","_next","_throw","arg","info","Promise","then","_asyncToGenerator","args","err","V8_VERSION","SPECIES","METHOD_NAME","foo","XMLWriterBase","XMLStringWriter","document","doc","len","r","writeChildNode","pretty","newline","byteLength","toByteArray","fromByteArray","lookup","revLookup","Arr","Uint8Array","code","getLens","b64","validLen","placeHoldersLen","lens","_byteLength","tmp","curByte","tripletToBase64","num","encodeChunk","uint8","extraBytes","maxChunkLength","len2","isArrayIteratorMethod","bind","getIteratorMethod","callWithSafeIterationClosing","Result","stopped","iterate","iterable","AS_ENTRIES","IS_ITERATOR","iterator","iterFn","step","boundFunction","stop","XMLAttribute","attValue","isId","schemaTypeInfo","set","attribute","isEqualNode","node","prefix","localName","toInteger","max","integer","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","FORCED","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","noTargetGet","forced","sham","internalObjectKeys","enumBugKeys","hiddenKeys","getOwnPropertyNames","maxHeight","maxWidth","minHeight","minWidth","http","https","validateParams","params","request","cb","TO_STRING","RegExpPrototype","nativeToString","NOT_GENERIC","INCORRECT_NAME","rf","unsafe","definePropertyModule","CONSTRUCTOR_NAME","configurable","Transform","Duplex","afterTransform","er","ts","_transformState","transforming","writecb","emit","writechunk","rs","_readableState","reading","needReadable","highWaterMark","_read","needTransform","writeencoding","sync","transform","_transform","flush","_flush","prefinish","_this","stream","_writableState","inherits","chunk","encoding","_write","_destroy","_this2","err2","normalizeComponent","scriptExports","render","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","_scopeId","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","existing","beforeCreate","emptyObject","freeze","isUndef","isDef","isTrue","isFalse","isPrimitive","_toString","isPlainObject","isValidArrayIndex","parseFloat","isFinite","isPromise","catch","isArray","JSON","toNumber","isNaN","makeMap","expectsLowerCase","list","isReservedAttribute","hasOwn","cached","cache","hit","camelizeRE","camelize","_","capitalize","hyphenateRE","hyphenate","polyfillBind","ctx","boundFn","_length","nativeBind","Function","toArray","ret","_from","toObject","noop","no","identity","looseEqual","isObjectA","isObjectB","isArrayA","isArrayB","every","Date","getTime","keysA","keysB","looseIndexOf","once","SSR_ATTR","ASSET_TYPES","LIFECYCLE_HOOKS","config","optionMergeStrategies","silent","productionTip","devtools","performance","errorHandler","warnHandler","ignoredElements","keyCodes","isReservedTag","isReservedAttr","isUnknownElement","getTagNamespace","parsePlatformTagName","mustUseProp","async","_lifecycleHooks","unicodeRegExp","isReserved","def","enumerable","writable","bailRE","parsePath","segments","_isServer","hasProto","inBrowser","inWeex","WXEnvironment","platform","weexPlatform","UA","navigator","isIE","isIE9","isEdge","isIOS","isFF","nativeWatch","supportsPassive","opts","addEventListener","isServerRendering","env","VUE_ENV","__VUE_DEVTOOLS_GLOBAL_HOOK__","isNative","Ctor","_Set","hasSymbol","Symbol","Reflect","ownKeys","Set","clear","warn","uid","Dep","id","subs","addSub","sub","removeSub","depend","addDep","notify","update","targetStack","pushTarget","popTarget","VNode","elm","componentOptions","asyncFactory","ns","fnContext","fnOptions","fnScopeId","componentInstance","raw","isStatic","isRootInsert","isComment","isCloned","isOnce","asyncMeta","isAsyncPlaceholder","prototypeAccessors","defineProperties","createEmptyVNode","createTextVNode","cloneVNode","vnode","cloned","arrayProto","arrayMethods","methodsToPatch","method","original","inserted","ob","__ob__","observeArray","dep","arrayKeys","shouldObserve","toggleObserving","Observer","vmCount","protoAugment","copyAugment","walk","src","__proto__","observe","asRootData","isExtensible","_isVue","defineReactive$$1","customSetter","shallow","property","getter","setter","childOb","dependArray","newVal","del","items","strats","toVal","fromVal","mergeDataOrFn","parentVal","childVal","vm","instanceData","defaultData","mergeHook","dedupeHooks","hooks","mergeAssets","key$1","inject","provide","defaultStrat","normalizeProps","normalizeInject","normalized","normalizeDirectives","dirs","def$$1","mergeOptions","_base","extends","mixins","mergeField","strat","resolveAsset","warnMissing","assets","camelizedId","PascalCaseId","validateProp","propOptions","propsData","prop","absent","booleanIndex","getTypeIndex","stringIndex","getPropDefaultValue","prevShouldObserve","_props","getType","isSameType","expectedTypes","handleError","cur","$parent","errorCaptured","capture","globalHandleError","invokeWithErrorHandling","handler","_handled","logError","console","timerFunc","isUsingMicroTask","callbacks","pending","flushCallbacks","copies","setTimeout","MutationObserver","setImmediate","observer","textNode","createTextNode","characterData","nextTick","_resolve","seenObjects","traverse","_traverse","seen","isA","isFrozen","depId","normalizeEvent","passive","once$$1","createFnInvoker","fns","invoker","arguments$1","updateListeners","oldOn","remove$$1","createOnceHandler","old","event","mergeVNodeHook","hookKey","oldHook","wrappedHook","merged","extractPropsFromVNodeData","altKey","checkProp","preserve","simpleNormalizeChildren","normalizeChildren","normalizeArrayChildren","isTextNode","nestedIndex","_isVList","initProvide","_provided","initInjections","resolveInject","provideKey","provideDefault","resolveSlots","slots","slot","name$1","isWhitespace","normalizeScopedSlots","normalSlots","prevSlots","hasNormalSlots","isStable","$stable","$key","_normalized","$hasNormal","normalizeScopedSlot","key$2","proxyNormalSlot","proxy","renderList","renderSlot","fallback","bindObject","scopedSlotFn","$scopedSlots","$createElement","resolveFilter","isKeyNotMatch","expect","actual","checkKeyCodes","eventKeyCode","builtInKeyCode","eventKeyName","builtInKeyName","mappedKeyCode","bindObjectProps","asProp","isSync","loop","camelizedKey","hyphenatedKey","$event","renderStatic","isInFor","_staticTrees","tree","_renderProxy","markStatic","markOnce","markStaticNode","bindObjectListeners","ours","resolveScopedSlots","hasDynamicKeys","contentHashKey","bindDynamicKeys","baseObj","values","prependModifier","symbol","installRenderHelpers","_o","_n","_s","_l","_t","_q","_m","_f","_k","_b","_v","_e","_u","_g","_d","_p","FunctionalRenderContext","contextVm","this$1","_original","isCompiled","needNormalization","listeners","injections","scopedSlots","_c","createFunctionalComponent","mergeProps","renderContext","cloneAndMarkFunctionalResult","vnodes","componentVNodeHooks","init","hydrating","_isDestroyed","keepAlive","mountedNode","prepatch","createComponentInstanceForVnode","activeInstance","$mount","oldVnode","updateChildComponent","insert","_isMounted","callHook","queueActivatedComponent","activateChildComponent","destroy","deactivateChildComponent","$destroy","hooksToMerge","createComponent","baseCtor","cid","resolveAsyncComponent","createAsyncPlaceholder","resolveConstructorOptions","model","transformModel","abstract","installComponentHooks","_isComponent","_parentVnode","inlineTemplate","toMerge","_merged","mergeHook$1","f1","f2","callback","SIMPLE_NORMALIZE","ALWAYS_NORMALIZE","normalizationType","alwaysNormalize","_createElement","pre","applyNS","registerDeepBindings","force","initRender","_vnode","parentVnode","_renderChildren","parentData","_parentListeners","currentRenderingInstance","renderMixin","Vue","_render","ensureCtor","comp","toStringTag","factory","errorComp","resolved","owner","owners","loading","loadingComp","timerLoading","timerTimeout","$on","forceRender","renderCompleted","$forceUpdate","clearTimeout","reason","delay","timeout","getFirstComponentChild","initEvents","_events","_hasHookEvent","updateComponentListeners","remove$1","$off","_target","onceHandler","oldListeners","eventsMixin","hookRE","$once","i$1","cbs","$emit","setActiveInstance","prevActiveInstance","initLifecycle","$children","_watcher","_inactive","_directInactive","_isBeingDestroyed","lifecycleMixin","_update","prevEl","$el","prevVnode","restoreActiveInstance","__patch__","__vue__","teardown","_watchers","_data","mountComponent","updateComponent","Watcher","before","renderChildren","newScopedSlots","oldScopedSlots","hasDynamicScopedSlot","needsForceUpdate","propKeys","_propKeys","isInInactiveTree","direct","handlers","queue","activatedChildren","waiting","flushing","resetSchedulerState","currentFlushTimestamp","getNow","now","createEvent","timeStamp","flushSchedulerQueue","watcher","run","activatedQueue","updatedQueue","callActivatedHooks","callUpdatedHooks","queueWatcher","uid$2","expOrFn","isRenderWatcher","deep","user","lazy","active","dirty","deps","newDeps","depIds","newDepIds","expression","cleanupDeps","oldValue","evaluate","sharedPropertyDefinition","sourceKey","initState","initProps","initMethods","initData","initComputed","initWatch","propsOptions","isRoot","getData","computedWatcherOptions","watchers","_computedWatchers","isSSR","userDef","defineComputed","shouldCache","createComputedGetter","createGetterInvoker","createWatcher","$watch","stateMixin","dataDef","propsDef","$set","$delete","immediate","uid$3","initMixin","_init","_uid","initInternalComponent","_self","vnodeComponentOptions","_componentTag","super","superOptions","cachedSuperOptions","modifiedOptions","resolveModifiedOptions","extendOptions","components","modified","latest","sealed","sealedOptions","initUse","use","plugin","installedPlugins","_installedPlugins","install","initMixin$1","mixin","initExtend","Super","SuperId","cachedCtors","_Ctor","Sub","initProps$1","initComputed$1","Comp","initAssetRegisters","definition","getComponentName","matches","pattern","pruneCache","keepAliveInstance","filter","cachedNode","pruneCacheEntry","current","cached$$1","patternTypes","KeepAlive","include","exclude","created","destroyed","mounted","ref$1","parseInt","builtInComponents","initGlobalAPI","configDef","defineReactive","delete","observable","acceptValue","attr","isEnumeratedAttr","isValidContentEditableValue","convertEnumeratedValue","isFalsyAttrValue","isBooleanAttr","xlinkNS","isXlink","getXlinkProp","genClassForVnode","childNode","mergeClassData","renderClass","dynamicClass","stringifyClass","stringifyArray","stringifyObject","stringified","namespaceMap","svg","math","isHTMLTag","isSVG","unknownElementCache","HTMLUnknownElement","HTMLElement","isTextInputType","selected","querySelector","createElement$1","tagName","setAttribute","createElementNS","namespace","createComment","insertBefore","newNode","referenceNode","removeChild","appendChild","nextSibling","setTextContent","setStyleScope","nodeOps","registerRef","isRemoval","refs","refInFor","emptyNode","sameVnode","sameInputType","typeA","typeB","createKeyToOldIdx","beginIdx","endIdx","createPatchFunction","backend","modules","emptyNodeAt","createRmCb","childElm","removeNode","createElm","insertedVnodeQueue","parentElm","refElm","nested","ownerArray","setScope","createChildren","invokeCreateHooks","isReactivated","initComponent","reactivateComponent","pendingInsert","isPatchable","innerNode","activate","ref$$1","ancestor","addVnodes","startIdx","invokeDestroyHook","removeVnodes","ch","removeAndInvokeRemoveHook","rm","updateChildren","oldCh","newCh","removeOnly","oldKeyToIdx","idxInOld","vnodeToMove","oldStartIdx","newStartIdx","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","canMove","patchVnode","findIdxInOld","hydrate","postpatch","invokeInsertHook","initial","isRenderedModule","inVPre","hasChildNodes","childrenMatch","firstChild","fullInvoke","isInitialPatch","isRealElement","hasAttribute","removeAttribute","oldElm","_leaveCb","patchable","i$2","updateDirectives","oldDir","dir","isCreate","isDestroy","oldDirs","normalizeDirectives$1","newDirs","dirsWithInsert","dirsWithPostpatch","oldArg","callHook$1","componentUpdated","callInsert","emptyModifiers","modifiers","getRawDirName","rawName","baseModules","updateAttrs","inheritAttrs","oldAttrs","setAttr","removeAttributeNS","baseSetAttr","setAttributeNS","__ieph","blocker","stopImmediatePropagation","removeEventListener","updateClass","oldData","cls","transitionClass","_transitionClasses","_prevClass","target$1","klass","RANGE_TOKEN","CHECKBOX_RADIO_TOKEN","normalizeEvents","change","createOnceHandler$1","remove$2","useMicrotaskFix","add$1","attachedTimestamp","_wrapper","currentTarget","ownerDocument","updateDOMListeners","svgContainer","events","updateDOMProps","oldProps","childNodes","_value","strCur","shouldUpdateValue","checkVal","composing","isNotInFocusAndDirty","isDirtyWithModifiers","notInFocus","activeElement","_vModifiers","number","parseStyleText","cssText","listDelimiter","propertyDelimiter","normalizeStyleData","normalizeStyleBinding","staticStyle","bindingStyle","getStyle","checkChild","styleData","emptyStyle","cssVarRE","importantRE","setProp","normalizedName","normalize","vendorNames","capName","updateStyle","oldStaticStyle","oldStyleBinding","normalizedStyle","oldStyle","newStyle","whitespaceRE","addClass","getAttribute","removeClass","tar","resolveTransition","css","autoCssTransition","enterClass","enterToClass","enterActiveClass","leaveClass","leaveToClass","leaveActiveClass","hasTransition","TRANSITION","ANIMATION","transitionProp","transitionEndEvent","animationProp","animationEndEvent","ontransitionend","onwebkittransitionend","onanimationend","onwebkitanimationend","raf","nextFrame","addTransitionClass","transitionClasses","removeTransitionClass","whenTransitionEnds","expectedType","getTransitionInfo","propCount","ended","onEnd","transformRE","getComputedStyle","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","durations","toMs","enter","toggleDisplay","cancelled","_enterCb","appearClass","appearToClass","appearActiveClass","beforeEnter","beforeAppear","appear","afterAppear","appearCancelled","duration","transitionNode","isAppear","startClass","toClass","beforeEnterHook","enterHook","afterEnterHook","enterCancelledHook","explicitEnterDuration","expectsCSS","userWantsControl","getHookArgumentsLength","show","pendingNode","_pending","isValidDuration","beforeLeave","delayLeave","explicitLeaveDuration","performLeave","invokerFns","_enter","platformModules","patch","vmodel","trigger","directive","binding","_vOptions","setSelected","getValue","onCompositionStart","onCompositionEnd","prevOptions","curOptions","o","needReset","hasNoMatchingOption","actuallySetSelected","isMultiple","option","selectedIndex","initEvent","dispatchEvent","locateNode","transition$$1","originalDisplay","__vOriginalDisplay","display","unbind","platformDirectives","transitionProps","getRealChild","compOptions","extractTransitionData","placeholder","rawChild","hasParentTransition","isSameChild","oldChild","isNotTextNode","isVShowDirective","Transition","_leaving","oldRawChild","delayedLeave","moveClass","TransitionGroup","beforeMount","kept","prevChildren","rawChildren","transitionData","removed","c$1","pos","getBoundingClientRect","updated","hasMove","callPendingCbs","recordPosition","applyTranslation","_reflow","body","moved","WebkitTransform","transitionDuration","_moveCb","propertyName","_hasMove","cloneNode","newPos","oldPos","dx","dy","platformComponents","EOF","$","USE_NATIVE_URL","anInstance","arrayFrom","codeAt","setToStringTag","URLSearchParamsModule","InternalStateModule","NativeURL","getInternalSearchParamsState","getState","setInternalState","getInternalURLState","getterFor","pow","INVALID_AUTHORITY","INVALID_SCHEME","INVALID_HOST","INVALID_PORT","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","codePoints","parseIPv6","isSpecial","parseIPv4","percentEncode","C0ControlPercentEncodeSet","partsLength","numbers","radix","ipv4","numbersSeen","ipv4Piece","swaps","swap","address","pieceIndex","compress","pointer","char","findLongestZeroSequence","ipv6","maxIndex","maxLength","currStart","currLength","serializeHost","ignore0","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","specialSchemes","ftp","file","ws","wss","scheme","includesCredentials","password","cannotHaveUsernamePasswordPort","cannotBeABaseURL","isWindowsDriveLetter","second","startsWithWindowsDriveLetter","third","shortenURLsPath","pathSize","isSingleDot","segment","isDoubleDot","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","parseURL","stateOverride","bufferCodePoints","failure","state","buffer","seenAt","seenBracket","seenPasswordToken","fragment","encodedCodePoints","URLConstructor","baseState","urlString","searchParamsState","updateSearchParams","updateURL","serializeURL","getOrigin","getProtocol","getUsername","getPassword","getHost","getHostname","getPort","getPathname","getSearch","getSearchParams","getHash","URLPrototype","accessorDescriptor","nativeCreateObjectURL","createObjectURL","nativeRevokeObjectURL","revokeObjectURL","blob","notARegExp","correctIsRegExpLogic","nativeStartsWith","startsWith","CORRECT_IS_REGEXP_LOGIC","MDN_POLYFILL_BUG","searchString","defer","channel","html","IS_IOS","location","clearImmediate","process","MessageChannel","Dispatch","ONREADYSTATECHANGE","runner","listener","post","postMessage","port2","port1","onmessage","importScripts","versions","v8","app","centered","contentClass","multiLine","validator","vertical","activeTimeout","absolute","bottom","hasBackground","outlined","light","isDark","bar","footer","insetFooter","$vuetify","application","paddingBottom","paddingLeft","paddingRight","paddingTop","setColor","setBackgroundColor","pointerenter","pointerleave","genContent","genActions","genWrapper","genTransition","sax","strict","opt","SAXParser","SAXStream","createStream","MAX_BUFFER_LENGTH","Stream","buffers","clearBuffers","bufferCheckPosition","lowercase","lowercasetags","looseCase","tags","closed","closedRoot","sawRoot","noscript","BEGIN","strictEntities","ENTITIES","XML_ENTITIES","attribList","rootNS","trackPosition","line","column","checkBufferLength","maxAllowed","maxActual","closeText","emitNode","cdata","script","flushBuffers","EVENTS","F","newf","write","resume","close","ex","streamWraps","ev","_parser","readable","me","onend","onerror","_decoder","removeAllListeners","Buffer","isBuffer","SD","StringDecoder","CDATA","DOCTYPE","XML_NAMESPACE","XMLNS_NAMESPACE","xml","nameStart","nameBody","entityStart","entityBody","isQuote","isAttribEnd","isMatch","regex","notMatch","STATE","BEGIN_WHITESPACE","TEXT","TEXT_ENTITY","OPEN_WAKA","SGML_DECL","SGML_DECL_QUOTED","DOCTYPE_QUOTED","DOCTYPE_DTD","DOCTYPE_DTD_QUOTED","COMMENT_STARTING","COMMENT","COMMENT_ENDING","COMMENT_ENDED","CDATA_ENDING","CDATA_ENDING_2","PROC_INST","PROC_INST_BODY","PROC_INST_ENDING","OPEN_TAG","OPEN_TAG_SLASH","ATTRIB","ATTRIB_NAME","ATTRIB_NAME_SAW_WHITE","ATTRIB_VALUE","ATTRIB_VALUE_QUOTED","ATTRIB_VALUE_CLOSED","ATTRIB_VALUE_UNQUOTED","ATTRIB_VALUE_ENTITY_Q","ATTRIB_VALUE_ENTITY_U","CLOSE_TAG","CLOSE_TAG_SAW_WHITE","SCRIPT","SCRIPT_ENDING","textopts","strictFail","newTag","attributes","qname","qualName","local","attrib","attribName","attribValue","qn","openTag","selfClosing","uri","nv","isSelfClosing","closeTag","closeTo","parseEntity","entity","entityLC","numStr","fromCodePoint","beginWhiteSpace","startTagPosition","starti","substring","sgmlDecl","procInstName","procInstBody","pad","comment","returnState","highSurrogate","lowSurrogate","MAX_SIZE","codeUnits","generateWarning","defaultImpl","register","unregister","Iterators","objectKeys","Properties","objectToString","isBoolean","isNumber","isSymbol","isUndefined","isDate","isError","isFunction","XMLDTDElement","dtdElementValue","dtdElement","defineIterator","STRING_ITERATOR","getInternalState","iterated","point","superCtor","super_","TempCtor","escapeCDATA","requiresCDATA","wrapCDATA","entry","buildObject","rootObj","attrkey","charkey","rootElement","rootName","element","txt","ele","att","xmldec","headless","allowSurrogateChars","renderOpts","EventEmitter","arch","execPath","pid","browser","argv","cwd","chdir","exit","kill","umask","dlopen","uptime","memoryUsage","uvCounters","features","propertyIsEnumerable","UNSCOPABLES","ArrayPrototype","MATCH","isEmpty","sources","getPrototypeOf","valueOf","pna","readableDestroyed","writableDestroyed","errorEmitted","emitErrorNT","undestroy","endEmitted","ending","finished","defaultConstructor","getOwnPropertySymbols","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","fromIndex","createProperty","arrayLike","argumentsLength","mapfn","mapping","iteratorMethod","preventDefault","Clipboard","VueClipboardConfig","autoSetContainer","appendToBody","VueClipboard","$clipboardConfig","$copyText","container","fakeElement","clipboard","action","_vClipboard_success","_vClipboard_error","_vClipboard","argument","XMLRaw","Timeout","clearFn","_id","_clearFn","scope","setInterval","clearInterval","unref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","_onTimeout","XMLDeclaration","standalone","xmlVersion","xmlEncoding","xmlStandalone","declaration","regExpExec","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","maybeToString","REPLACE","nativeReplace","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","REPLACE_KEEPS_$0","UNSAFE_SUBSTITUTE","searchValue","replaceValue","replacer","functionalReplace","fullUnicode","results","matchStr","accumulatedResult","nextSourcePosition","matched","captures","namedCaptures","groups","replacerArgs","replacement","getSubstitution","tailPos","symbols","XMLCharacterData","XMLCData","WriterState","XMLComment","XMLDTDNotation","XMLDocType","XMLDocument","XMLElement","XMLProcessingInstruction","XMLStringifier","XMLText","XMLDocumentCB","onData","writerOptions","onDataCallback","onEndCallback","currentNode","currentLevel","openTags","documentStarted","documentCompleted","createChildNode","attName","ref1","ref2","attribs","dummy","instruction","openCurrent","oldValidationFlag","noValidation","keepNullAttributes","insTarget","insValue","processingInstruction","rootNodeName","attList","pEntity","notation","dtdNotation","closeNode","openNode","isOpen","indent","endline","isClosed","level","nod","dat","com","ins","dec","dtd","ent","pent","not","DELAY_RIPPLE","webkitTransform","isTouchEvent","isKeyboardEvent","calculate","localX","localY","touches","clientX","clientY","radius","scale","_ripple","circle","clientWidth","center","sqrt","clientHeight","centerX","centerY","ripples","enabled","animation","className","dataset","previousPosition","activated","getElementsByClassName","isHiding","diff","isRippleEnabled","rippleShow","touched","rippleStop","isTouch","showTimerCommit","showTimer","rippleHide","hide","rippleCancelShow","keyboardRipple","keyboardRippleShow","keyCode","space","keyboardRippleHide","focusRippleHide","updateRipple","wasEnabled","removeListeners","store","copyright","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","substringData","appendData","insertData","deleteData","replaceData","whitespaces","whitespace","ltrim","rtrim","TYPE","assertLegalName","assertLegalChar","textEscape","attEscape","convertAttKey","convertPIKey","convertTextKey","convertCDataKey","convertCommentKey","convertRawKey","ampregex","noDoubleEncoding","XMLNamedNodeMap","getNamedItem","setNamedItem","oldNode","nodeName","removeNamedItem","getNamedItemNS","setNamedItemNS","removeNamedItemNS","bitmap","VSheet","isInList","isInMenu","isInNav","expand","flat","nav","rounded","subheader","threeLine","twoLine","content","findIndex","g","eager","isBooted","hasContent","baseMixins","appendIcon","noAction","prependIcon","subGroup","listClick","matchRoute","VListItemIcon","genIcon","VListItem","inputValue","genPrependIcon","genAppendIcon","showLazyContent","genHeader","genItems","valueComparator","BaseItemGroup","mandatory","internalLazyValue","selectedItem","selectedItems","toggleMethod","internalValue","intern","updateInternalValue","onClick","selectedValues","updateMandatory","updateItem","valueIndex","updateMultiple","updateSingle","reverse","isSame","genData","itemGroup","isInGroup","listItemGroup","filteredChild","roundedClasses","measurableStyles","horizontal","tile","VListItemActionText","VListItemContent","VListItemTitle","VListItemSubtitle","_classCallCheck","instance","copyBuffer","copy","BufferList","head","tail","alloc","allocUnsafe","inspect","custom","OVERFLOW_ERROR","label","registerImmediate","nextHandle","tasksByHandle","currentlyRunningATask","attachTo","installNextTickImplementation","canUsePostMessage","installPostMessageImplementation","installMessageChannelImplementation","installReadyStateChangeImplementation","installSetTimeoutImplementation","task","handle","runIfPresent","postMessageIsAsynchronous","oldOnMessage","messagePrefix","random","onGlobalMessage","attachEvent","documentElement","onreadystatechange","_vm","_h","feedUrl","feed","getArticles","article","getDateTime","round","systemDate","urlObj","isoDate","parseDate","Article","loadMore","fetchData","oldVal","Feed","IndexedObject","nativeAssign","B","alphabet","chr","T","webpackPolyfill","deprecate","paths","CONVERT_TO_STRING","first","originalArray","focus","select","setSelectionRange","getSelection","createRange","selectNodeContents","removeAllRanges","addRange","off","TinyEmitter","nodeList","delegateTarget","querySelectorAll","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","resolveOptions","initSelection","emitter","selectedText","selectFake","selectTarget","removeFake","fakeHandlerCallback","fakeHandler","fakeElem","border","padding","margin","pageYOffset","scrollTop","copyText","execCommand","handleResult","clearSelection","blur","_action","setPrototypeOf","defaultAction","defaultTarget","defaultText","clipboardAction","queryCommandSupported","ReferenceError","listenClick","NATIVE_WEAK_MAP","objectHas","sharedKey","WeakMap","enforce","wmget","wmhas","wmset","metadata","inspectSource","enforceInternalState","TEMPLATE","simple","stripBOM","decode_json_1","decodeCodePoint","Wrapper","NewTarget","NewTargetPrototype","XMLStreamWriter","begin","stringWriter","streamWriter","implementation","writerState","dark","theme","wrapper","rtl","Themeable","themeableProvide","appIsDark","rootIsDark","functionalThemeClasses","PassThrough","isTextInput","isCheckboxOrRadioInput","isDateInput","getDataAttribute","isNaN$1","createFlags","untouched","pristine","valid","invalid","validated","changed","isEqual","lhs","rhs","getScope","form","getForm","getPath","hasPath","previousPath","isValidPath","reducer","parseRule","rule","debounce","wait","token","later","appendRule","rules","normalizeRules","prev","curr","parsedRule","createError","isCallable","func","hasClass","reg","toggleClass","status","ensureArray","isEmptyArray","others","idTemplate","uniqId","newId","predicate","idx","isBuiltInComponent","makeDelayObject","delayConfig","deepParseInt","merge","obj$1","fillRulesFromElement","minLength","timeFormat","parseSelector","selector","collection","defineNonReactive","LOCALE","Dictionary","dictionary","locale","hasLocale","setDateFormat","dateFormat","getDateFormat","getMessage","hasMessage","messages","_getDefaultMessage","getFieldMessage","field","dict","_default","en","setMessage","drivers","currentDriver","DictionaryResolver","_checkDriverName","driver","setDriver","getDriver","ErrorBag","errorBag","vmId","_normalizeError","regenerate","msg","all","filterFn","matchesScope","matchesVM","any","collect","isSingleField","groupErrors","_makeCandidateFilters","isPrimary","isAlt","collected","primary","alt","firstById","_match","firstRule","firstByRule","firstNot","removeById","condition","shouldRemove","matchesRule","matchesName","isLast","DEFAULT_CONFIG","errorBagName","fieldsBagName","classNames","fastExit","aria","validity","useConstraintAttrs","i18n","i18nRootKey","currentConfig","resolveConfig","selfConfig","getConfig","setConfig","newConf","findModel","extractChildren","extractVNodes","candidates","findModelConfig","mergeVNodeListeners","eventName","prevHandler","addNativeNodeListener","addComponentNodeListener","addVNodeListener","getInputEventName","normalizeSlots","createRenderless","Resolver","generate","resolveModel","resolveName","listen","disable","bails","continues","resolveScope","resolveGetter","resolveEvents","resolveDelay","resolveRules","persist","initialValue","resolveInitialValue","getCtorConfig","globalDelay","watchable","boundGetter","els","checked","checkbox","files","RULES","RuleContainer","staticAccessors","validate","paramNames","isImmediate","isRequireRule","computesRequired","isTargetRule","hasTarget","ruleName","getParamNames","getOptions","getValidatorMethod","isEvent","evt","Event","srcElement","evts","detectPassiveSupport","DEFAULT_OPTIONS","targetOf","Field","forceRequired","_cacheId","_delay","ctorConfig","prototypeAccessors$1","isRequired","isDisabled","alias","rejectsFalse","$validator","_alias","_bails","matchesComponentId","_veeValidateId","waitFor","pendingPromise","_waitingFor","isWaitingFor","promise","updateDependencies","addActionListeners","resetFlag","addValueListeners","updateClasses","updateAriaAttrs","reset","_cancellationToken","updateCustomValidity","setFlags","negated","dependencies","fields","unwatch","isReset","applyClasses","onBlur","inputEvent","onInput","blurEvent","checkValueChanged","_determineInputEvent","_determineEventList","defaultInputEvent","_resolveField","watchCtxVm","debouncedFn","_addComponentEventListener","_addHTMLEventListener","addListener","applyAriaAttrs","setCustomValidity","FieldBag","itemsById","prototypeAccessors$2","matcher","findById","mapper","ScopedValidator","_paused","prototypeAccessors$3","acc","localize","attach","attachOpts","pause","detach","verify","validateAll","validateScopes","VALIDATOR","getValidator","setValidator","requestsValidator","$__veeInject","$_veeValidate","requested","beforeDestroy","findField","fieldOptions","Validator","validations","pluginContainer","_createFields","paused","$vee","prototypeAccessors$4","staticAccessors$1","hasChanged","_guardExtend","mergedOpts","_merge","lang","fieldOpts","oldFieldMatcher","oldField","_validate","fieldDescriptor","_handleFieldNotFound","validationPromise","_handleValidationResults","providedValues","targetRules","targetKey","ruleMap","failedRules","_getDateFormat","date_format","_formatErrorMessage","targetName","_getFieldDisplayName","_getLocalizedParams","_convertParamObjectToArray","paramName","localizedName","_convertParamArrayToObj","hasKeys","_test","allValid","_createFieldError","fieldScope","fieldName","fullName","matchers","allErrors","_shouldSkip","_shouldBail","requireRules","ruleOptions","promises","isExitEarly","normalizeValue","normalizeFormat","I18nDictionary","rootKey","prototypeAccessors$5","getDateTimeFormat","setDateTimeFormat","dataOptions","te","fallbackLocale","localeKey","mergeLocaleMessage","pendingPlugins","pluginInstance","aggressive","modes","VeeValidate$1","_Vue","configure","_validator","_initVM","_initI18n","prototypeAccessors$6","i18nDriver","staticAccessors$2","setI18nDriver","cfg","setMode","Rules","onLocaleChanged","formatFileSize","units","threshold","log","toFixed","isDefinedGlobally","VeeValidate","after","inclusion","alpha","alpha_dash","alpha_num","alpha_spaces","between","confirmed","credit_card","date_between","decimal","decimals","digits","dimensions","email","excluded","ext","image","included","ip","ip_or_fqdn","max_value","mimes","min_value","numeric","required_if","dirtyNumber","NaN","ceil","MILLISECONDS_IN_MINUTE","getTimezoneOffsetInMilliseconds","dirtyDate","date","baseTimezoneOffset","getTimezoneOffset","setSeconds","millisecondsPartOfTimezoneOffset","MILLISECONDS_IN_HOUR","MILLISECONDS_IN_MINUTE$1","DEFAULT_ADDITIONAL_DIGITS","patterns","dateTimeDelimeter","plainTime","timeZoneDelimeter","YY","YYY","YYYY","YYYYY","MM","DDD","MMDD","Www","WwwD","HH","HHMM","HHMMSS","timezone","timezoneZ","timezoneHH","timezoneHHMM","toDate","dirtyOptions","additionalDigits","dateStrings","splitDateString","parseYearResult","parseYear","year","restDateString","timestamp","time","parseTime","parseTimezone","dateString","timeString","patternYYY","patternYYYYY","yearString","centuryString","month","week","setUTCFullYear","validateDate","dayOfYear","validateDayOfYearDate","day","validateWeekDate","dayOfISOWeekYear","dayOfWeek","hours","minutes","validateTime","seconds","timezoneString","absoluteOffset","validateTimezone","isoWeekYear","fourthOfJanuaryDay","getUTCDay","setUTCDate","getUTCDate","DAYS_IN_MONTH","DAYS_IN_MONTH_LEAP_YEAR","isLeapYearIndex","isLeapYear","addMilliseconds","dirtyAmount","amount","isValid","formatDistanceLocale","lessThanXSeconds","one","other","xSeconds","halfAMinute","lessThanXMinutes","xMinutes","aboutXHours","xHours","xDays","aboutXMonths","xMonths","aboutXYears","xYears","overXYears","almostXYears","formatDistance","addSuffix","comparison","buildFormatLongFn","defaultWidth","formats","dateFormats","full","long","short","timeFormats","dateTimeFormats","formatLong","dateTime","formatRelativeLocale","lastWeek","yesterday","today","tomorrow","nextWeek","formatRelative","baseDate","buildLocalizeFn","dirtyIndex","valuesArray","formattingValues","defaultFormattingWidth","argumentCallback","eraValues","narrow","abbreviated","wide","quarterValues","monthValues","dayValues","dayPeriodValues","am","pm","midnight","noon","morning","afternoon","evening","night","formattingDayPeriodValues","ordinalNumber","rem100","era","quarter","dayPeriod","defaulFormattingWidth","buildMatchPatternFn","dirtyString","matchResult","matchPattern","matchedString","parseResult","parsePattern","valueCallback","buildMatchFn","matchPatterns","defaultMatchWidth","parsePatterns","defaultParseWidth","findKey","matchOrdinalNumberPattern","parseOrdinalNumberPattern","matchEraPatterns","parseEraPatterns","matchQuarterPatterns","parseQuarterPatterns","matchMonthPatterns","parseMonthPatterns","matchDayPatterns","parseDayPatterns","matchDayPeriodPatterns","parseDayPeriodPatterns","locale$1","weekStartsOn","firstWeekContainsDate","MILLISECONDS_IN_DAY","getUTCDayOfYear","setUTCMonth","setUTCHours","startOfYearTimestamp","difference","startOfUTCISOWeek","getUTCISOWeekYear","getUTCFullYear","fourthOfJanuaryOfNextYear","startOfNextYear","fourthOfJanuaryOfThisYear","startOfThisYear","startOfUTCISOWeekYear","fourthOfJanuary","MILLISECONDS_IN_WEEK","getUTCISOWeek","startOfUTCWeek","localeWeekStartsOn","defaultWeekStartsOn","getUTCWeekYear","localeFirstWeekContainsDate","defaultFirstWeekContainsDate","firstWeekOfNextYear","firstWeekOfThisYear","startOfUTCWeekYear","firstWeek","MILLISECONDS_IN_WEEK$1","getUTCWeek","dayPeriodEnum","formatters","G","signedYear","twoDigitYear","addLeadingZeros","unit","Y","signedWeekYear","weekYear","Q","getUTCMonth","M","L","I","isoWeek","dayOfMonth","D","E","localDayOfWeek","isoDayOfWeek","getUTCHours","dayPeriodEnumValue","H","K","getUTCMinutes","getUTCSeconds","numberOfDigits","milliseconds","getUTCMilliseconds","fractionalSeconds","X","originalDate","_originalDate","timezoneOffset","formatTimezoneWithOptionalMinutes","formatTimezone","formatTimezoneShort","targetLength","sign","abs","dirtyDelimeter","delimeter","absOffset","dateLongFormatter","timeLongFormatter","dateTimeLongFormatter","dateTimeFormat","datePattern","timePattern","longFormatters","subMilliseconds","protectedTokens","isProtectedToken","throwProtectedError","formattingTokensRegExp","longFormattingTokensRegExp","escapedStringRegExp","doubleQuoteRegExp","dirtyFormatStr","formatStr","utcDate","formatterOptions","firstCharacter","longFormatter","cleanEscapedString","formatter","awareOfUnicodeTokens","isAfter","dirtyDateToCompare","dateToCompare","isBefore","isEqual$1","dirtyLeftDate","dirtyRightDate","dateLeft","dateRight","setUTCDay","dirtyDay","currentDay","remainder","dayIndex","setUTCWeek","dirtyWeek","setUTCISODay","setUTCISOWeek","dirtyISOWeek","MILLISECONDS_IN_HOUR$1","MILLISECONDS_IN_MINUTE$2","MILLISECONDS_IN_SECOND","numericPatterns","hour23h","hour24h","hour11h","hour12h","minute","singleDigit","twoDigits","threeDigits","fourDigits","anyDigitsSigned","singleDigitSigned","twoDigitsSigned","threeDigitsSigned","fourDigitsSigned","timezonePatterns","basicOptionalMinutes","basicOptionalSeconds","extended","extendedOptionalSeconds","parseNumericPattern","parseTimezonePattern","parseAnyDigitsSigned","parseNDigits","parseNDigitsSigned","dayPeriodEnumToHours","enumValue","normalizeTwoDigitYear","currentYear","isCommonEra","absCurrentYear","rangeEnd","rangeEndCentury","isPreviousCentury","DAYS_IN_MONTH$1","DAYS_IN_MONTH_LEAP_YEAR$1","isLeapYearIndex$1","parsers","priority","isTwoDigitYear","normalizedTwoDigitYear","firstWeekOfYear","wholeWeekDays","isPM","setUTCMinutes","setUTCSeconds","setUTCMilliseconds","TIMEZONE_UNIT_PRIORITY","formattingTokensRegExp$1","escapedStringRegExp$1","doubleQuoteRegExp$1","notWhitespaceRegExp","dirtyDateString","dirtyFormatString","dirtyBaseDate","formatString","subFnOptions","setters","dateToSystemTimezone","tokens","cleanEscapedString$1","uniquePrioritySetters","setterArray","convertedDate","setFullYear","setHours","parseDate$1","format$1","parsed","afterValidator","targetValue","cs","da","de","es","fa","fr","lt","nl","hu","pl","pt","ru","sk","sr","sv","tr","uk","ar","az","alphaSpaces","alphanumeric","alphaDash","loc","paramNames$1","alpha$1","validate$1","paramNames$2","validate$2","paramNames$3","validate$3","paramNames$4","validate$4","options$1","paramNames$5","validate$5","paramNames$6","validate$6","options$2","paramNames$7","unwrapExports","createCommonjsModule","assertString_1","_typeof","assertString","invalidType","isCreditCard_1","isCreditCard","_assertString","_interopRequireDefault","creditCard","sanitized","tmpNum","shouldDouble","sum","validate$7","validate$8","inclusivity","minDate","maxDate","dateVal","options$3","paramNames$8","validate$9","options$4","paramNames$9","validate$a","regexPart","parsedValue","paramNames$a","validate$b","strVal","imageRegex","validateImage","webkitURL","Image","onload","validate$c","images","merge_1","isByteLength_1","isByteLength","encodeURI","isFQDN_1","isFQDN","default_fqdn_options","require_tld","allow_underscores","allow_trailing_dot","tld","isIP_1","isIP","ipv4Maybe","ipv6Block","blocks","foundOmissionBlock","foundIPv4TransitionBlock","expectedNumberOfBlocks","isEmail_1","isEmail","_isByteLength","_isFQDN","_isIP","default_email_options","allow_display_name","require_display_name","allow_utf8_local_part","displayName","emailUserPart","gmailUserPart","quotedEmailUser","emailUserUtf8Part","quotedEmailUserUtf8","display_email","domain","lower_domain","domain_specific_validation","_user_parts","allow_ip_domain","endsWith","noBracketdomain","user_parts","objectWithoutProperties","validate$d","emailStr","validatorOptions","validate$e","validate$f","validate$g","extensions","validate$h","validate$i","validate$j","paramNames$b","validate$k","validate$l","validate$m","is_not","compare","validate$n","validate$o","validate$p","validate$q","validate$r","validate$s","validate$t","testValue","strValue","validate$u","paramNames$c","validate$v","invalidateFalse","validate$w","otherFieldVal","possibleVals","options$5","validate$x","nSize","isURL_1","isURL","default_url_options","protocols","require_protocol","require_host","require_valid_protocol","allow_protocol_relative_urls","wrapped_ipv6","checkHost","port_str","disallow_auth","ipv6_match","host_whitelist","host_blacklist","validate$y","combine","mapScope","isScope","mapFields","PROVIDER_COUNTER","ValidationProvider","$_veeObserver","createObserver","vid","slim","_needsValidation","initialized","isDeactivated","fieldDeps","depName","watchCrossFieldDep","normalizedEvents","computeModeSetting","_inputEventName","names","registerField","createValidationCtx","addListeners","unsubscribe","subscribe","deactivated","syncValue","normalizeValue$1","_pendingValidation","validateSilent","applyResult","createValuesLookup","updateRenderingContextRefs","shouldValidate","_ignoreImmediate","compute","onRenderUpdate","validateNow","createCommonHandlers","onValidate","$veeHandler","$veeDebounce","providers","withHooks","_veeWatchers","flagMergingStrategy","mergeFlags","strategy","stratName","OBSERVER_COUNTER","ValidationObserver","observers","persistedStore","thenable","success","provider","errs","obsErrors","subscriber","kind","restoreProviderState","removeProvider","obs","withValidation","ctxToProps","hoc","vctx","isCssColor","colorToInt","rgb","intToHex","hexColor","repeat","colorToHex","activeXDocument","documentCreateElement","GT","LT","PROTOTYPE","IE_PROTO","EmptyConstructor","scriptTag","NullProtoObjectViaActiveX","temp","parentWindow","NullProtoObjectViaIFrame","iframeDocument","iframe","JS","contentWindow","open","NullProtoObject","ActiveXObject","createIteratorConstructor","IteratorsCore","IteratorPrototype","BUGGY_SAFARI_ITERATORS","KEYS","VALUES","ENTRIES","returnThis","Iterable","NAME","IteratorConstructor","DEFAULT","IS_SET","CurrentIteratorPrototype","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","makeWatcher","$data","createSimpleFunctional","passiveSupported","testListenerOpts","getNestedValue","deepEqual","getObjectValueByPath","filterObjectOnKeys","filtered","convertToUnit","kebabCase","tab","down","home","backspace","pageup","pagedown","remapInternalIcon","icons","iconPath","override","upperFirst","wrapInArray","getSlot","optional","kebabName","clamp","padEnd","chunked","mergeDeep","prefixMatch","firstCharLowerCase","stripPrefix","parseNumbers","parseBooleans","intersect","button","indeterminate","rotate","isVisible","PI","circumference","normalizedValue","viewBoxSize","calculatedSize","fill","cx","cy","strokeWidth","strokeDashArray","genCircle","strokeDashOffset","svgStyles","isIntersecting","onObserve","genSvg","genInfo","btnToggle","block","depressed","fab","plain","retainFocusOnClick","isElevated","fixed","hasBg","isRound","groupClasses","elevationClasses","sizeableClasses","computedElevation","defaultRipple","elevation","breakingProps","detail","genLoader","generateRouteLink","propertyKey","sameValue","SEARCH","nativeSearch","searcher","previousLastIndex","quot","p1","focused","for","newData","genMessage","genChildren","errorCount","errorMessages","readonly","successMessages","validateOnBlur","errorBucket","hasColor","hasFocused","hasInput","isFocused","isResetting","lazyValue","internalErrorMessages","internalSuccessMessages","validationTarget","hasSuccess","hasError","genInternalMessages","isReadonly","externalError","computedColor","internalMessages","backgroundColor","hideDetails","hideSpinButtons","hint","persistentHint","hasMouseDown","hasState","showDetails","isLabelActive","isDirty","messagesToDisplay","hasMessages","$_modelEvent","hasHint","validation","validationResult","hasDetails","genPrependSlot","genControl","genAppendSlot","genInputSlot","genMessages","genLabel","extraData","hasListener","prepend","prependInner","appendOuter","validationState","stopPropagation","mouseup","mousedown","onMouseDown","onMouseUp","genDefaultSlot","hasLabel","computedId","genSlot","isGreater","intersectable","onVisible","backgroundOpacity","bufferValue","striped","backgroundStyle","computedTransition","__cachedBarType","__cachedIndeterminate","__cachedDeterminate","genProgressBar","normalizedBuffer","opacity","isReversed","reactive","offsetX","genListeners","__cachedStream","__cachedBackground","__cachedBuffer","__cachedBar","loaderHeight","_onResize","quiet","Resize","attachedRoot","getRootNode","composed","dirtyTypes","resize","appendOuterIcon","autofocus","clearable","clearIcon","counterValue","filled","fullWidth","prependInnerIcon","persistentPlaceholder","shaped","singleLine","solo","soloInverted","suffix","badInput","labelWidth","prefixWidth","prependWidth","isClearing","isSingle","isSolo","isEnclosed","hasCounter","labelValue","setLabelWidth","setPrefixWidth","tryAutofocus","onResize","onFocus","genPrependInnerSlot","clearableCallback","maxlength","computedCounterValue","genFieldset","genTextFieldSlot","genClearIcon","genIconSlot","genProgress","genLegend","showLabel","labelPosition","span","inputAttrs","keydown","onKeyDown","messagesNode","counterNode","genCounter","genAffix","genInput","scrollWidth","setPrependWidth","copyProps","dst","SafeBuffer","encodingOrOffset","allocUnsafeSlow","buf","SlowBuffer","functionToString","decodeStrict","decode_1","encode_1","decodeXML","decodeHTML","decodeHTMLStrict","encode_2","decode_2","XMLDOMErrorHandler","XMLDOMConfiguration","defaultParams","getParameter","canSetParameter","setParameter","srgbForwardMatrix","srgbForwardTransform","srgbReverseMatrix","srgbReverseTransform","fromXYZ","xyz","matrix","toXYZ","IntersectionObserver","_observe","unobserve","Intersect","postfix","read","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","Infinity","rt","LN2","qs","sep","eq","maxKeys","kstr","vstr","xs","response","toArrayBuffer","IncomingMessage","rStates","readyStates","decideMode","preferBinary","useFetch","capability","fetch","mozchunkedarraybuffer","msstream","arraybuffer","vbArray","ClientRequest","Writable","_opts","_body","_headers","setHeader","headers","abortController","overrideMimeType","_mode","_fetchTimer","_onFinish","statusValid","xhr","lowerName","unsafeHeaders","getHeader","header","removeHeader","_destroyed","headersObj","blobConstructor","Blob","headersList","keyName","signal","controller","AbortController","_fetchAbortController","requestTimeout","abort","credentials","withCredentials","_fetchResponse","_connect","_xhr","XMLHttpRequest","responseType","ontimeout","setRequestHeader","_response","readyState","LOADING","DONE","_onXHRProgress","onprogress","send","flushHeaders","setNoDelay","setSocketKeepAlive","regexpFlags","stickyHelpers","nativeExec","patchedExec","UPDATES_LAST_INDEX_WRONG","re1","re2","UNSUPPORTED_Y","BROKEN_CARET","NPCG_INCLUDED","PATCH","reCopy","charsAdded","strCopy","DocumentPosition","parent1","baseURI","childNodeList","setParent","lastChild","len1","ref3","ignoreDecorators","separateArrayItems","keepNullNodes","newChild","refChild","insertAfter","commentBefore","commentAfter","instructionBefore","instructionAfter","rootObject","importDocument","clonedRoot","importXMLBuilder","replaceChild","isSupported","hasAttributes","compareDocumentPosition","Disconnected","ImplementationSpecific","Preceding","Following","isAncestor","Contains","isDescendant","isPreceding","isSameNode","lookupPrefix","isDefaultNamespace","lookupNamespaceURI","setUserData","getUserData","isDescendantChild","nodePos","thisPos","treePosition","isFollowing","found","foreachTreeNode","statusCodes","defaultProtocol","req","Agent","defaultMaxSockets","globalAgent","STATUS_CODES","METHODS","detection","POLYFILL","NATIVE","arg1","arg2","arg3","runtime","Op","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","define","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","makeInvokeMethod","tryCatch","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","record","__await","unwrapped","previousPromise","enqueue","callInvokeWithMethodAndArg","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","isGeneratorFunction","genFun","mark","awrap","iter","skipTempReset","rootEntry","rootRecord","rval","exception","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","redefineAll","getIterator","$fetch","Headers","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","getInternalIteratorState","plus","sequences","percentSequence","bytes","percentDecode","sequence","deserialize","serialize","parseSearchParams","validateArgumentsLength","passed","URLSearchParamsIterator","URLSearchParamsConstructor","entryIterator","entryNext","URLSearchParamsPrototype","getAll","entriesIndex","sliceIndex","createHTML","forcedStringHTMLMethod","arraySpeciesCreate","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","isConcatSpreadable","spreadable","returnMethod","nativeDefineProperty","Attributes","previousSibling","splitText","replaceWholeText","RE","legacy_json_1","decode_codepoint_1","getStrictDecoder","getReplacer","sorter","secondChar","legacy","composite","Proxyable","filteredOptions","ref4","ref5","ref6","allowEmpty","dontPrettyTextNodes","dontprettytextnodes","spaceBeforeSlash","spacebeforeslash","suppressPrettyCount","indentLevel","openAttribute","closeAttribute","docType","childNodeCount","firstChildNode","prettySuppressed","_defineProperty","enumerableOnly","sym","_objectSpread2","getOwnPropertyDescriptors","loadScript","preconnectOrigin","getElementsByTagName","charset","stack","isFn","_len","_key","_window","_getOptions","globalObjectName","Router","_params","defaultGroupName","send_to","pageview","page_path","page_location","send_page_view","screenview","appName","screen_name","app_name","customMap","custom_map","linker","purchase","refund","optIn","optOut","api","getVue","$gtag","getPageviewTemplate","template","pageTrackerTemplate","pageTrackerScreenviewEnabled","customTemplate","page_title","trackPage","_ref","_ref$to","_ref$from","_ref$params","_getOptions2","pageTrackerSkipSamePath","newParams","startRouter","_getOptions3","onBeforeTrack","onAfterTrack","onReady","afterEach","autotrack","getRouter","_bootstrap","customResourceURL","customPreconnectOrigin","globalDataLayerName","pageTrackerEnabled","disableScriptLoad","isPageTrackerEnabled","resource","library","bootstrap","setOptions","_options","_Router","explicitCharkey","normalizeTags","explicitArray","ignoreAttrs","mergeAttrs","explicitRoot","explicitChildren","childkey","charsAsChildren","includeWhiteChars","attrNameProcessors","attrValueProcessors","tagNameProcessors","valueProcessors","emptyTag","preserveChildrenOrder","chunkSize","NativePromise","promiseResolve","NON_GENERIC","real","onFinally","colorName","colorModifier","inheritIfRequired","NUMBER","NativeNumber","NumberPrototype","BROKEN_CLASSOF","maxCode","NumberWrapper","writableStream","WritableStream","ArrayBuffer","getXHR","XDomainRequest","checkTypeSupport","haveArrayBuffer","haveSlice","VBArray","isEncoding","_normalizeEncoding","enc","retried","normalizeEncoding","nenc","nb","utf16Text","utf16End","fillLast","utf8FillLast","base64Text","base64End","simpleWrite","simpleEnd","lastNeed","lastTotal","lastChar","utf8CheckByte","byte","utf8CheckIncomplete","utf8CheckExtraBytes","utf8Text","total","utf8End","bom","processItem","thing","assignOrPush","processAsync","xmlnskey","remaining","saxParser","error1","errThrown","newValue","ontext","resultObject","EXPLICIT_CHARKEY","onopentag","processedKey","onclosetag","emptyStr","objClone","xpath","charChild","oncdata","dotAll","Readable","ReadableState","EElistenerCount","OurUint8Array","_uint8ArrayToBuffer","_isUint8Array","debugUtil","debug","debuglog","destroyImpl","kProxyEvents","prependListener","isDuplex","objectMode","readableObjectMode","hwm","readableHwm","readableHighWaterMark","defaultHwm","pipes","pipesCount","flowing","emittedReadable","readableListening","resumeScheduled","defaultEncoding","awaitDrain","readingMore","decoder","readableAddChunk","addToFront","skipChunkCheck","onEofChunk","chunkInvalid","addChunk","maybeReadMore","needMoreData","emitReadable","_undestroy","isPaused","setEncoding","MAX_HWM","computeNewHighWaterMark","howMuchToRead","emitReadable_","flow","maybeReadMore_","pipeOnDrain","nReadingNextTick","resume_","fromList","fromListPartial","hasStrings","copyFromBufferString","copyFromBuffer","endReadable","endReadableNT","nOrig","doRead","pipe","pipeOpts","doEnd","stdout","stderr","endFn","unpipe","onunpipe","unpipeInfo","hasUnpiped","cleanup","ondrain","cleanedUp","removeListener","onclose","onfinish","ondata","needDrain","increasedAwaitDrain","dests","_fromList","documentURI","domConfig","createDocumentFragment","createCDATASection","createProcessingInstruction","createAttribute","createEntityReference","tagname","importNode","importedNode","createAttributeNS","getElementsByTagNameNS","getElementById","elementId","adoptNode","normalizeDocument","renameNode","eventInterface","createNodeIterator","whatToShow","createTreeWalker","thrower","ACCESSORS","argument0","argument1","PrototypeOfArrayIteratorPrototype","arrayIterator","TO_STRING_TAG_SUPPORT","includeSnippet","mapItunesField","podcastFeed","podcastItem","allowHalfOpen","onEndNT","macrotask","WebKitMutationObserver","IS_NODE","queueMicrotaskDescriptor","queueMicrotask","shared","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","base64","ieee754","typedArraySupport","subarray","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","fromArrayBuffer","fromString","fromObject","assertSize","fromArrayLike","byteOffset","isnan","isView","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","bidirectionalIndexOf","arrayIndexOf","indexSize","arrLength","valLength","readUInt16BE","foundIndex","hexWrite","strLen","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","bytesPerSequence","decodeCodePointsArray","INSPECT_MAX_BYTES","poolSize","_augment","species","_isBuffer","swap16","swap32","swap64","equals","thisStart","thisEnd","thisCopy","targetCopy","_arr","MAX_ARGUMENTS_LENGTH","toHex","checkOffset","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","base64clean","stringtrim","leadSurrogate","byteArray","hi","lo","warned","deprecated","trace","localStorage","documentObject","attributeMap","clonedSelf","clonedChild","getAttributeNode","setAttributeNode","newAttr","removeAttributeNode","oldAttr","getAttributeNS","getAttributeNodeNS","setAttributeNodeNS","hasAttributeNS","setIdAttribute","setIdAttributeNS","setIdAttributeNode","idAttr","PREFERRED_STRING","isLastRootNode","SHARED","UNSENT","OPENED","HEADERS_RECEIVED","fetchTimer","rawHeaders","trailers","rawTrailers","statusCode","statusMessage","statusText","_resumeFetch","pipeTo","reader","getReader","_pos","responseURL","getAllResponseHeaders","_charset","mimeType","charsetMatch","responseBody","responseText","MSStreamReader","readAsArrayBuffer","EXISTS","newPromiseCapability","promiseCapability","variable","ContainedBy","nativePropertyIsEnumerable","NASHORN_BUG","1","V","aPossiblePrototype","CORRECT_SETTER","TAG","EE","_isStdio","didOnEnd","listenerCount","utils","entities","xml2js","stripHtml","getSnippet","getLink","links","fallbackIdx","getContent","copyFromXML","keepArray","maybePromisify","DEFAULT_ENCODING","ENCODING_REGEX","SUPPORTED_ENCODINGS","ENCODING_ALIASES","getEncodingFromContentType","contentType","REPLACE_SUPPORTS_NAMED_GROUPS","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","nativeMethod","forceStringMethod","stringMethod","regexMethod","arrayCopy","createMessage","$_alreadyWarned","generateComponentTrace","consoleWarn","newMessage","consoleError","breaking","classifyRE","classify","formatComponentName","includeFile","__file","currentRecursiveSequence","styleList","styleProp","parseStyle","styleMap","mergeTarget","mergeClasses","mergeStyles","mergeListeners","inactive","selectable","genAttrs","check","globalThis","CorkedRequest","onCorkedFinish","asyncWrite","WritableState","internalUtil","realHasInstance","nop","writableObjectMode","writableHwm","writableHighWaterMark","finalCalled","noDecode","decodeStrings","writing","corked","bufferProcessing","onwrite","writelen","bufferedRequest","lastBufferedRequest","pendingcb","prefinished","bufferedRequestCount","corkedRequestsFree","writev","_writev","final","_final","writeAfterEnd","validChunk","decodeChunk","writeOrBuffer","isBuf","newChunk","doWrite","onwriteError","finishMaybe","onwriteStateUpdate","needFinish","clearBuffer","afterWrite","onwriteDrain","holder","allBuffers","callFinal","need","endWritable","corkReq","getBuffer","hasInstance","cork","uncork","setDefaultEncoding","DOMIterables","ArrayIteratorMethods","ArrayValues","COLLECTION_NAME","Collection","CollectionPrototype","normalizeArray","allowAboveRoot","basename","matchedSlash","resolvedPath","resolvedAbsolute","trailingSlash","fromParts","toParts","samePartsLength","outputParts","dirname","hasRoot","extname","startDot","startPart","preDotState","stringifyPrimitive","ks","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","addToUnscopables","ARRAY_ITERATOR","Arguments","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","setSpecies","checkCorrectnessOfIteration","microtask","hostReportErrors","newPromiseCapabilityModule","perform","PROMISE","getInternalPromiseState","PromiseConstructor","newGenericPromiseCapability","DISPATCH_EVENT","UNHANDLED_REJECTION","REJECTION_HANDLED","PENDING","FULFILLED","REJECTED","HANDLED","UNHANDLED","GLOBAL_CORE_JS_PROMISE","PromiseRejectionEvent","FakePromise","INCORRECT_ITERATION","isThenable","isReject","notified","chain","reactions","ok","exited","reaction","fail","rejection","onHandleUnhandled","onUnhandled","IS_UNHANDLED","isUnhandled","unwrap","internalReject","internalResolve","executor","onFulfilled","onRejected","$promiseResolve","alreadyCalled","race","getOwnPropertyDescriptorModule","PromiseCapability","$$resolve","$$reject","Toggleable","installed","registerComponents","$_vuetify_subcomponents","$_vuetify_installed","vuetify","$ssrContext","framework","isHydrating","breakpoint","badge","dataIterator","noResultsText","loadingText","dataTable","itemsPerPageText","ariaLabel","sortDescending","sortAscending","sortNone","activateNone","activateDescending","activateAscending","sortBy","dataFooter","itemsPerPageAll","nextPage","prevPage","firstPage","lastPage","pageText","datePicker","itemsSelected","nextMonthAriaLabel","nextYearAriaLabel","prevMonthAriaLabel","prevYearAriaLabel","noDataText","carousel","calendar","moreEvents","prependAction","appendAction","fileInput","counterSize","timePicker","pagination","previous","page","currentPage","rating","mobileBreakpoint","scrollBarWidth","thresholds","sm","md","lg","iconfont","locales","cspNonce","customProperties","minifyTheme","themeCache","variations","themes","secondary","accent","warning","Service","parentPreset","defaultPreset","userPreset","preset","globalPreset","xl","xsOnly","smOnly","smAndDown","smAndUp","mdOnly","mdAndDown","mdAndUp","lgOnly","lgAndDown","lgAndUp","xlOnly","mobile","resizeTimeout","ssr","getClientHeight","getClientWidth","breakpoints","innerWidth","innerHeight","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","getOffset","totalOffset","offsetParent","getContainer","goTo","_settings","settings","scrollingElement","easing","appOffset","isDrawer","isClipped","startTime","targetLocation","startLocation","ease","currentTime","timeElapsed","progress","reachBottom","scrollHeight","cancel","checkboxOn","checkboxOff","checkboxIndeterminate","menu","subgroup","dropdown","radioOn","radioOff","edit","ratingEmpty","ratingFull","ratingHalf","unfold","minus","convertToComponentDeclarations","iconSet","mdiSvg","mdi","fa4","faSvg","presets","LANG_PREFIX","getTranslation","usingDefault","defaultLocale","shortKey","translation","translator","defaultTranslator","currentLocale","cielabForwardTransform","cbrt","cielabReverseTransform","transformedY","lab","Ln","isItem","anchor","variant","colors","parsedTheme","genVariations","genBaseColor","genVariantColor","genColorVariableName","genColorVariable","genStyles","cssVar","variablesCss","aColor","variants","variantValue","lighten","darken","vueMeta","fillVariant","isVueMeta23","applyVueMeta23","checkOrCreateStyleElement","styleEl","oldDark","applyTheme","clearCss","generatedStyles","$meta","initVueMeta","initSSR","initTheme","genStyleElement","defaultTheme","metaKeyName","metaInfo","vuetifyStylesheet","nonce","addApp","currentTheme","service","classofRaw","CORRECT_ARGUMENTS","tryGet","callee","DEFAULT_HEADERS","DEFAULT_MAX_REDIRECTS","DEFAULT_TIMEOUT","customFields","requestOptions","maxRedirects","xmlParser","prom","buildAtomFeed","rss","buildRSS2","buildRSS1","buildRSS0_9","defaultRSS","redirectCount","urlParts","requestOpts","newLocation","xmlObj","lastBuildDate","published","pubDate","toISOString","author","contentSnippet","setISODate","buildRSS","decorateItunes","feedFields","itemFields","xmlItem","enclosure","description","guid","category","categories","itunes","hasImageHref","keywords","keyword","ReflectOwnKeys","ReflectApply","receiver","ProcessEmitWarning","NumberIsNaN","_eventsCount","_maxListeners","defaultMaxListeners","checkListener","_getMaxListeners","_addListener","newListener","onceWrapper","fired","wrapFn","_onceWrap","wrapped","_listeners","evlistener","unwrapListeners","arrayClone","spliceOne","eventListener","errorListener","setMaxListeners","getMaxListeners","doError","prependOnceListener","originalListener","rawListeners","eventNames","arrayMethodUsesToLength","HAS_SPECIES_SUPPORT","USES_TO_LENGTH","0","nativeSlice","fin","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","availableProps"],"mappings":"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","file":"js/chunk-vendors.f8b0ce0d.js","sourcesContent":["var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\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","import mod from \"-!../../../mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../vue-loader/lib/loaders/stylePostLoader.js!../../../postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../cache-loader/dist/cjs.js??ref--0-0!../../../vue-loader/lib/index.js??vue-loader-options!./Feed.vue?vue&type=style&index=0&id=54966044&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../vue-loader/lib/loaders/stylePostLoader.js!../../../postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../cache-loader/dist/cjs.js??ref--0-0!../../../vue-loader/lib/index.js??vue-loader-options!./Feed.vue?vue&type=style&index=0&id=54966044&scoped=true&lang=css&\"","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLNodeList;\n\n module.exports = XMLNodeList = (function() {\n function XMLNodeList(nodes) {\n this.nodes = nodes;\n }\n\n Object.defineProperty(XMLNodeList.prototype, 'length', {\n get: function() {\n return this.nodes.length || 0;\n }\n });\n\n XMLNodeList.prototype.clone = function() {\n return this.nodes = null;\n };\n\n XMLNodeList.prototype.item = function(index) {\n return this.nodes[index] || null;\n };\n\n return XMLNodeList;\n\n })();\n\n}).call(this);\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.escape = exports.encodeHTML = exports.encodeXML = void 0;\nvar xml_json_1 = __importDefault(require(\"./maps/xml.json\"));\nvar inverseXML = getInverseObj(xml_json_1.default);\nvar xmlReplacer = getInverseReplacer(inverseXML);\nexports.encodeXML = getInverse(inverseXML, xmlReplacer);\nvar entities_json_1 = __importDefault(require(\"./maps/entities.json\"));\nvar inverseHTML = getInverseObj(entities_json_1.default);\nvar htmlReplacer = getInverseReplacer(inverseHTML);\nexports.encodeHTML = getInverse(inverseHTML, htmlReplacer);\nfunction getInverseObj(obj) {\n return Object.keys(obj)\n .sort()\n .reduce(function (inverse, name) {\n inverse[obj[name]] = \"&\" + name + \";\";\n return inverse;\n }, {});\n}\nfunction getInverseReplacer(inverse) {\n var single = [];\n var multiple = [];\n for (var _i = 0, _a = Object.keys(inverse); _i < _a.length; _i++) {\n var k = _a[_i];\n if (k.length === 1) {\n // Add value to single array\n single.push(\"\\\\\" + k);\n }\n else {\n // Add value to multiple array\n multiple.push(k);\n }\n }\n // Add ranges to single characters.\n single.sort();\n for (var start = 0; start < single.length - 1; start++) {\n // Find the end of a run of characters\n var end = start;\n while (end < single.length - 1 &&\n single[end].charCodeAt(1) + 1 === single[end + 1].charCodeAt(1)) {\n end += 1;\n }\n var count = 1 + end - start;\n // We want to replace at least three characters\n if (count < 3)\n continue;\n single.splice(start, count, single[start] + \"-\" + single[end]);\n }\n multiple.unshift(\"[\" + single.join(\"\") + \"]\");\n return new RegExp(multiple.join(\"|\"), \"g\");\n}\nvar reNonASCII = /(?:[\\x80-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])/g;\nfunction singleCharReplacer(c) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return \"&#x\" + c.codePointAt(0).toString(16).toUpperCase() + \";\";\n}\nfunction getInverse(inverse, re) {\n return function (data) {\n return data\n .replace(re, function (name) { return inverse[name]; })\n .replace(reNonASCII, singleCharReplacer);\n };\n}\nvar reXmlChars = getInverseReplacer(inverseXML);\nfunction escape(data) {\n return data\n .replace(reXmlChars, singleCharReplacer)\n .replace(reNonASCII, singleCharReplacer);\n}\nexports.escape = escape;\n","// Generated by CoffeeScript 1.12.7\n(function() {\n module.exports = {\n Element: 1,\n Attribute: 2,\n Text: 3,\n CData: 4,\n EntityReference: 5,\n EntityDeclaration: 6,\n ProcessingInstruction: 7,\n Comment: 8,\n Document: 9,\n DocType: 10,\n DocumentFragment: 11,\n NotationDeclaration: 12,\n Declaration: 201,\n Raw: 202,\n AttributeDeclaration: 203,\n ElementDeclaration: 204,\n Dummy: 205\n };\n\n}).call(this);\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","import mergeData from '../../util/mergeData';\n\nfunction mergeTransitions(dest = [], ...transitions) {\n /* eslint-disable-next-line no-array-constructor */\n return Array().concat(dest, ...transitions);\n}\n\nexport function createSimpleTransition(name, origin = 'top center 0', mode) {\n return {\n name,\n functional: true,\n props: {\n group: {\n type: Boolean,\n default: false\n },\n hideOnLeave: {\n type: Boolean,\n default: false\n },\n leaveAbsolute: {\n type: Boolean,\n default: false\n },\n mode: {\n type: String,\n default: mode\n },\n origin: {\n type: String,\n default: origin\n }\n },\n\n render(h, context) {\n const tag = `transition${context.props.group ? '-group' : ''}`;\n const data = {\n props: {\n name,\n mode: context.props.mode\n },\n on: {\n beforeEnter(el) {\n el.style.transformOrigin = context.props.origin;\n el.style.webkitTransformOrigin = context.props.origin;\n }\n\n }\n };\n\n if (context.props.leaveAbsolute) {\n data.on.leave = mergeTransitions(data.on.leave, el => {\n const {\n offsetTop,\n offsetLeft,\n offsetWidth,\n offsetHeight\n } = el;\n el._transitionInitialStyles = {\n position: el.style.position,\n top: el.style.top,\n left: el.style.left,\n width: el.style.width,\n height: el.style.height\n };\n el.style.position = 'absolute';\n el.style.top = offsetTop + 'px';\n el.style.left = offsetLeft + 'px';\n el.style.width = offsetWidth + 'px';\n el.style.height = offsetHeight + 'px';\n });\n data.on.afterLeave = mergeTransitions(data.on.afterLeave, el => {\n if (el && el._transitionInitialStyles) {\n const {\n position,\n top,\n left,\n width,\n height\n } = el._transitionInitialStyles;\n delete el._transitionInitialStyles;\n el.style.position = position || '';\n el.style.top = top || '';\n el.style.left = left || '';\n el.style.width = width || '';\n el.style.height = height || '';\n }\n });\n }\n\n if (context.props.hideOnLeave) {\n data.on.leave = mergeTransitions(data.on.leave, el => {\n el.style.setProperty('display', 'none', 'important');\n });\n }\n\n return h(tag, mergeData(context.data, data), context.children);\n }\n\n };\n}\nexport function createJavascriptTransition(name, functions, mode = 'in-out') {\n return {\n name,\n functional: true,\n props: {\n mode: {\n type: String,\n default: mode\n }\n },\n\n render(h, context) {\n return h('transition', mergeData(context.data, {\n props: {\n name\n },\n on: functions\n }), context.children);\n }\n\n };\n}\n//# sourceMappingURL=createTransition.js.map","import { upperFirst } from '../../util/helpers';\nexport default function (expandedParentClass = '', x = false) {\n const sizeProperty = x ? 'width' : 'height';\n const offsetProperty = `offset${upperFirst(sizeProperty)}`;\n return {\n beforeEnter(el) {\n el._parent = el.parentNode;\n el._initialStyle = {\n transition: el.style.transition,\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty]\n };\n },\n\n enter(el) {\n const initialStyle = el._initialStyle;\n el.style.setProperty('transition', 'none', 'important'); // Hide overflow to account for collapsed margins in the calculated height\n\n el.style.overflow = 'hidden';\n const offset = `${el[offsetProperty]}px`;\n el.style[sizeProperty] = '0';\n void el.offsetHeight; // force reflow\n\n el.style.transition = initialStyle.transition;\n\n if (expandedParentClass && el._parent) {\n el._parent.classList.add(expandedParentClass);\n }\n\n requestAnimationFrame(() => {\n el.style[sizeProperty] = offset;\n });\n },\n\n afterEnter: resetStyles,\n enterCancelled: resetStyles,\n\n leave(el) {\n el._initialStyle = {\n transition: '',\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty]\n };\n el.style.overflow = 'hidden';\n el.style[sizeProperty] = `${el[offsetProperty]}px`;\n void el.offsetHeight; // force reflow\n\n requestAnimationFrame(() => el.style[sizeProperty] = '0');\n },\n\n afterLeave,\n leaveCancelled: afterLeave\n };\n\n function afterLeave(el) {\n if (expandedParentClass && el._parent) {\n el._parent.classList.remove(expandedParentClass);\n }\n\n resetStyles(el);\n }\n\n function resetStyles(el) {\n const size = el._initialStyle[sizeProperty];\n el.style.overflow = el._initialStyle.overflow;\n if (size != null) el.style[sizeProperty] = size;\n delete el._initialStyle;\n }\n}\n//# sourceMappingURL=expand-transition.js.map","import { createSimpleTransition, createJavascriptTransition } from './createTransition';\nimport ExpandTransitionGenerator from './expand-transition'; // Component specific transitions\n\nexport const VCarouselTransition = createSimpleTransition('carousel-transition');\nexport const VCarouselReverseTransition = createSimpleTransition('carousel-reverse-transition');\nexport const VTabTransition = createSimpleTransition('tab-transition');\nexport const VTabReverseTransition = createSimpleTransition('tab-reverse-transition');\nexport const VMenuTransition = createSimpleTransition('menu-transition');\nexport const VFabTransition = createSimpleTransition('fab-transition', 'center center', 'out-in'); // Generic transitions\n\nexport const VDialogTransition = createSimpleTransition('dialog-transition');\nexport const VDialogBottomTransition = createSimpleTransition('dialog-bottom-transition');\nexport const VDialogTopTransition = createSimpleTransition('dialog-top-transition');\nexport const VFadeTransition = createSimpleTransition('fade-transition');\nexport const VScaleTransition = createSimpleTransition('scale-transition');\nexport const VScrollXTransition = createSimpleTransition('scroll-x-transition');\nexport const VScrollXReverseTransition = createSimpleTransition('scroll-x-reverse-transition');\nexport const VScrollYTransition = createSimpleTransition('scroll-y-transition');\nexport const VScrollYReverseTransition = createSimpleTransition('scroll-y-reverse-transition');\nexport const VSlideXTransition = createSimpleTransition('slide-x-transition');\nexport const VSlideXReverseTransition = createSimpleTransition('slide-x-reverse-transition');\nexport const VSlideYTransition = createSimpleTransition('slide-y-transition');\nexport const VSlideYReverseTransition = createSimpleTransition('slide-y-reverse-transition'); // Javascript transitions\n\nexport const VExpandTransition = createJavascriptTransition('expand-transition', ExpandTransitionGenerator());\nexport const VExpandXTransition = createJavascriptTransition('expand-x-transition', ExpandTransitionGenerator('', true));\nexport default {\n $_vuetify_subcomponents: {\n VCarouselTransition,\n VCarouselReverseTransition,\n VDialogTransition,\n VDialogBottomTransition,\n VDialogTopTransition,\n VFabTransition,\n VFadeTransition,\n VMenuTransition,\n VScaleTransition,\n VScrollXTransition,\n VScrollXReverseTransition,\n VScrollYTransition,\n VScrollYReverseTransition,\n VSlideXTransition,\n VSlideXReverseTransition,\n VSlideYTransition,\n VSlideYReverseTransition,\n VTabReverseTransition,\n VTabTransition,\n VExpandTransition,\n VExpandXTransition\n }\n};\n//# sourceMappingURL=index.js.map","// Generated by CoffeeScript 1.12.7\n(function() {\n \"use strict\";\n var builder, defaults, parser, processors,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n defaults = require('./defaults');\n\n builder = require('./builder');\n\n parser = require('./parser');\n\n processors = require('./processors');\n\n exports.defaults = defaults.defaults;\n\n exports.processors = processors;\n\n exports.ValidationError = (function(superClass) {\n extend(ValidationError, superClass);\n\n function ValidationError(message) {\n this.message = message;\n }\n\n return ValidationError;\n\n })(Error);\n\n exports.Builder = builder.Builder;\n\n exports.Parser = parser.Parser;\n\n exports.parseString = parser.parseString;\n\n exports.parseStringPromise = parser.parseStringPromise;\n\n}).call(this);\n","module.exports = require('./lib/_stream_duplex.js');\n","// Generated by CoffeeScript 1.12.7\n(function() {\n module.exports = {\n None: 0,\n OpenTag: 1,\n InsideTag: 2,\n CloseTag: 3\n };\n\n}).call(this);\n","module.exports = require('./src/VueRssFeed');\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLDOMImplementation;\n\n module.exports = XMLDOMImplementation = (function() {\n function XMLDOMImplementation() {}\n\n XMLDOMImplementation.prototype.hasFeature = function(feature, version) {\n return true;\n };\n\n XMLDOMImplementation.prototype.createDocumentType = function(qualifiedName, publicId, systemId) {\n throw new Error(\"This DOM method is not implemented.\");\n };\n\n XMLDOMImplementation.prototype.createDocument = function(namespaceURI, qualifiedName, doctype) {\n throw new Error(\"This DOM method is not implemented.\");\n };\n\n XMLDOMImplementation.prototype.createHTMLDocument = function(title) {\n throw new Error(\"This DOM method is not implemented.\");\n };\n\n XMLDOMImplementation.prototype.getFeature = function(feature, version) {\n throw new Error(\"This DOM method is not implemented.\");\n };\n\n return XMLDOMImplementation;\n\n })();\n\n}).call(this);\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar punycode = require('punycode');\nvar util = require('./util');\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\n\nexports.Url = Url;\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.host = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.query = null;\n this.pathname = null;\n this.path = null;\n this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n// define these here so at least they only have to be\n// compiled once on the first module load.\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,\n\n // RFC 2396: characters reserved for delimiting URLs.\n // We actually just auto-escape these.\n delims = ['<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = ['{', '}', '|', '\\\\', '^', '`'].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = ['\\''].concat(unwise),\n // Characters that are never ever allowed in a hostname.\n // Note that any invalid chars are also handled, but these\n // are the ones that are *expected* to be seen, so we fast-path\n // them.\n nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape),\n hostEndingChars = ['/', '?', '#'],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n unsafeProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that never have a hostname.\n hostlessProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n 'http': true,\n 'https': true,\n 'ftp': true,\n 'gopher': true,\n 'file': true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n },\n querystring = require('querystring');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n if (url && util.isObject(url) && url instanceof Url) return url;\n\n var u = new Url;\n u.parse(url, parseQueryString, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {\n if (!util.isString(url)) {\n throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n }\n\n // Copy chrome, IE, opera backslash-handling behavior.\n // Back slashes before the query string get converted to forward slashes\n // See: https://code.google.com/p/chromium/issues/detail?id=25916\n var queryIndex = url.indexOf('?'),\n splitter =\n (queryIndex !== -1 && queryIndex < url.indexOf('#')) ? '?' : '#',\n uSplit = url.split(splitter),\n slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, '/');\n url = uSplit.join(splitter);\n\n var rest = url;\n\n // trim before proceeding.\n // This is to support parse stuff like \" http://foo.com \\n\"\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.path = rest;\n this.href = rest;\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n if (parseQueryString) {\n this.query = querystring.parse(this.search.substr(1));\n } else {\n this.query = this.search.substr(1);\n }\n } else if (parseQueryString) {\n this.search = '';\n this.query = {};\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto;\n rest = rest.substr(proto.length);\n }\n\n // figure out if it's got a host\n // user@server is *always* interpreted as a hostname, and url\n // resolution will treat //foo/bar as host=foo,path=bar because that's\n // how the browser resolves relative URLs.\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)) {\n var slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] &&\n (slashes || (proto && !slashedProtocol[proto]))) {\n\n // there's a hostname.\n // the first instance of /, ?, ;, or # ends the host.\n //\n // If there is an @ in the hostname, then non-host chars *are* allowed\n // to the left of the last @ sign, unless some host-ending character\n // comes *before* the @-sign.\n // URLs are obnoxious.\n //\n // ex:\n // http://a@b@c/ => user:a@b host:c\n // http://a@b?@c => user:a host:c path:/?@c\n\n // v0.12 TODO(isaacs): This is not quite how Chrome does things.\n // Review our test case against browsers more comprehensively.\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (var i = 0; i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n\n // at this point, either we have an explicit point where the\n // auth portion cannot go past, or the last @ char is the decider.\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n // atSign must be in auth portion.\n // http://a@b/c@d => host:b auth:a path:/c@d\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n // Now we have a portion which is definitely the auth.\n // Pull that off.\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = decodeURIComponent(auth);\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (var i = 0; i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1)\n hostEnd = rest.length;\n\n this.host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost();\n\n // we've indicated that there is a hostname,\n // so even if it's empty, it has to be present.\n this.hostname = this.hostname || '';\n\n // if hostname begins with [ and ends with ]\n // assume that it's an IPv6 address.\n var ipv6Hostname = this.hostname[0] === '[' &&\n this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) continue;\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n // we replace non-ASCII char with a temporary placeholder\n // we need this to make sure size of hostname is not\n // broken by replacing non-ASCII by nothing\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = '/' + notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n } else {\n // hostnames are always lower case.\n this.hostname = this.hostname.toLowerCase();\n }\n\n if (!ipv6Hostname) {\n // IDNA Support: Returns a punycoded representation of \"domain\".\n // It only converts parts of the domain name that\n // have non-ASCII characters, i.e. it doesn't matter if\n // you call it with a domain that already is ASCII-only.\n this.hostname = punycode.toASCII(this.hostname);\n }\n\n var p = this.port ? ':' + this.port : '';\n var h = this.hostname || '';\n this.host = h + p;\n this.href += this.host;\n\n // strip [ and ] from the hostname\n // the host field still retains them, though\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n if (rest[0] !== '/') {\n rest = '/' + rest;\n }\n }\n }\n\n // now rest is set to the post-host stuff.\n // chop off any delim chars.\n if (!unsafeProtocol[lowerProto]) {\n\n // First, make 100% sure that any \"autoEscape\" chars get\n // escaped, even if encodeURIComponent doesn't think they\n // need to be.\n for (var i = 0, l = autoEscape.length; i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1)\n continue;\n var esc = encodeURIComponent(ae);\n if (esc === ae) {\n esc = escape(ae);\n }\n rest = rest.split(ae).join(esc);\n }\n }\n\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n this.query = rest.substr(qm + 1);\n if (parseQueryString) {\n this.query = querystring.parse(this.query);\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString) {\n // no query string, but parseQueryString still requested\n this.search = '';\n this.query = {};\n }\n if (rest) this.pathname = rest;\n if (slashedProtocol[lowerProto] &&\n this.hostname && !this.pathname) {\n this.pathname = '/';\n }\n\n //to support http.request\n if (this.pathname || this.search) {\n var p = this.pathname || '';\n var s = this.search || '';\n this.path = p + s;\n }\n\n // finally, reconstruct the href based on what has been validated.\n this.href = this.format();\n return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n // ensure it's an object, and not a string url.\n // If it's an obj, this is a no-op.\n // this way, you can call url_format() on strings\n // to clean up potentially wonky urls.\n if (util.isString(obj)) obj = urlParse(obj);\n if (!(obj instanceof Url)) return Url.prototype.format.call(obj);\n return obj.format();\n}\n\nUrl.prototype.format = function() {\n var auth = this.auth || '';\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, ':');\n auth += '@';\n }\n\n var protocol = this.protocol || '',\n pathname = this.pathname || '',\n hash = this.hash || '',\n host = false,\n query = '';\n\n if (this.host) {\n host = auth + this.host;\n } else if (this.hostname) {\n host = auth + (this.hostname.indexOf(':') === -1 ?\n this.hostname :\n '[' + this.hostname + ']');\n if (this.port) {\n host += ':' + this.port;\n }\n }\n\n if (this.query &&\n util.isObject(this.query) &&\n Object.keys(this.query).length) {\n query = querystring.stringify(this.query);\n }\n\n var search = this.search || (query && ('?' + query)) || '';\n\n if (protocol && protocol.substr(-1) !== ':') protocol += ':';\n\n // only the slashedProtocols get the //. Not mailto:, xmpp:, etc.\n // unless they had them to begin with.\n if (this.slashes ||\n (!protocol || slashedProtocol[protocol]) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname;\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash.charAt(0) !== '#') hash = '#' + hash;\n if (search && search.charAt(0) !== '?') search = '?' + search;\n\n pathname = pathname.replace(/[?#]/g, function(match) {\n return encodeURIComponent(match);\n });\n search = search.replace('#', '%23');\n\n return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function(relative) {\n return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n if (!source) return relative;\n return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function(relative) {\n if (util.isString(relative)) {\n var rel = new Url();\n rel.parse(relative, false, true);\n relative = rel;\n }\n\n var result = new Url();\n var tkeys = Object.keys(this);\n for (var tk = 0; tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n\n // hash is always overridden, no matter what.\n // even href=\"\" will remove it.\n result.hash = relative.hash;\n\n // if the relative url is empty, then there's nothing left to do here.\n if (relative.href === '') {\n result.href = result.format();\n return result;\n }\n\n // hrefs like //foo/bar always cut to the protocol.\n if (relative.slashes && !relative.protocol) {\n // take everything except the protocol from relative\n var rkeys = Object.keys(relative);\n for (var rk = 0; rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== 'protocol')\n result[rkey] = relative[rkey];\n }\n\n //urlParse appends trailing / to urls like http://www.example.com\n if (slashedProtocol[result.protocol] &&\n result.hostname && !result.pathname) {\n result.path = result.pathname = '/';\n }\n\n result.href = result.format();\n return result;\n }\n\n if (relative.protocol && relative.protocol !== result.protocol) {\n // if it's a known url protocol, then changing\n // the protocol does weird things\n // first, if it's not file:, then we MUST have a host,\n // and if there was a path\n // to begin with, then we MUST have a path.\n // if it is file:, then the host is dropped,\n // because that's known to be hostless.\n // anything else is assumed to be absolute.\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0; v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n result.href = result.format();\n return result;\n }\n\n result.protocol = relative.protocol;\n if (!relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || '').split('/');\n while (relPath.length && !(relative.host = relPath.shift()));\n if (!relative.host) relative.host = '';\n if (!relative.hostname) relative.hostname = '';\n if (relPath[0] !== '') relPath.unshift('');\n if (relPath.length < 2) relPath.unshift('');\n result.pathname = relPath.join('/');\n } else {\n result.pathname = relative.pathname;\n }\n result.search = relative.search;\n result.query = relative.query;\n result.host = relative.host || '';\n result.auth = relative.auth;\n result.hostname = relative.hostname || relative.host;\n result.port = relative.port;\n // to support http.request\n if (result.pathname || result.search) {\n var p = result.pathname || '';\n var s = result.search || '';\n result.path = p + s;\n }\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n }\n\n var isSourceAbs = (result.pathname && result.pathname.charAt(0) === '/'),\n isRelAbs = (\n relative.host ||\n relative.pathname && relative.pathname.charAt(0) === '/'\n ),\n mustEndAbs = (isRelAbs || isSourceAbs ||\n (result.host && relative.pathname)),\n removeAllDots = mustEndAbs,\n srcPath = result.pathname && result.pathname.split('/') || [],\n relPath = relative.pathname && relative.pathname.split('/') || [],\n psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n // if the url is a non-slashed url, then relative\n // links like ../.. should be able\n // to crawl up to the hostname, as well. This is strange.\n // result.protocol has already been set by now.\n // Later on, put the first path part into the host field.\n if (psychotic) {\n result.hostname = '';\n result.port = null;\n if (result.host) {\n if (srcPath[0] === '') srcPath[0] = result.host;\n else srcPath.unshift(result.host);\n }\n result.host = '';\n if (relative.protocol) {\n relative.hostname = null;\n relative.port = null;\n if (relative.host) {\n if (relPath[0] === '') relPath[0] = relative.host;\n else relPath.unshift(relative.host);\n }\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n }\n\n if (isRelAbs) {\n // it's absolute.\n result.host = (relative.host || relative.host === '') ?\n relative.host : result.host;\n result.hostname = (relative.hostname || relative.hostname === '') ?\n relative.hostname : result.hostname;\n result.search = relative.search;\n result.query = relative.query;\n srcPath = relPath;\n // fall through to the dot-handling below.\n } else if (relPath.length) {\n // it's relative\n // throw away the existing file, and take the new path instead.\n if (!srcPath) srcPath = [];\n srcPath.pop();\n srcPath = srcPath.concat(relPath);\n result.search = relative.search;\n result.query = relative.query;\n } else if (!util.isNullOrUndefined(relative.search)) {\n // just pull out the search.\n // like href='?foo'.\n // Put this after the other two cases because it simplifies the booleans\n if (psychotic) {\n result.hostname = result.host = srcPath.shift();\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n result.search = relative.search;\n result.query = relative.query;\n //to support http.request\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.href = result.format();\n return result;\n }\n\n if (!srcPath.length) {\n // no path at all. easy.\n // we've already handled the other stuff above.\n result.pathname = null;\n //to support http.request\n if (result.search) {\n result.path = '/' + result.search;\n } else {\n result.path = null;\n }\n result.href = result.format();\n return result;\n }\n\n // if a url ENDs in . or .., then it must get a trailing slash.\n // however, if it ends in anything else non-slashy,\n // then it must NOT get a trailing slash.\n var last = srcPath.slice(-1)[0];\n var hasTrailingSlash = (\n (result.host || relative.host || srcPath.length > 1) &&\n (last === '.' || last === '..') || last === '');\n\n // strip single dots, resolve double dots to parent dir\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = srcPath.length; i >= 0; i--) {\n last = srcPath[i];\n if (last === '.') {\n srcPath.splice(i, 1);\n } else if (last === '..') {\n srcPath.splice(i, 1);\n up++;\n } else if (up) {\n srcPath.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (!mustEndAbs && !removeAllDots) {\n for (; up--; up) {\n srcPath.unshift('..');\n }\n }\n\n if (mustEndAbs && srcPath[0] !== '' &&\n (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n srcPath.unshift('');\n }\n\n if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n srcPath.push('');\n }\n\n var isAbsolute = srcPath[0] === '' ||\n (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n // put the host back\n if (psychotic) {\n result.hostname = result.host = isAbsolute ? '' :\n srcPath.length ? srcPath.shift() : '';\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n\n mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n if (mustEndAbs && !isAbsolute) {\n srcPath.unshift('');\n }\n\n if (!srcPath.length) {\n result.pathname = null;\n result.path = null;\n } else {\n result.pathname = srcPath.join('/');\n }\n\n //to support request.http\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.auth = relative.auth || result.auth;\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n};\n\nUrl.prototype.parseHost = function() {\n var host = this.host;\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) this.hostname = host;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return (IS_PURE && !url.toJSON)\n || !searchParams.sort\n || url.href !== 'http://a/c%20d?a=1&c=3'\n || searchParams.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !searchParams[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('http://тест').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('http://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('http://x', undefined).host !== 'x';\n});\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLDummy, XMLNode,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n module.exports = XMLDummy = (function(superClass) {\n extend(XMLDummy, superClass);\n\n function XMLDummy(parent) {\n XMLDummy.__super__.constructor.call(this, parent);\n this.type = NodeType.Dummy;\n }\n\n XMLDummy.prototype.clone = function() {\n return Object.create(this);\n };\n\n XMLDummy.prototype.toString = function(options) {\n return '';\n };\n\n return XMLDummy;\n\n })(XMLNode);\n\n}).call(this);\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\n\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, 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(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return nativeSplit.call(string, separator, lim);\n }\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 // 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.lastIndex;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // 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 > lim ? output.slice(0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n };\n } else internalSplit = nativeSplit;\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 = requireObjectCoercible(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 !== nativeSplit);\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}, !SUPPORTS_Y);\n","// `SameValue` abstract operation\n// https://tc39.github.io/ecma262/#sec-samevalue\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","import \"../../../src/components/VIcon/VIcon.sass\"; // Mixins\n\nimport BindsAttrs from '../../mixins/binds-attrs';\nimport Colorable from '../../mixins/colorable';\nimport Sizeable from '../../mixins/sizeable';\nimport Themeable from '../../mixins/themeable'; // Util\n\nimport { convertToUnit, keys, remapInternalIcon } from '../../util/helpers'; // Types\n\nimport Vue from 'vue';\nimport mixins from '../../util/mixins';\nvar SIZE_MAP;\n\n(function (SIZE_MAP) {\n SIZE_MAP[\"xSmall\"] = \"12px\";\n SIZE_MAP[\"small\"] = \"16px\";\n SIZE_MAP[\"default\"] = \"24px\";\n SIZE_MAP[\"medium\"] = \"28px\";\n SIZE_MAP[\"large\"] = \"36px\";\n SIZE_MAP[\"xLarge\"] = \"40px\";\n})(SIZE_MAP || (SIZE_MAP = {}));\n\nfunction isFontAwesome5(iconType) {\n return ['fas', 'far', 'fal', 'fab', 'fad', 'fak'].some(val => iconType.includes(val));\n}\n\nfunction isSvgPath(icon) {\n return /^[mzlhvcsqta]\\s*[-+.0-9][^mlhvzcsqta]+/i.test(icon) && /[\\dz]$/i.test(icon) && icon.length > 4;\n}\n\nconst VIcon = mixins(BindsAttrs, Colorable, Sizeable, Themeable\n/* @vue/component */\n).extend({\n name: 'v-icon',\n props: {\n dense: Boolean,\n disabled: Boolean,\n left: Boolean,\n right: Boolean,\n size: [Number, String],\n tag: {\n type: String,\n required: false,\n default: 'i'\n }\n },\n computed: {\n medium() {\n return false;\n },\n\n hasClickListener() {\n return Boolean(this.listeners$.click || this.listeners$['!click']);\n }\n\n },\n methods: {\n getIcon() {\n let iconName = '';\n if (this.$slots.default) iconName = this.$slots.default[0].text.trim();\n return remapInternalIcon(this, iconName);\n },\n\n getSize() {\n const sizes = {\n xSmall: this.xSmall,\n small: this.small,\n medium: this.medium,\n large: this.large,\n xLarge: this.xLarge\n };\n const explicitSize = keys(sizes).find(key => sizes[key]);\n return explicitSize && SIZE_MAP[explicitSize] || convertToUnit(this.size);\n },\n\n // Component data for both font icon and SVG wrapper span\n getDefaultData() {\n return {\n staticClass: 'v-icon notranslate',\n class: {\n 'v-icon--disabled': this.disabled,\n 'v-icon--left': this.left,\n 'v-icon--link': this.hasClickListener,\n 'v-icon--right': this.right,\n 'v-icon--dense': this.dense\n },\n attrs: {\n 'aria-hidden': !this.hasClickListener,\n disabled: this.hasClickListener && this.disabled,\n type: this.hasClickListener ? 'button' : undefined,\n ...this.attrs$\n },\n on: this.listeners$\n };\n },\n\n getSvgWrapperData() {\n const fontSize = this.getSize();\n const wrapperData = { ...this.getDefaultData(),\n style: fontSize ? {\n fontSize,\n height: fontSize,\n width: fontSize\n } : undefined\n };\n this.applyColors(wrapperData);\n return wrapperData;\n },\n\n applyColors(data) {\n data.class = { ...data.class,\n ...this.themeClasses\n };\n this.setTextColor(this.color, data);\n },\n\n renderFontIcon(icon, h) {\n const newChildren = [];\n const data = this.getDefaultData();\n let iconType = 'material-icons'; // Material Icon delimiter is _\n // https://material.io/icons/\n\n const delimiterIndex = icon.indexOf('-');\n const isMaterialIcon = delimiterIndex <= -1;\n\n if (isMaterialIcon) {\n // Material icon uses ligatures.\n newChildren.push(icon);\n } else {\n iconType = icon.slice(0, delimiterIndex);\n if (isFontAwesome5(iconType)) iconType = '';\n }\n\n data.class[iconType] = true;\n data.class[icon] = !isMaterialIcon;\n const fontSize = this.getSize();\n if (fontSize) data.style = {\n fontSize\n };\n this.applyColors(data);\n return h(this.hasClickListener ? 'button' : this.tag, data, newChildren);\n },\n\n renderSvgIcon(icon, h) {\n const svgData = {\n class: 'v-icon__svg',\n attrs: {\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: '0 0 24 24',\n role: 'img',\n 'aria-hidden': true\n }\n };\n const size = this.getSize();\n\n if (size) {\n svgData.style = {\n fontSize: size,\n height: size,\n width: size\n };\n }\n\n return h(this.hasClickListener ? 'button' : 'span', this.getSvgWrapperData(), [h('svg', svgData, [h('path', {\n attrs: {\n d: icon\n }\n })])]);\n },\n\n renderSvgIconComponent(icon, h) {\n const data = {\n class: {\n 'v-icon__component': true\n }\n };\n const size = this.getSize();\n\n if (size) {\n data.style = {\n fontSize: size,\n height: size,\n width: size\n };\n }\n\n this.applyColors(data);\n const component = icon.component;\n data.props = icon.props;\n data.nativeOn = data.on;\n return h(this.hasClickListener ? 'button' : 'span', this.getSvgWrapperData(), [h(component, data)]);\n }\n\n },\n\n render(h) {\n const icon = this.getIcon();\n\n if (typeof icon === 'string') {\n if (isSvgPath(icon)) {\n return this.renderSvgIcon(icon, h);\n }\n\n return this.renderFontIcon(icon, h);\n }\n\n return this.renderSvgIconComponent(icon, h);\n }\n\n});\nexport default Vue.extend({\n name: 'v-icon',\n $_wrapperFor: VIcon,\n functional: true,\n\n render(h, {\n data,\n children\n }) {\n let iconName = ''; // Support usage of v-text and v-html\n\n if (data.domProps) {\n iconName = data.domProps.textContent || data.domProps.innerHTML || iconName; // Remove nodes so it doesn't\n // overwrite our changes\n\n delete data.domProps.textContent;\n delete data.domProps.innerHTML;\n }\n\n return h(VIcon, data, iconName ? [iconName] : children);\n }\n\n});\n//# sourceMappingURL=VIcon.js.map","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-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 TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLDTDEntity, XMLNode, isObject,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n isObject = require('./Utility').isObject;\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n module.exports = XMLDTDEntity = (function(superClass) {\n extend(XMLDTDEntity, superClass);\n\n function XMLDTDEntity(parent, pe, name, value) {\n XMLDTDEntity.__super__.constructor.call(this, parent);\n if (name == null) {\n throw new Error(\"Missing DTD entity name. \" + this.debugInfo(name));\n }\n if (value == null) {\n throw new Error(\"Missing DTD entity value. \" + this.debugInfo(name));\n }\n this.pe = !!pe;\n this.name = this.stringify.name(name);\n this.type = NodeType.EntityDeclaration;\n if (!isObject(value)) {\n this.value = this.stringify.dtdEntityValue(value);\n this.internal = true;\n } else {\n if (!value.pubID && !value.sysID) {\n throw new Error(\"Public and/or system identifiers are required for an external entity. \" + this.debugInfo(name));\n }\n if (value.pubID && !value.sysID) {\n throw new Error(\"System identifier is required for a public external entity. \" + this.debugInfo(name));\n }\n this.internal = false;\n if (value.pubID != null) {\n this.pubID = this.stringify.dtdPubID(value.pubID);\n }\n if (value.sysID != null) {\n this.sysID = this.stringify.dtdSysID(value.sysID);\n }\n if (value.nData != null) {\n this.nData = this.stringify.dtdNData(value.nData);\n }\n if (this.pe && this.nData) {\n throw new Error(\"Notation declaration is not allowed in a parameter entity. \" + this.debugInfo(name));\n }\n }\n }\n\n Object.defineProperty(XMLDTDEntity.prototype, 'publicId', {\n get: function() {\n return this.pubID;\n }\n });\n\n Object.defineProperty(XMLDTDEntity.prototype, 'systemId', {\n get: function() {\n return this.sysID;\n }\n });\n\n Object.defineProperty(XMLDTDEntity.prototype, 'notationName', {\n get: function() {\n return this.nData || null;\n }\n });\n\n Object.defineProperty(XMLDTDEntity.prototype, 'inputEncoding', {\n get: function() {\n return null;\n }\n });\n\n Object.defineProperty(XMLDTDEntity.prototype, 'xmlEncoding', {\n get: function() {\n return null;\n }\n });\n\n Object.defineProperty(XMLDTDEntity.prototype, 'xmlVersion', {\n get: function() {\n return null;\n }\n });\n\n XMLDTDEntity.prototype.toString = function(options) {\n return this.options.writer.dtdEntity(this, this.options.writer.filterOptions(options));\n };\n\n return XMLDTDEntity;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLDTDAttList, XMLNode,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n module.exports = XMLDTDAttList = (function(superClass) {\n extend(XMLDTDAttList, superClass);\n\n function XMLDTDAttList(parent, elementName, attributeName, attributeType, defaultValueType, defaultValue) {\n XMLDTDAttList.__super__.constructor.call(this, parent);\n if (elementName == null) {\n throw new Error(\"Missing DTD element name. \" + this.debugInfo());\n }\n if (attributeName == null) {\n throw new Error(\"Missing DTD attribute name. \" + this.debugInfo(elementName));\n }\n if (!attributeType) {\n throw new Error(\"Missing DTD attribute type. \" + this.debugInfo(elementName));\n }\n if (!defaultValueType) {\n throw new Error(\"Missing DTD attribute default. \" + this.debugInfo(elementName));\n }\n if (defaultValueType.indexOf('#') !== 0) {\n defaultValueType = '#' + defaultValueType;\n }\n if (!defaultValueType.match(/^(#REQUIRED|#IMPLIED|#FIXED|#DEFAULT)$/)) {\n throw new Error(\"Invalid default value type; expected: #REQUIRED, #IMPLIED, #FIXED or #DEFAULT. \" + this.debugInfo(elementName));\n }\n if (defaultValue && !defaultValueType.match(/^(#FIXED|#DEFAULT)$/)) {\n throw new Error(\"Default value only applies to #FIXED or #DEFAULT. \" + this.debugInfo(elementName));\n }\n this.elementName = this.stringify.name(elementName);\n this.type = NodeType.AttributeDeclaration;\n this.attributeName = this.stringify.name(attributeName);\n this.attributeType = this.stringify.dtdAttType(attributeType);\n if (defaultValue) {\n this.defaultValue = this.stringify.dtdAttDefault(defaultValue);\n }\n this.defaultValueType = defaultValueType;\n }\n\n XMLDTDAttList.prototype.toString = function(options) {\n return this.options.writer.dtdAttList(this, this.options.writer.filterOptions(options));\n };\n\n return XMLDTDAttList;\n\n })(XMLNode);\n\n}).call(this);\n","/*! https://mths.be/punycode v1.4.1 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow new RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see <https://mathiasbynens.be/notes/javascript-encoding>\n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * https://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.4.1',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see <https://mathiasbynens.be/notes/javascript-encoding>\n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) {\n\t\t\t// in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else {\n\t\t\t// in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLDOMStringList;\n\n module.exports = XMLDOMStringList = (function() {\n function XMLDOMStringList(arr) {\n this.arr = arr || [];\n }\n\n Object.defineProperty(XMLDOMStringList.prototype, 'length', {\n get: function() {\n return this.arr.length;\n }\n });\n\n XMLDOMStringList.prototype.item = function(index) {\n return this.arr[index] || null;\n };\n\n XMLDOMStringList.prototype.contains = function(str) {\n return this.arr.indexOf(str) !== -1;\n };\n\n return XMLDOMStringList;\n\n })();\n\n}).call(this);\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line no-throw-literal\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","import Vue from 'vue'; // Directives\n\nimport Ripple from '../../directives/ripple'; // Utilities\n\nimport { getObjectValueByPath } from '../../util/helpers';\nexport default Vue.extend({\n name: 'routable',\n directives: {\n Ripple\n },\n props: {\n activeClass: String,\n append: Boolean,\n disabled: Boolean,\n exact: {\n type: Boolean,\n default: undefined\n },\n exactPath: Boolean,\n exactActiveClass: String,\n link: Boolean,\n href: [String, Object],\n to: [String, Object],\n nuxt: Boolean,\n replace: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: null\n },\n tag: String,\n target: String\n },\n data: () => ({\n isActive: false,\n proxyClass: ''\n }),\n computed: {\n classes() {\n const classes = {};\n if (this.to) return classes;\n if (this.activeClass) classes[this.activeClass] = this.isActive;\n if (this.proxyClass) classes[this.proxyClass] = this.isActive;\n return classes;\n },\n\n computedRipple() {\n var _a;\n\n return (_a = this.ripple) !== null && _a !== void 0 ? _a : !this.disabled && this.isClickable;\n },\n\n isClickable() {\n if (this.disabled) return false;\n return Boolean(this.isLink || this.$listeners.click || this.$listeners['!click'] || this.$attrs.tabindex);\n },\n\n isLink() {\n return this.to || this.href || this.link;\n },\n\n styles: () => ({})\n },\n watch: {\n $route: 'onRouteChange'\n },\n\n mounted() {\n this.onRouteChange();\n },\n\n methods: {\n generateRouteLink() {\n let exact = this.exact;\n let tag;\n const data = {\n attrs: {\n tabindex: 'tabindex' in this.$attrs ? this.$attrs.tabindex : undefined\n },\n class: this.classes,\n style: this.styles,\n props: {},\n directives: [{\n name: 'ripple',\n value: this.computedRipple\n }],\n [this.to ? 'nativeOn' : 'on']: { ...this.$listeners,\n ...('click' in this ? {\n click: this.click\n } : undefined) // #14447\n\n },\n ref: 'link'\n };\n\n if (typeof this.exact === 'undefined') {\n exact = this.to === '/' || this.to === Object(this.to) && this.to.path === '/';\n }\n\n if (this.to) {\n // Add a special activeClass hook\n // for component level styles\n let activeClass = this.activeClass;\n let exactActiveClass = this.exactActiveClass || activeClass;\n\n if (this.proxyClass) {\n activeClass = `${activeClass} ${this.proxyClass}`.trim();\n exactActiveClass = `${exactActiveClass} ${this.proxyClass}`.trim();\n }\n\n tag = this.nuxt ? 'nuxt-link' : 'router-link';\n Object.assign(data.props, {\n to: this.to,\n exact,\n exactPath: this.exactPath,\n activeClass,\n exactActiveClass,\n append: this.append,\n replace: this.replace\n });\n } else {\n tag = this.href && 'a' || this.tag || 'div';\n if (tag === 'a' && this.href) data.attrs.href = this.href;\n }\n\n if (this.target) data.attrs.target = this.target;\n return {\n tag,\n data\n };\n },\n\n onRouteChange() {\n if (!this.to || !this.$refs.link || !this.$route) return;\n const activeClass = `${this.activeClass || ''} ${this.proxyClass || ''}`.trim();\n const exactActiveClass = `${this.exactActiveClass || ''} ${this.proxyClass || ''}`.trim() || activeClass;\n const path = '_vnode.data.class.' + (this.exact ? exactActiveClass : activeClass);\n this.$nextTick(() => {\n /* istanbul ignore else */\n if (!getObjectValueByPath(this.$refs.link, path) === this.isActive) {\n this.toggle();\n }\n });\n },\n\n toggle() {\n this.isActive = !this.isActive;\n }\n\n }\n});\n//# sourceMappingURL=index.js.map","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLStringWriter, XMLWriterBase,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n XMLWriterBase = require('./XMLWriterBase');\n\n module.exports = XMLStringWriter = (function(superClass) {\n extend(XMLStringWriter, superClass);\n\n function XMLStringWriter(options) {\n XMLStringWriter.__super__.constructor.call(this, options);\n }\n\n XMLStringWriter.prototype.document = function(doc, options) {\n var child, i, len, r, ref;\n options = this.filterOptions(options);\n r = '';\n ref = doc.children;\n for (i = 0, len = ref.length; i < len; i++) {\n child = ref[i];\n r += this.writeChildNode(child, options, 0);\n }\n if (options.pretty && r.slice(-options.newline.length) === options.newline) {\n r = r.slice(0, -options.newline.length);\n }\n return r;\n };\n\n return XMLStringWriter;\n\n })(XMLWriterBase);\n\n}).call(this);\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(\n uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n ))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n var iterator, iterFn, index, length, result, next, step;\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = AS_ENTRIES\n ? boundFunction(anObject(step = iterable[index])[0], step[1])\n : boundFunction(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n\niterate.stop = function (result) {\n return new Result(true, result);\n};\n","import mod from \"-!../../../mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../vue-loader/lib/loaders/stylePostLoader.js!../../../postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../cache-loader/dist/cjs.js??ref--0-0!../../../vue-loader/lib/index.js??vue-loader-options!./Article.vue?vue&type=style&index=0&id=50437f32&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../vue-loader/lib/loaders/stylePostLoader.js!../../../postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../cache-loader/dist/cjs.js??ref--0-0!../../../vue-loader/lib/index.js??vue-loader-options!./Article.vue?vue&type=style&index=0&id=50437f32&scoped=true&lang=css&\"","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLAttribute, XMLNode;\n\n NodeType = require('./NodeType');\n\n XMLNode = require('./XMLNode');\n\n module.exports = XMLAttribute = (function() {\n function XMLAttribute(parent, name, value) {\n this.parent = parent;\n if (this.parent) {\n this.options = this.parent.options;\n this.stringify = this.parent.stringify;\n }\n if (name == null) {\n throw new Error(\"Missing attribute name. \" + this.debugInfo(name));\n }\n this.name = this.stringify.name(name);\n this.value = this.stringify.attValue(value);\n this.type = NodeType.Attribute;\n this.isId = false;\n this.schemaTypeInfo = null;\n }\n\n Object.defineProperty(XMLAttribute.prototype, 'nodeType', {\n get: function() {\n return this.type;\n }\n });\n\n Object.defineProperty(XMLAttribute.prototype, 'ownerElement', {\n get: function() {\n return this.parent;\n }\n });\n\n Object.defineProperty(XMLAttribute.prototype, 'textContent', {\n get: function() {\n return this.value;\n },\n set: function(value) {\n return this.value = value || '';\n }\n });\n\n Object.defineProperty(XMLAttribute.prototype, 'namespaceURI', {\n get: function() {\n return '';\n }\n });\n\n Object.defineProperty(XMLAttribute.prototype, 'prefix', {\n get: function() {\n return '';\n }\n });\n\n Object.defineProperty(XMLAttribute.prototype, 'localName', {\n get: function() {\n return this.name;\n }\n });\n\n Object.defineProperty(XMLAttribute.prototype, 'specified', {\n get: function() {\n return true;\n }\n });\n\n XMLAttribute.prototype.clone = function() {\n return Object.create(this);\n };\n\n XMLAttribute.prototype.toString = function(options) {\n return this.options.writer.attribute(this, this.options.writer.filterOptions(options));\n };\n\n XMLAttribute.prototype.debugInfo = function(name) {\n name = name || this.name;\n if (name == null) {\n return \"parent: <\" + this.parent.name + \">\";\n } else {\n return \"attribute: {\" + name + \"}, parent: <\" + this.parent.name + \">\";\n }\n };\n\n XMLAttribute.prototype.isEqualNode = function(node) {\n if (node.namespaceURI !== this.namespaceURI) {\n return false;\n }\n if (node.prefix !== this.prefix) {\n return false;\n }\n if (node.localName !== this.localName) {\n return false;\n }\n if (node.value !== this.value) {\n return false;\n }\n return true;\n };\n\n return XMLAttribute;\n\n })();\n\n}).call(this);\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// Helpers\nimport { convertToUnit } from '../../util/helpers'; // Types\n\nimport Vue from 'vue';\nexport default Vue.extend({\n name: 'measurable',\n props: {\n height: [Number, String],\n maxHeight: [Number, String],\n maxWidth: [Number, String],\n minHeight: [Number, String],\n minWidth: [Number, String],\n width: [Number, String]\n },\n computed: {\n measurableStyles() {\n const styles = {};\n const height = convertToUnit(this.height);\n const minHeight = convertToUnit(this.minHeight);\n const minWidth = convertToUnit(this.minWidth);\n const maxHeight = convertToUnit(this.maxHeight);\n const maxWidth = convertToUnit(this.maxWidth);\n const width = convertToUnit(this.width);\n if (height) styles.height = height;\n if (minHeight) styles.minHeight = minHeight;\n if (minWidth) styles.minWidth = minWidth;\n if (maxHeight) styles.maxHeight = maxHeight;\n if (maxWidth) styles.maxWidth = maxWidth;\n if (width) styles.width = width;\n return styles;\n }\n\n }\n});\n//# sourceMappingURL=index.js.map","var http = require('http')\nvar url = require('url')\n\nvar https = module.exports\n\nfor (var key in http) {\n if (http.hasOwnProperty(key)) https[key] = http[key]\n}\n\nhttps.request = function (params, cb) {\n params = validateParams(params)\n return http.request.call(this, params, cb)\n}\n\nhttps.get = function (params, cb) {\n params = validateParams(params)\n return http.get.call(this, params, cb)\n}\n\nfunction validateParams (params) {\n if (typeof params === 'string') {\n params = url.parse(params)\n }\n if (!params.protocol) {\n params.protocol = 'https:'\n }\n if (params.protocol !== 'https:') {\n throw new Error('Protocol \"' + params.protocol + '\" not supported. Expected \"https:\"')\n }\n return params\n}\n","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n'use strict';\n\nmodule.exports = Transform;\n\nvar Duplex = require('./_stream_duplex');\n\n/*<replacement>*/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/*</replacement>*/\n\nutil.inherits(Transform, Duplex);\n\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n\n var cb = ts.writecb;\n\n if (!cb) {\n return this.emit('error', new Error('write callback called multiple times'));\n }\n\n ts.writechunk = null;\n ts.writecb = null;\n\n if (data != null) // single equals check for both `null` and `undefined`\n this.push(data);\n\n cb(er);\n\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\n\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n\n Duplex.call(this, options);\n\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n\n // start out asking for a readable event once data is transformed.\n this._readableState.needReadable = true;\n\n // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false;\n\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n\n if (typeof options.flush === 'function') this._flush = options.flush;\n }\n\n // When the writable side finishes, then flush out anything remaining.\n this.on('prefinish', prefinish);\n}\n\nfunction prefinish() {\n var _this = this;\n\n if (typeof this._flush === 'function') {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\n\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n};\n\n// This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\nTransform.prototype._transform = function (chunk, encoding, cb) {\n throw new Error('_transform() is not implemented');\n};\n\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n};\n\n// Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n\n if (ts.writechunk !== null && ts.writecb && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\n\nTransform.prototype._destroy = function (err, cb) {\n var _this2 = this;\n\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n _this2.emit('close');\n });\n};\n\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n\n if (data != null) // single equals check for both `null` and `undefined`\n stream.push(data);\n\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n if (stream._writableState.length) throw new Error('Calling transform done when ws.length != 0');\n\n if (stream._transformState.transforming) throw new Error('Calling transform done when still transforming');\n\n return stream.push(null);\n}","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","/*!\n * Vue.js v2.6.12\n * (c) 2014-2020 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\nfunction isPromise (val) {\n return (\n isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function'\n )\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array.\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/* eslint-disable no-unused-vars */\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/* eslint-enable no-unused-vars */\n\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime()\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar SSR_ATTR = 'data-server-rendered';\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch'\n];\n\n/* */\n\n\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n});\n\n/* */\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nvar isPhantomJS = UA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\n\nvar supportsPassive = false;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /*@__PURE__*/(function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n return '<Root>'\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm;\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"<Anonymous>\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.target) {\n Dep.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\nDep.target = null;\nvar targetStack = [];\n\nfunction pushTarget (target) {\n targetStack.push(target);\n Dep.target = target;\n}\n\nfunction popTarget () {\n targetStack.pop();\n Dep.target = targetStack[targetStack.length - 1];\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(),\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n if (hasProto) {\n protoAugment(value, arrayMethods);\n } else {\n copyAugment(value, arrayMethods, arrayKeys);\n }\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive$$1(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive$$1 (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) && arguments.length === 2) {\n val = obj[key];\n }\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n // #7981: for accessor properties without setter\n if (getter && !setter) { return }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive$$1(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n\n var keys = hasSymbol\n ? Reflect.ownKeys(from)\n : Object.keys(from);\n\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n // in case the object is already observed...\n if (key === '__ob__') { continue }\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (\n toVal !== fromVal &&\n isPlainObject(toVal) &&\n isPlainObject(fromVal)\n ) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n var res = childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal;\n return res\n ? dedupeHooks(res)\n : res\n}\n\nfunction dedupeHooks (hooks) {\n var res = [];\n for (var i = 0; i < hooks.length; i++) {\n if (res.indexOf(hooks[i]) === -1) {\n res.push(hooks[i]);\n }\n }\n return res\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!new RegExp((\"^[a-zA-Z][\\\\-\\\\.0-9_\" + (unicodeRegExp.source) + \"]*$\")).test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'should conform to valid custom element name in html5 specification.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (process.env.NODE_ENV !== 'production') {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def$$1 = dirs[key];\n if (typeof def$$1 === 'function') {\n dirs[key] = { bind: def$$1, update: def$$1 };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (process.env.NODE_ENV !== 'production') {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n\n // Apply extends and mixins on the child options,\n // but only if it is a raw options object that isn't\n // the result of another mergeOptions call.\n // Only merged options has the _base property.\n if (!child._base) {\n if (child.extends) {\n parent = mergeOptions(parent, child.extends, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n }\n\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\n\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n // skip validation for weex recycle-list child component props\n !(false)\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n if (!valid) {\n warn(\n getInvalidTypeMessage(name, value, expectedTypes),\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;\n\nfunction assertType (value, type) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n valid = value instanceof type;\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\nfunction getInvalidTypeMessage (name, value, expectedTypes) {\n var message = \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', '));\n var expectedType = expectedTypes[0];\n var receivedType = toRawType(value);\n var expectedValue = styleValue(value, expectedType);\n var receivedValue = styleValue(value, receivedType);\n // check if we need to specify expected value\n if (expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n !isBoolean(expectedType, receivedType)) {\n message += \" with value \" + expectedValue;\n }\n message += \", got \" + receivedType + \" \";\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += \"with value \" + receivedValue + \".\";\n }\n return message\n}\n\nfunction styleValue (value, type) {\n if (type === 'String') {\n return (\"\\\"\" + value + \"\\\"\")\n } else if (type === 'Number') {\n return (\"\" + (Number(value)))\n } else {\n return (\"\" + value)\n }\n}\n\nfunction isExplicable (value) {\n var explicitTypes = ['string', 'number', 'boolean'];\n return explicitTypes.some(function (elem) { return value.toLowerCase() === elem; })\n}\n\nfunction isBoolean () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n // See: https://github.com/vuejs/vuex/issues/1505\n pushTarget();\n try {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n } finally {\n popTarget();\n }\n}\n\nfunction invokeWithErrorHandling (\n handler,\n context,\n args,\n vm,\n info\n) {\n var res;\n try {\n res = args ? handler.apply(context, args) : handler.call(context);\n if (res && !res._isVue && isPromise(res) && !res._handled) {\n res.catch(function (e) { return handleError(e, vm, info + \" (Promise/async)\"); });\n // issue #9511\n // avoid catch triggering multiple times when nested calls\n res._handled = true;\n }\n } catch (e) {\n handleError(e, vm, info);\n }\n return res\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n // if the user intentionally throws the original error in the handler,\n // do not log it twice\n if (e !== err) {\n logError(e, null, 'config.errorHandler');\n }\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n\nvar isUsingMicroTask = false;\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using microtasks.\n// In 2.5 we used (macro) tasks (in combination with microtasks).\n// However, it has subtle problems when state is changed right before repaint\n// (e.g. #6813, out-in transitions).\n// Also, using (macro) tasks in event handler would cause some weird behaviors\n// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n// So we now use microtasks everywhere, again.\n// A major drawback of this tradeoff is that there are some scenarios\n// where microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690, which have workarounds)\n// or even between bubbling of the same event (#6566).\nvar timerFunc;\n\n// The nextTick behavior leverages the microtask queue, which can be accessed\n// via either native Promise.then or MutationObserver.\n// MutationObserver has wider support, however it is seriously bugged in\n// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n// completely stops working after triggering a few times... so, if native\n// Promise is available, we will use it:\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n timerFunc = function () {\n p.then(flushCallbacks);\n // In problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n isUsingMicroTask = true;\n} else if (!isIE && typeof MutationObserver !== 'undefined' && (\n isNative(MutationObserver) ||\n // PhantomJS and iOS 7.x\n MutationObserver.toString() === '[object MutationObserverConstructor]'\n)) {\n // Use MutationObserver where native Promise is not available,\n // e.g. PhantomJS, iOS7, Android 4.4\n // (#6466 MutationObserver is unreliable in IE11)\n var counter = 1;\n var observer = new MutationObserver(flushCallbacks);\n var textNode = document.createTextNode(String(counter));\n observer.observe(textNode, {\n characterData: true\n });\n timerFunc = function () {\n counter = (counter + 1) % 2;\n textNode.data = String(counter);\n };\n isUsingMicroTask = true;\n} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n // Fallback to setImmediate.\n // Technically it leverages the (macro) task queue,\n // but it is still a better choice than setTimeout.\n timerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else {\n // Fallback to setTimeout.\n timerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n timerFunc();\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var warnReservedPrefix = function (target, key) {\n warn(\n \"Property \\\"\" + key + \"\\\" must be accessed with \\\"$data.\" + key + \"\\\" because \" +\n 'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n 'prevent conflicts with Vue internals. ' +\n 'See: https://vuejs.org/v2/api/#data',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) ||\n (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));\n if (!has && !isAllowed) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n // perf.clearMeasures(name)\n };\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns, vm) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n }\n } else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\")\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n createOnceHandler,\n vm\n) {\n var name, def$$1, cur, old, event;\n for (name in on) {\n def$$1 = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\nfunction mergeVNodeHook (def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n var invoker;\n var oldHook = def[hookKey];\n\n function wrappedHook () {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove(invoker.fns, wrappedHook);\n }\n\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n } else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n } else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n\n invoker.merged = true;\n def[hookKey] = invoker;\n}\n\n/* */\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n return res\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array<VNode>. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g. <template>, <slot>, v-for, or when the children is provided by user\n// with hand-written render functions / JSX. In such cases a full normalization\n// is needed to cater to all possible types of children values.\nfunction normalizeChildren (children) {\n return isPrimitive(children)\n ? [createTextVNode(children)]\n : Array.isArray(children)\n ? normalizeArrayChildren(children)\n : undefined\n}\n\nfunction isTextNode (node) {\n return isDef(node) && isDef(node.text) && isFalse(node.isComment)\n}\n\nfunction normalizeArrayChildren (children, nestedIndex) {\n var res = [];\n var i, c, lastIndex, last;\n for (i = 0; i < children.length; i++) {\n c = children[i];\n if (isUndef(c) || typeof c === 'boolean') { continue }\n lastIndex = res.length - 1;\n last = res[lastIndex];\n // nested\n if (Array.isArray(c)) {\n if (c.length > 0) {\n c = normalizeArrayChildren(c, ((nestedIndex || '') + \"_\" + i));\n // merge adjacent text nodes\n if (isTextNode(c[0]) && isTextNode(last)) {\n res[lastIndex] = createTextVNode(last.text + (c[0]).text);\n c.shift();\n }\n res.push.apply(res, c);\n }\n } else if (isPrimitive(c)) {\n if (isTextNode(last)) {\n // merge adjacent text nodes\n // this is necessary for SSR hydration because text nodes are\n // essentially merged when rendered to HTML strings\n res[lastIndex] = createTextVNode(last.text + c);\n } else if (c !== '') {\n // convert primitive to vnode\n res.push(createTextVNode(c));\n }\n } else {\n if (isTextNode(c) && isTextNode(last)) {\n // merge adjacent text nodes\n res[lastIndex] = createTextVNode(last.text + c.text);\n } else {\n // default key for nested array children (likely generated by v-for)\n if (isTrue(children._isVList) &&\n isDef(c.tag) &&\n isUndef(c.key) &&\n isDef(nestedIndex)) {\n c.key = \"__vlist\" + nestedIndex + \"_\" + i + \"__\";\n }\n res.push(c);\n }\n }\n }\n return res\n}\n\n/* */\n\nfunction initProvide (vm) {\n var provide = vm.$options.provide;\n if (provide) {\n vm._provided = typeof provide === 'function'\n ? provide.call(vm)\n : provide;\n }\n}\n\nfunction initInjections (vm) {\n var result = resolveInject(vm.$options.inject, vm);\n if (result) {\n toggleObserving(false);\n Object.keys(result).forEach(function (key) {\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive$$1(vm, key, result[key], function () {\n warn(\n \"Avoid mutating an injected value directly since the changes will be \" +\n \"overwritten whenever the provided component re-renders. \" +\n \"injection being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n });\n } else {\n defineReactive$$1(vm, key, result[key]);\n }\n });\n toggleObserving(true);\n }\n}\n\nfunction resolveInject (inject, vm) {\n if (inject) {\n // inject is :any because flow is not smart enough to figure out cached\n var result = Object.create(null);\n var keys = hasSymbol\n ? Reflect.ownKeys(inject)\n : Object.keys(inject);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n // #6574 in case the inject object is observed...\n if (key === '__ob__') { continue }\n var provideKey = inject[key].from;\n var source = vm;\n while (source) {\n if (source._provided && hasOwn(source._provided, provideKey)) {\n result[key] = source._provided[provideKey];\n break\n }\n source = source.$parent;\n }\n if (!source) {\n if ('default' in inject[key]) {\n var provideDefault = inject[key].default;\n result[key] = typeof provideDefault === 'function'\n ? provideDefault.call(vm)\n : provideDefault;\n } else if (process.env.NODE_ENV !== 'production') {\n warn((\"Injection \\\"\" + key + \"\\\" not found\"), vm);\n }\n }\n }\n return result\n }\n}\n\n/* */\n\n\n\n/**\n * Runtime helper for resolving raw children VNodes into a slot object.\n */\nfunction resolveSlots (\n children,\n context\n) {\n if (!children || !children.length) {\n return {}\n }\n var slots = {};\n for (var i = 0, l = children.length; i < l; i++) {\n var child = children[i];\n var data = child.data;\n // remove slot attribute if the node is resolved as a Vue slot node\n if (data && data.attrs && data.attrs.slot) {\n delete data.attrs.slot;\n }\n // named slots should only be respected if the vnode was rendered in the\n // same context.\n if ((child.context === context || child.fnContext === context) &&\n data && data.slot != null\n ) {\n var name = data.slot;\n var slot = (slots[name] || (slots[name] = []));\n if (child.tag === 'template') {\n slot.push.apply(slot, child.children || []);\n } else {\n slot.push(child);\n }\n } else {\n (slots.default || (slots.default = [])).push(child);\n }\n }\n // ignore slots that contains only whitespace\n for (var name$1 in slots) {\n if (slots[name$1].every(isWhitespace)) {\n delete slots[name$1];\n }\n }\n return slots\n}\n\nfunction isWhitespace (node) {\n return (node.isComment && !node.asyncFactory) || node.text === ' '\n}\n\n/* */\n\nfunction normalizeScopedSlots (\n slots,\n normalSlots,\n prevSlots\n) {\n var res;\n var hasNormalSlots = Object.keys(normalSlots).length > 0;\n var isStable = slots ? !!slots.$stable : !hasNormalSlots;\n var key = slots && slots.$key;\n if (!slots) {\n res = {};\n } else if (slots._normalized) {\n // fast path 1: child component re-render only, parent did not change\n return slots._normalized\n } else if (\n isStable &&\n prevSlots &&\n prevSlots !== emptyObject &&\n key === prevSlots.$key &&\n !hasNormalSlots &&\n !prevSlots.$hasNormal\n ) {\n // fast path 2: stable scoped slots w/ no normal slots to proxy,\n // only need to normalize once\n return prevSlots\n } else {\n res = {};\n for (var key$1 in slots) {\n if (slots[key$1] && key$1[0] !== '$') {\n res[key$1] = normalizeScopedSlot(normalSlots, key$1, slots[key$1]);\n }\n }\n }\n // expose normal slots on scopedSlots\n for (var key$2 in normalSlots) {\n if (!(key$2 in res)) {\n res[key$2] = proxyNormalSlot(normalSlots, key$2);\n }\n }\n // avoriaz seems to mock a non-extensible $scopedSlots object\n // and when that is passed down this would cause an error\n if (slots && Object.isExtensible(slots)) {\n (slots)._normalized = res;\n }\n def(res, '$stable', isStable);\n def(res, '$key', key);\n def(res, '$hasNormal', hasNormalSlots);\n return res\n}\n\nfunction normalizeScopedSlot(normalSlots, key, fn) {\n var normalized = function () {\n var res = arguments.length ? fn.apply(null, arguments) : fn({});\n res = res && typeof res === 'object' && !Array.isArray(res)\n ? [res] // single vnode\n : normalizeChildren(res);\n return res && (\n res.length === 0 ||\n (res.length === 1 && res[0].isComment) // #9658\n ) ? undefined\n : res\n };\n // this is a slot using the new v-slot syntax without scope. although it is\n // compiled as a scoped slot, render fn users would expect it to be present\n // on this.$slots because the usage is semantically a normal slot.\n if (fn.proxy) {\n Object.defineProperty(normalSlots, key, {\n get: normalized,\n enumerable: true,\n configurable: true\n });\n }\n return normalized\n}\n\nfunction proxyNormalSlot(slots, key) {\n return function () { return slots[key]; }\n}\n\n/* */\n\n/**\n * Runtime helper for rendering v-for lists.\n */\nfunction renderList (\n val,\n render\n) {\n var ret, i, l, keys, key;\n if (Array.isArray(val) || typeof val === 'string') {\n ret = new Array(val.length);\n for (i = 0, l = val.length; i < l; i++) {\n ret[i] = render(val[i], i);\n }\n } else if (typeof val === 'number') {\n ret = new Array(val);\n for (i = 0; i < val; i++) {\n ret[i] = render(i + 1, i);\n }\n } else if (isObject(val)) {\n if (hasSymbol && val[Symbol.iterator]) {\n ret = [];\n var iterator = val[Symbol.iterator]();\n var result = iterator.next();\n while (!result.done) {\n ret.push(render(result.value, ret.length));\n result = iterator.next();\n }\n } else {\n keys = Object.keys(val);\n ret = new Array(keys.length);\n for (i = 0, l = keys.length; i < l; i++) {\n key = keys[i];\n ret[i] = render(val[key], key, i);\n }\n }\n }\n if (!isDef(ret)) {\n ret = [];\n }\n (ret)._isVList = true;\n return ret\n}\n\n/* */\n\n/**\n * Runtime helper for rendering <slot>\n */\nfunction renderSlot (\n name,\n fallback,\n props,\n bindObject\n) {\n var scopedSlotFn = this.$scopedSlots[name];\n var nodes;\n if (scopedSlotFn) { // scoped slot\n props = props || {};\n if (bindObject) {\n if (process.env.NODE_ENV !== 'production' && !isObject(bindObject)) {\n warn(\n 'slot v-bind without argument expects an Object',\n this\n );\n }\n props = extend(extend({}, bindObject), props);\n }\n nodes = scopedSlotFn(props) || fallback;\n } else {\n nodes = this.$slots[name] || fallback;\n }\n\n var target = props && props.slot;\n if (target) {\n return this.$createElement('template', { slot: target }, nodes)\n } else {\n return nodes\n }\n}\n\n/* */\n\n/**\n * Runtime helper for resolving filters\n */\nfunction resolveFilter (id) {\n return resolveAsset(this.$options, 'filters', id, true) || identity\n}\n\n/* */\n\nfunction isKeyNotMatch (expect, actual) {\n if (Array.isArray(expect)) {\n return expect.indexOf(actual) === -1\n } else {\n return expect !== actual\n }\n}\n\n/**\n * Runtime helper for checking keyCodes from config.\n * exposed as Vue.prototype._k\n * passing in eventKeyName as last argument separately for backwards compat\n */\nfunction checkKeyCodes (\n eventKeyCode,\n key,\n builtInKeyCode,\n eventKeyName,\n builtInKeyName\n) {\n var mappedKeyCode = config.keyCodes[key] || builtInKeyCode;\n if (builtInKeyName && eventKeyName && !config.keyCodes[key]) {\n return isKeyNotMatch(builtInKeyName, eventKeyName)\n } else if (mappedKeyCode) {\n return isKeyNotMatch(mappedKeyCode, eventKeyCode)\n } else if (eventKeyName) {\n return hyphenate(eventKeyName) !== key\n }\n}\n\n/* */\n\n/**\n * Runtime helper for merging v-bind=\"object\" into a VNode's data.\n */\nfunction bindObjectProps (\n data,\n tag,\n value,\n asProp,\n isSync\n) {\n if (value) {\n if (!isObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-bind without argument expects an Object or Array value',\n this\n );\n } else {\n if (Array.isArray(value)) {\n value = toObject(value);\n }\n var hash;\n var loop = function ( key ) {\n if (\n key === 'class' ||\n key === 'style' ||\n isReservedAttribute(key)\n ) {\n hash = data;\n } else {\n var type = data.attrs && data.attrs.type;\n hash = asProp || config.mustUseProp(tag, type, key)\n ? data.domProps || (data.domProps = {})\n : data.attrs || (data.attrs = {});\n }\n var camelizedKey = camelize(key);\n var hyphenatedKey = hyphenate(key);\n if (!(camelizedKey in hash) && !(hyphenatedKey in hash)) {\n hash[key] = value[key];\n\n if (isSync) {\n var on = data.on || (data.on = {});\n on[(\"update:\" + key)] = function ($event) {\n value[key] = $event;\n };\n }\n }\n };\n\n for (var key in value) loop( key );\n }\n }\n return data\n}\n\n/* */\n\n/**\n * Runtime helper for rendering static trees.\n */\nfunction renderStatic (\n index,\n isInFor\n) {\n var cached = this._staticTrees || (this._staticTrees = []);\n var tree = cached[index];\n // if has already-rendered static tree and not inside v-for,\n // we can reuse the same tree.\n if (tree && !isInFor) {\n return tree\n }\n // otherwise, render a fresh tree.\n tree = cached[index] = this.$options.staticRenderFns[index].call(\n this._renderProxy,\n null,\n this // for render fns generated for functional component templates\n );\n markStatic(tree, (\"__static__\" + index), false);\n return tree\n}\n\n/**\n * Runtime helper for v-once.\n * Effectively it means marking the node as static with a unique key.\n */\nfunction markOnce (\n tree,\n index,\n key\n) {\n markStatic(tree, (\"__once__\" + index + (key ? (\"_\" + key) : \"\")), true);\n return tree\n}\n\nfunction markStatic (\n tree,\n key,\n isOnce\n) {\n if (Array.isArray(tree)) {\n for (var i = 0; i < tree.length; i++) {\n if (tree[i] && typeof tree[i] !== 'string') {\n markStaticNode(tree[i], (key + \"_\" + i), isOnce);\n }\n }\n } else {\n markStaticNode(tree, key, isOnce);\n }\n}\n\nfunction markStaticNode (node, key, isOnce) {\n node.isStatic = true;\n node.key = key;\n node.isOnce = isOnce;\n}\n\n/* */\n\nfunction bindObjectListeners (data, value) {\n if (value) {\n if (!isPlainObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-on without argument expects an Object value',\n this\n );\n } else {\n var on = data.on = data.on ? extend({}, data.on) : {};\n for (var key in value) {\n var existing = on[key];\n var ours = value[key];\n on[key] = existing ? [].concat(existing, ours) : ours;\n }\n }\n }\n return data\n}\n\n/* */\n\nfunction resolveScopedSlots (\n fns, // see flow/vnode\n res,\n // the following are added in 2.6\n hasDynamicKeys,\n contentHashKey\n) {\n res = res || { $stable: !hasDynamicKeys };\n for (var i = 0; i < fns.length; i++) {\n var slot = fns[i];\n if (Array.isArray(slot)) {\n resolveScopedSlots(slot, res, hasDynamicKeys);\n } else if (slot) {\n // marker for reverse proxying v-slot without scope on this.$slots\n if (slot.proxy) {\n slot.fn.proxy = true;\n }\n res[slot.key] = slot.fn;\n }\n }\n if (contentHashKey) {\n (res).$key = contentHashKey;\n }\n return res\n}\n\n/* */\n\nfunction bindDynamicKeys (baseObj, values) {\n for (var i = 0; i < values.length; i += 2) {\n var key = values[i];\n if (typeof key === 'string' && key) {\n baseObj[values[i]] = values[i + 1];\n } else if (process.env.NODE_ENV !== 'production' && key !== '' && key !== null) {\n // null is a special value for explicitly removing a binding\n warn(\n (\"Invalid value for dynamic directive argument (expected string or null): \" + key),\n this\n );\n }\n }\n return baseObj\n}\n\n// helper to dynamically append modifier runtime markers to event names.\n// ensure only append when value is already string, otherwise it will be cast\n// to string and cause the type check to miss.\nfunction prependModifier (value, symbol) {\n return typeof value === 'string' ? symbol + value : value\n}\n\n/* */\n\nfunction installRenderHelpers (target) {\n target._o = markOnce;\n target._n = toNumber;\n target._s = toString;\n target._l = renderList;\n target._t = renderSlot;\n target._q = looseEqual;\n target._i = looseIndexOf;\n target._m = renderStatic;\n target._f = resolveFilter;\n target._k = checkKeyCodes;\n target._b = bindObjectProps;\n target._v = createTextVNode;\n target._e = createEmptyVNode;\n target._u = resolveScopedSlots;\n target._g = bindObjectListeners;\n target._d = bindDynamicKeys;\n target._p = prependModifier;\n}\n\n/* */\n\nfunction FunctionalRenderContext (\n data,\n props,\n children,\n parent,\n Ctor\n) {\n var this$1 = this;\n\n var options = Ctor.options;\n // ensure the createElement function in functional components\n // gets a unique context - this is necessary for correct named slot check\n var contextVm;\n if (hasOwn(parent, '_uid')) {\n contextVm = Object.create(parent);\n // $flow-disable-line\n contextVm._original = parent;\n } else {\n // the context vm passed in is a functional context as well.\n // in this case we want to make sure we are able to get a hold to the\n // real context instance.\n contextVm = parent;\n // $flow-disable-line\n parent = parent._original;\n }\n var isCompiled = isTrue(options._compiled);\n var needNormalization = !isCompiled;\n\n this.data = data;\n this.props = props;\n this.children = children;\n this.parent = parent;\n this.listeners = data.on || emptyObject;\n this.injections = resolveInject(options.inject, parent);\n this.slots = function () {\n if (!this$1.$slots) {\n normalizeScopedSlots(\n data.scopedSlots,\n this$1.$slots = resolveSlots(children, parent)\n );\n }\n return this$1.$slots\n };\n\n Object.defineProperty(this, 'scopedSlots', ({\n enumerable: true,\n get: function get () {\n return normalizeScopedSlots(data.scopedSlots, this.slots())\n }\n }));\n\n // support for compiled functional template\n if (isCompiled) {\n // exposing $options for renderStatic()\n this.$options = options;\n // pre-resolve slots for renderSlot()\n this.$slots = this.slots();\n this.$scopedSlots = normalizeScopedSlots(data.scopedSlots, this.$slots);\n }\n\n if (options._scopeId) {\n this._c = function (a, b, c, d) {\n var vnode = createElement(contextVm, a, b, c, d, needNormalization);\n if (vnode && !Array.isArray(vnode)) {\n vnode.fnScopeId = options._scopeId;\n vnode.fnContext = parent;\n }\n return vnode\n };\n } else {\n this._c = function (a, b, c, d) { return createElement(contextVm, a, b, c, d, needNormalization); };\n }\n}\n\ninstallRenderHelpers(FunctionalRenderContext.prototype);\n\nfunction createFunctionalComponent (\n Ctor,\n propsData,\n data,\n contextVm,\n children\n) {\n var options = Ctor.options;\n var props = {};\n var propOptions = options.props;\n if (isDef(propOptions)) {\n for (var key in propOptions) {\n props[key] = validateProp(key, propOptions, propsData || emptyObject);\n }\n } else {\n if (isDef(data.attrs)) { mergeProps(props, data.attrs); }\n if (isDef(data.props)) { mergeProps(props, data.props); }\n }\n\n var renderContext = new FunctionalRenderContext(\n data,\n props,\n children,\n contextVm,\n Ctor\n );\n\n var vnode = options.render.call(null, renderContext._c, renderContext);\n\n if (vnode instanceof VNode) {\n return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options, renderContext)\n } else if (Array.isArray(vnode)) {\n var vnodes = normalizeChildren(vnode) || [];\n var res = new Array(vnodes.length);\n for (var i = 0; i < vnodes.length; i++) {\n res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options, renderContext);\n }\n return res\n }\n}\n\nfunction cloneAndMarkFunctionalResult (vnode, data, contextVm, options, renderContext) {\n // #7817 clone node before setting fnContext, otherwise if the node is reused\n // (e.g. it was from a cached normal slot) the fnContext causes named slots\n // that should not be matched to match.\n var clone = cloneVNode(vnode);\n clone.fnContext = contextVm;\n clone.fnOptions = options;\n if (process.env.NODE_ENV !== 'production') {\n (clone.devtoolsMeta = clone.devtoolsMeta || {}).renderContext = renderContext;\n }\n if (data.slot) {\n (clone.data || (clone.data = {})).slot = data.slot;\n }\n return clone\n}\n\nfunction mergeProps (to, from) {\n for (var key in from) {\n to[camelize(key)] = from[key];\n }\n}\n\n/* */\n\n/* */\n\n/* */\n\n/* */\n\n// inline hooks to be invoked on component VNodes during patch\nvar componentVNodeHooks = {\n init: function init (vnode, hydrating) {\n if (\n vnode.componentInstance &&\n !vnode.componentInstance._isDestroyed &&\n vnode.data.keepAlive\n ) {\n // kept-alive components, treat as a patch\n var mountedNode = vnode; // work around flow\n componentVNodeHooks.prepatch(mountedNode, mountedNode);\n } else {\n var child = vnode.componentInstance = createComponentInstanceForVnode(\n vnode,\n activeInstance\n );\n child.$mount(hydrating ? vnode.elm : undefined, hydrating);\n }\n },\n\n prepatch: function prepatch (oldVnode, vnode) {\n var options = vnode.componentOptions;\n var child = vnode.componentInstance = oldVnode.componentInstance;\n updateChildComponent(\n child,\n options.propsData, // updated props\n options.listeners, // updated listeners\n vnode, // new parent vnode\n options.children // new children\n );\n },\n\n insert: function insert (vnode) {\n var context = vnode.context;\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isMounted) {\n componentInstance._isMounted = true;\n callHook(componentInstance, 'mounted');\n }\n if (vnode.data.keepAlive) {\n if (context._isMounted) {\n // vue-router#1212\n // During updates, a kept-alive component's child components may\n // change, so directly walking the tree here may call activated hooks\n // on incorrect children. Instead we push them into a queue which will\n // be processed after the whole patch process ended.\n queueActivatedComponent(componentInstance);\n } else {\n activateChildComponent(componentInstance, true /* direct */);\n }\n }\n },\n\n destroy: function destroy (vnode) {\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isDestroyed) {\n if (!vnode.data.keepAlive) {\n componentInstance.$destroy();\n } else {\n deactivateChildComponent(componentInstance, true /* direct */);\n }\n }\n }\n};\n\nvar hooksToMerge = Object.keys(componentVNodeHooks);\n\nfunction createComponent (\n Ctor,\n data,\n context,\n children,\n tag\n) {\n if (isUndef(Ctor)) {\n return\n }\n\n var baseCtor = context.$options._base;\n\n // plain options object: turn it into a constructor\n if (isObject(Ctor)) {\n Ctor = baseCtor.extend(Ctor);\n }\n\n // if at this stage it's not a constructor or an async component factory,\n // reject.\n if (typeof Ctor !== 'function') {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Invalid Component definition: \" + (String(Ctor))), context);\n }\n return\n }\n\n // async component\n var asyncFactory;\n if (isUndef(Ctor.cid)) {\n asyncFactory = Ctor;\n Ctor = resolveAsyncComponent(asyncFactory, baseCtor);\n if (Ctor === undefined) {\n // return a placeholder node for async component, which is rendered\n // as a comment node but preserves all the raw information for the node.\n // the information will be used for async server-rendering and hydration.\n return createAsyncPlaceholder(\n asyncFactory,\n data,\n context,\n children,\n tag\n )\n }\n }\n\n data = data || {};\n\n // resolve constructor options in case global mixins are applied after\n // component constructor creation\n resolveConstructorOptions(Ctor);\n\n // transform component v-model data into props & events\n if (isDef(data.model)) {\n transformModel(Ctor.options, data);\n }\n\n // extract props\n var propsData = extractPropsFromVNodeData(data, Ctor, tag);\n\n // functional component\n if (isTrue(Ctor.options.functional)) {\n return createFunctionalComponent(Ctor, propsData, data, context, children)\n }\n\n // extract listeners, since these needs to be treated as\n // child component listeners instead of DOM listeners\n var listeners = data.on;\n // replace with listeners with .native modifier\n // so it gets processed during parent component patch.\n data.on = data.nativeOn;\n\n if (isTrue(Ctor.options.abstract)) {\n // abstract components do not keep anything\n // other than props & listeners & slot\n\n // work around flow\n var slot = data.slot;\n data = {};\n if (slot) {\n data.slot = slot;\n }\n }\n\n // install component management hooks onto the placeholder node\n installComponentHooks(data);\n\n // return a placeholder vnode\n var name = Ctor.options.name || tag;\n var vnode = new VNode(\n (\"vue-component-\" + (Ctor.cid) + (name ? (\"-\" + name) : '')),\n data, undefined, undefined, undefined, context,\n { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children },\n asyncFactory\n );\n\n return vnode\n}\n\nfunction createComponentInstanceForVnode (\n vnode, // we know it's MountedComponentVNode but flow doesn't\n parent // activeInstance in lifecycle state\n) {\n var options = {\n _isComponent: true,\n _parentVnode: vnode,\n parent: parent\n };\n // check inline-template render functions\n var inlineTemplate = vnode.data.inlineTemplate;\n if (isDef(inlineTemplate)) {\n options.render = inlineTemplate.render;\n options.staticRenderFns = inlineTemplate.staticRenderFns;\n }\n return new vnode.componentOptions.Ctor(options)\n}\n\nfunction installComponentHooks (data) {\n var hooks = data.hook || (data.hook = {});\n for (var i = 0; i < hooksToMerge.length; i++) {\n var key = hooksToMerge[i];\n var existing = hooks[key];\n var toMerge = componentVNodeHooks[key];\n if (existing !== toMerge && !(existing && existing._merged)) {\n hooks[key] = existing ? mergeHook$1(toMerge, existing) : toMerge;\n }\n }\n}\n\nfunction mergeHook$1 (f1, f2) {\n var merged = function (a, b) {\n // flow complains about extra args which is why we use any\n f1(a, b);\n f2(a, b);\n };\n merged._merged = true;\n return merged\n}\n\n// transform component v-model info (value and callback) into\n// prop and event handler respectively.\nfunction transformModel (options, data) {\n var prop = (options.model && options.model.prop) || 'value';\n var event = (options.model && options.model.event) || 'input'\n ;(data.attrs || (data.attrs = {}))[prop] = data.model.value;\n var on = data.on || (data.on = {});\n var existing = on[event];\n var callback = data.model.callback;\n if (isDef(existing)) {\n if (\n Array.isArray(existing)\n ? existing.indexOf(callback) === -1\n : existing !== callback\n ) {\n on[event] = [callback].concat(existing);\n }\n } else {\n on[event] = callback;\n }\n}\n\n/* */\n\nvar SIMPLE_NORMALIZE = 1;\nvar ALWAYS_NORMALIZE = 2;\n\n// wrapper function for providing a more flexible interface\n// without getting yelled at by flow\nfunction createElement (\n context,\n tag,\n data,\n children,\n normalizationType,\n alwaysNormalize\n) {\n if (Array.isArray(data) || isPrimitive(data)) {\n normalizationType = children;\n children = data;\n data = undefined;\n }\n if (isTrue(alwaysNormalize)) {\n normalizationType = ALWAYS_NORMALIZE;\n }\n return _createElement(context, tag, data, children, normalizationType)\n}\n\nfunction _createElement (\n context,\n tag,\n data,\n children,\n normalizationType\n) {\n if (isDef(data) && isDef((data).__ob__)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Avoid using observed data object as vnode data: \" + (JSON.stringify(data)) + \"\\n\" +\n 'Always create fresh vnode data objects in each render!',\n context\n );\n return createEmptyVNode()\n }\n // object syntax in v-bind\n if (isDef(data) && isDef(data.is)) {\n tag = data.is;\n }\n if (!tag) {\n // in case of component :is set to falsy value\n return createEmptyVNode()\n }\n // warn against non-primitive key\n if (process.env.NODE_ENV !== 'production' &&\n isDef(data) && isDef(data.key) && !isPrimitive(data.key)\n ) {\n {\n warn(\n 'Avoid using non-primitive value as key, ' +\n 'use string/number value instead.',\n context\n );\n }\n }\n // support single function children as default scoped slot\n if (Array.isArray(children) &&\n typeof children[0] === 'function'\n ) {\n data = data || {};\n data.scopedSlots = { default: children[0] };\n children.length = 0;\n }\n if (normalizationType === ALWAYS_NORMALIZE) {\n children = normalizeChildren(children);\n } else if (normalizationType === SIMPLE_NORMALIZE) {\n children = simpleNormalizeChildren(children);\n }\n var vnode, ns;\n if (typeof tag === 'string') {\n var Ctor;\n ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag);\n if (config.isReservedTag(tag)) {\n // platform built-in elements\n if (process.env.NODE_ENV !== 'production' && isDef(data) && isDef(data.nativeOn)) {\n warn(\n (\"The .native modifier for v-on is only valid on components but it was used on <\" + tag + \">.\"),\n context\n );\n }\n vnode = new VNode(\n config.parsePlatformTagName(tag), data, children,\n undefined, undefined, context\n );\n } else if ((!data || !data.pre) && isDef(Ctor = resolveAsset(context.$options, 'components', tag))) {\n // component\n vnode = createComponent(Ctor, data, context, children, tag);\n } else {\n // unknown or unlisted namespaced elements\n // check at runtime because it may get assigned a namespace when its\n // parent normalizes children\n vnode = new VNode(\n tag, data, children,\n undefined, undefined, context\n );\n }\n } else {\n // direct component options / constructor\n vnode = createComponent(tag, data, context, children);\n }\n if (Array.isArray(vnode)) {\n return vnode\n } else if (isDef(vnode)) {\n if (isDef(ns)) { applyNS(vnode, ns); }\n if (isDef(data)) { registerDeepBindings(data); }\n return vnode\n } else {\n return createEmptyVNode()\n }\n}\n\nfunction applyNS (vnode, ns, force) {\n vnode.ns = ns;\n if (vnode.tag === 'foreignObject') {\n // use default namespace inside foreignObject\n ns = undefined;\n force = true;\n }\n if (isDef(vnode.children)) {\n for (var i = 0, l = vnode.children.length; i < l; i++) {\n var child = vnode.children[i];\n if (isDef(child.tag) && (\n isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) {\n applyNS(child, ns, force);\n }\n }\n }\n}\n\n// ref #5318\n// necessary to ensure parent re-render when deep bindings like :style and\n// :class are used on slot nodes\nfunction registerDeepBindings (data) {\n if (isObject(data.style)) {\n traverse(data.style);\n }\n if (isObject(data.class)) {\n traverse(data.class);\n }\n}\n\n/* */\n\nfunction initRender (vm) {\n vm._vnode = null; // the root of the child tree\n vm._staticTrees = null; // v-once cached trees\n var options = vm.$options;\n var parentVnode = vm.$vnode = options._parentVnode; // the placeholder node in parent tree\n var renderContext = parentVnode && parentVnode.context;\n vm.$slots = resolveSlots(options._renderChildren, renderContext);\n vm.$scopedSlots = emptyObject;\n // bind the createElement fn to this instance\n // so that we get proper render context inside it.\n // args order: tag, data, children, normalizationType, alwaysNormalize\n // internal version is used by render functions compiled from templates\n vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); };\n // normalization is always applied for the public version, used in\n // user-written render functions.\n vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); };\n\n // $attrs & $listeners are exposed for easier HOC creation.\n // they need to be reactive so that HOCs using them are always updated\n var parentData = parentVnode && parentVnode.data;\n\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$attrs is readonly.\", vm);\n }, true);\n defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$listeners is readonly.\", vm);\n }, true);\n } else {\n defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, null, true);\n defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, null, true);\n }\n}\n\nvar currentRenderingInstance = null;\n\nfunction renderMixin (Vue) {\n // install runtime convenience helpers\n installRenderHelpers(Vue.prototype);\n\n Vue.prototype.$nextTick = function (fn) {\n return nextTick(fn, this)\n };\n\n Vue.prototype._render = function () {\n var vm = this;\n var ref = vm.$options;\n var render = ref.render;\n var _parentVnode = ref._parentVnode;\n\n if (_parentVnode) {\n vm.$scopedSlots = normalizeScopedSlots(\n _parentVnode.data.scopedSlots,\n vm.$slots,\n vm.$scopedSlots\n );\n }\n\n // set parent vnode. this allows render functions to have access\n // to the data on the placeholder node.\n vm.$vnode = _parentVnode;\n // render self\n var vnode;\n try {\n // There's no need to maintain a stack because all render fns are called\n // separately from one another. Nested component's render fns are called\n // when parent component is patched.\n currentRenderingInstance = vm;\n vnode = render.call(vm._renderProxy, vm.$createElement);\n } catch (e) {\n handleError(e, vm, \"render\");\n // return error render result,\n // or previous vnode to prevent render error causing blank component\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production' && vm.$options.renderError) {\n try {\n vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e);\n } catch (e) {\n handleError(e, vm, \"renderError\");\n vnode = vm._vnode;\n }\n } else {\n vnode = vm._vnode;\n }\n } finally {\n currentRenderingInstance = null;\n }\n // if the returned array contains only a single node, allow it\n if (Array.isArray(vnode) && vnode.length === 1) {\n vnode = vnode[0];\n }\n // return empty vnode in case the render function errored out\n if (!(vnode instanceof VNode)) {\n if (process.env.NODE_ENV !== 'production' && Array.isArray(vnode)) {\n warn(\n 'Multiple root nodes returned from render function. Render function ' +\n 'should return a single root node.',\n vm\n );\n }\n vnode = createEmptyVNode();\n }\n // set parent\n vnode.parent = _parentVnode;\n return vnode\n };\n}\n\n/* */\n\nfunction ensureCtor (comp, base) {\n if (\n comp.__esModule ||\n (hasSymbol && comp[Symbol.toStringTag] === 'Module')\n ) {\n comp = comp.default;\n }\n return isObject(comp)\n ? base.extend(comp)\n : comp\n}\n\nfunction createAsyncPlaceholder (\n factory,\n data,\n context,\n children,\n tag\n) {\n var node = createEmptyVNode();\n node.asyncFactory = factory;\n node.asyncMeta = { data: data, context: context, children: children, tag: tag };\n return node\n}\n\nfunction resolveAsyncComponent (\n factory,\n baseCtor\n) {\n if (isTrue(factory.error) && isDef(factory.errorComp)) {\n return factory.errorComp\n }\n\n if (isDef(factory.resolved)) {\n return factory.resolved\n }\n\n var owner = currentRenderingInstance;\n if (owner && isDef(factory.owners) && factory.owners.indexOf(owner) === -1) {\n // already pending\n factory.owners.push(owner);\n }\n\n if (isTrue(factory.loading) && isDef(factory.loadingComp)) {\n return factory.loadingComp\n }\n\n if (owner && !isDef(factory.owners)) {\n var owners = factory.owners = [owner];\n var sync = true;\n var timerLoading = null;\n var timerTimeout = null\n\n ;(owner).$on('hook:destroyed', function () { return remove(owners, owner); });\n\n var forceRender = function (renderCompleted) {\n for (var i = 0, l = owners.length; i < l; i++) {\n (owners[i]).$forceUpdate();\n }\n\n if (renderCompleted) {\n owners.length = 0;\n if (timerLoading !== null) {\n clearTimeout(timerLoading);\n timerLoading = null;\n }\n if (timerTimeout !== null) {\n clearTimeout(timerTimeout);\n timerTimeout = null;\n }\n }\n };\n\n var resolve = once(function (res) {\n // cache resolved\n factory.resolved = ensureCtor(res, baseCtor);\n // invoke callbacks only if this is not a synchronous resolve\n // (async resolves are shimmed as synchronous during SSR)\n if (!sync) {\n forceRender(true);\n } else {\n owners.length = 0;\n }\n });\n\n var reject = once(function (reason) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed to resolve async component: \" + (String(factory)) +\n (reason ? (\"\\nReason: \" + reason) : '')\n );\n if (isDef(factory.errorComp)) {\n factory.error = true;\n forceRender(true);\n }\n });\n\n var res = factory(resolve, reject);\n\n if (isObject(res)) {\n if (isPromise(res)) {\n // () => Promise\n if (isUndef(factory.resolved)) {\n res.then(resolve, reject);\n }\n } else if (isPromise(res.component)) {\n res.component.then(resolve, reject);\n\n if (isDef(res.error)) {\n factory.errorComp = ensureCtor(res.error, baseCtor);\n }\n\n if (isDef(res.loading)) {\n factory.loadingComp = ensureCtor(res.loading, baseCtor);\n if (res.delay === 0) {\n factory.loading = true;\n } else {\n timerLoading = setTimeout(function () {\n timerLoading = null;\n if (isUndef(factory.resolved) && isUndef(factory.error)) {\n factory.loading = true;\n forceRender(false);\n }\n }, res.delay || 200);\n }\n }\n\n if (isDef(res.timeout)) {\n timerTimeout = setTimeout(function () {\n timerTimeout = null;\n if (isUndef(factory.resolved)) {\n reject(\n process.env.NODE_ENV !== 'production'\n ? (\"timeout (\" + (res.timeout) + \"ms)\")\n : null\n );\n }\n }, res.timeout);\n }\n }\n }\n\n sync = false;\n // return in case resolved synchronously\n return factory.loading\n ? factory.loadingComp\n : factory.resolved\n }\n}\n\n/* */\n\nfunction isAsyncPlaceholder (node) {\n return node.isComment && node.asyncFactory\n}\n\n/* */\n\nfunction getFirstComponentChild (children) {\n if (Array.isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n var c = children[i];\n if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) {\n return c\n }\n }\n }\n}\n\n/* */\n\n/* */\n\nfunction initEvents (vm) {\n vm._events = Object.create(null);\n vm._hasHookEvent = false;\n // init parent attached events\n var listeners = vm.$options._parentListeners;\n if (listeners) {\n updateComponentListeners(vm, listeners);\n }\n}\n\nvar target;\n\nfunction add (event, fn) {\n target.$on(event, fn);\n}\n\nfunction remove$1 (event, fn) {\n target.$off(event, fn);\n}\n\nfunction createOnceHandler (event, fn) {\n var _target = target;\n return function onceHandler () {\n var res = fn.apply(null, arguments);\n if (res !== null) {\n _target.$off(event, onceHandler);\n }\n }\n}\n\nfunction updateComponentListeners (\n vm,\n listeners,\n oldListeners\n) {\n target = vm;\n updateListeners(listeners, oldListeners || {}, add, remove$1, createOnceHandler, vm);\n target = undefined;\n}\n\nfunction eventsMixin (Vue) {\n var hookRE = /^hook:/;\n Vue.prototype.$on = function (event, fn) {\n var vm = this;\n if (Array.isArray(event)) {\n for (var i = 0, l = event.length; i < l; i++) {\n vm.$on(event[i], fn);\n }\n } else {\n (vm._events[event] || (vm._events[event] = [])).push(fn);\n // optimize hook:event cost by using a boolean flag marked at registration\n // instead of a hash lookup\n if (hookRE.test(event)) {\n vm._hasHookEvent = true;\n }\n }\n return vm\n };\n\n Vue.prototype.$once = function (event, fn) {\n var vm = this;\n function on () {\n vm.$off(event, on);\n fn.apply(vm, arguments);\n }\n on.fn = fn;\n vm.$on(event, on);\n return vm\n };\n\n Vue.prototype.$off = function (event, fn) {\n var vm = this;\n // all\n if (!arguments.length) {\n vm._events = Object.create(null);\n return vm\n }\n // array of events\n if (Array.isArray(event)) {\n for (var i$1 = 0, l = event.length; i$1 < l; i$1++) {\n vm.$off(event[i$1], fn);\n }\n return vm\n }\n // specific event\n var cbs = vm._events[event];\n if (!cbs) {\n return vm\n }\n if (!fn) {\n vm._events[event] = null;\n return vm\n }\n // specific handler\n var cb;\n var i = cbs.length;\n while (i--) {\n cb = cbs[i];\n if (cb === fn || cb.fn === fn) {\n cbs.splice(i, 1);\n break\n }\n }\n return vm\n };\n\n Vue.prototype.$emit = function (event) {\n var vm = this;\n if (process.env.NODE_ENV !== 'production') {\n var lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {\n tip(\n \"Event \\\"\" + lowerCaseEvent + \"\\\" is emitted in component \" +\n (formatComponentName(vm)) + \" but the handler is registered for \\\"\" + event + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and you cannot use \" +\n \"v-on to listen to camelCase events when using in-DOM templates. \" +\n \"You should probably use \\\"\" + (hyphenate(event)) + \"\\\" instead of \\\"\" + event + \"\\\".\"\n );\n }\n }\n var cbs = vm._events[event];\n if (cbs) {\n cbs = cbs.length > 1 ? toArray(cbs) : cbs;\n var args = toArray(arguments, 1);\n var info = \"event handler for \\\"\" + event + \"\\\"\";\n for (var i = 0, l = cbs.length; i < l; i++) {\n invokeWithErrorHandling(cbs[i], vm, args, vm, info);\n }\n }\n return vm\n };\n}\n\n/* */\n\nvar activeInstance = null;\nvar isUpdatingChildComponent = false;\n\nfunction setActiveInstance(vm) {\n var prevActiveInstance = activeInstance;\n activeInstance = vm;\n return function () {\n activeInstance = prevActiveInstance;\n }\n}\n\nfunction initLifecycle (vm) {\n var options = vm.$options;\n\n // locate first non-abstract parent\n var parent = options.parent;\n if (parent && !options.abstract) {\n while (parent.$options.abstract && parent.$parent) {\n parent = parent.$parent;\n }\n parent.$children.push(vm);\n }\n\n vm.$parent = parent;\n vm.$root = parent ? parent.$root : vm;\n\n vm.$children = [];\n vm.$refs = {};\n\n vm._watcher = null;\n vm._inactive = null;\n vm._directInactive = false;\n vm._isMounted = false;\n vm._isDestroyed = false;\n vm._isBeingDestroyed = false;\n}\n\nfunction lifecycleMixin (Vue) {\n Vue.prototype._update = function (vnode, hydrating) {\n var vm = this;\n var prevEl = vm.$el;\n var prevVnode = vm._vnode;\n var restoreActiveInstance = setActiveInstance(vm);\n vm._vnode = vnode;\n // Vue.prototype.__patch__ is injected in entry points\n // based on the rendering backend used.\n if (!prevVnode) {\n // initial render\n vm.$el = vm.__patch__(vm.$el, vnode, hydrating, false /* removeOnly */);\n } else {\n // updates\n vm.$el = vm.__patch__(prevVnode, vnode);\n }\n restoreActiveInstance();\n // update __vue__ reference\n if (prevEl) {\n prevEl.__vue__ = null;\n }\n if (vm.$el) {\n vm.$el.__vue__ = vm;\n }\n // if parent is an HOC, update its $el as well\n if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) {\n vm.$parent.$el = vm.$el;\n }\n // updated hook is called by the scheduler to ensure that children are\n // updated in a parent's updated hook.\n };\n\n Vue.prototype.$forceUpdate = function () {\n var vm = this;\n if (vm._watcher) {\n vm._watcher.update();\n }\n };\n\n Vue.prototype.$destroy = function () {\n var vm = this;\n if (vm._isBeingDestroyed) {\n return\n }\n callHook(vm, 'beforeDestroy');\n vm._isBeingDestroyed = true;\n // remove self from parent\n var parent = vm.$parent;\n if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) {\n remove(parent.$children, vm);\n }\n // teardown watchers\n if (vm._watcher) {\n vm._watcher.teardown();\n }\n var i = vm._watchers.length;\n while (i--) {\n vm._watchers[i].teardown();\n }\n // remove reference from data ob\n // frozen object may not have observer.\n if (vm._data.__ob__) {\n vm._data.__ob__.vmCount--;\n }\n // call the last hook...\n vm._isDestroyed = true;\n // invoke destroy hooks on current rendered tree\n vm.__patch__(vm._vnode, null);\n // fire destroyed hook\n callHook(vm, 'destroyed');\n // turn off all instance listeners.\n vm.$off();\n // remove __vue__ reference\n if (vm.$el) {\n vm.$el.__vue__ = null;\n }\n // release circular reference (#6759)\n if (vm.$vnode) {\n vm.$vnode.parent = null;\n }\n };\n}\n\nfunction mountComponent (\n vm,\n el,\n hydrating\n) {\n vm.$el = el;\n if (!vm.$options.render) {\n vm.$options.render = createEmptyVNode;\n if (process.env.NODE_ENV !== 'production') {\n /* istanbul ignore if */\n if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') ||\n vm.$options.el || el) {\n warn(\n 'You are using the runtime-only build of Vue where the template ' +\n 'compiler is not available. Either pre-compile the templates into ' +\n 'render functions, or use the compiler-included build.',\n vm\n );\n } else {\n warn(\n 'Failed to mount component: template or render function not defined.',\n vm\n );\n }\n }\n }\n callHook(vm, 'beforeMount');\n\n var updateComponent;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n updateComponent = function () {\n var name = vm._name;\n var id = vm._uid;\n var startTag = \"vue-perf-start:\" + id;\n var endTag = \"vue-perf-end:\" + id;\n\n mark(startTag);\n var vnode = vm._render();\n mark(endTag);\n measure((\"vue \" + name + \" render\"), startTag, endTag);\n\n mark(startTag);\n vm._update(vnode, hydrating);\n mark(endTag);\n measure((\"vue \" + name + \" patch\"), startTag, endTag);\n };\n } else {\n updateComponent = function () {\n vm._update(vm._render(), hydrating);\n };\n }\n\n // we set this to vm._watcher inside the watcher's constructor\n // since the watcher's initial patch may call $forceUpdate (e.g. inside child\n // component's mounted hook), which relies on vm._watcher being already defined\n new Watcher(vm, updateComponent, noop, {\n before: function before () {\n if (vm._isMounted && !vm._isDestroyed) {\n callHook(vm, 'beforeUpdate');\n }\n }\n }, true /* isRenderWatcher */);\n hydrating = false;\n\n // manually mounted instance, call mounted on self\n // mounted is called for render-created child components in its inserted hook\n if (vm.$vnode == null) {\n vm._isMounted = true;\n callHook(vm, 'mounted');\n }\n return vm\n}\n\nfunction updateChildComponent (\n vm,\n propsData,\n listeners,\n parentVnode,\n renderChildren\n) {\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = true;\n }\n\n // determine whether component has slot children\n // we need to do this before overwriting $options._renderChildren.\n\n // check if there are dynamic scopedSlots (hand-written or compiled but with\n // dynamic slot names). Static scoped slots compiled from template has the\n // \"$stable\" marker.\n var newScopedSlots = parentVnode.data.scopedSlots;\n var oldScopedSlots = vm.$scopedSlots;\n var hasDynamicScopedSlot = !!(\n (newScopedSlots && !newScopedSlots.$stable) ||\n (oldScopedSlots !== emptyObject && !oldScopedSlots.$stable) ||\n (newScopedSlots && vm.$scopedSlots.$key !== newScopedSlots.$key)\n );\n\n // Any static slot children from the parent may have changed during parent's\n // update. Dynamic scoped slots may also have changed. In such cases, a forced\n // update is necessary to ensure correctness.\n var needsForceUpdate = !!(\n renderChildren || // has new static slots\n vm.$options._renderChildren || // has old static slots\n hasDynamicScopedSlot\n );\n\n vm.$options._parentVnode = parentVnode;\n vm.$vnode = parentVnode; // update vm's placeholder node without re-render\n\n if (vm._vnode) { // update child tree's parent\n vm._vnode.parent = parentVnode;\n }\n vm.$options._renderChildren = renderChildren;\n\n // update $attrs and $listeners hash\n // these are also reactive so they may trigger child update if the child\n // used them during render\n vm.$attrs = parentVnode.data.attrs || emptyObject;\n vm.$listeners = listeners || emptyObject;\n\n // update props\n if (propsData && vm.$options.props) {\n toggleObserving(false);\n var props = vm._props;\n var propKeys = vm.$options._propKeys || [];\n for (var i = 0; i < propKeys.length; i++) {\n var key = propKeys[i];\n var propOptions = vm.$options.props; // wtf flow?\n props[key] = validateProp(key, propOptions, propsData, vm);\n }\n toggleObserving(true);\n // keep a copy of raw propsData\n vm.$options.propsData = propsData;\n }\n\n // update listeners\n listeners = listeners || emptyObject;\n var oldListeners = vm.$options._parentListeners;\n vm.$options._parentListeners = listeners;\n updateComponentListeners(vm, listeners, oldListeners);\n\n // resolve slots + force update if has children\n if (needsForceUpdate) {\n vm.$slots = resolveSlots(renderChildren, parentVnode.context);\n vm.$forceUpdate();\n }\n\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = false;\n }\n}\n\nfunction isInInactiveTree (vm) {\n while (vm && (vm = vm.$parent)) {\n if (vm._inactive) { return true }\n }\n return false\n}\n\nfunction activateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = false;\n if (isInInactiveTree(vm)) {\n return\n }\n } else if (vm._directInactive) {\n return\n }\n if (vm._inactive || vm._inactive === null) {\n vm._inactive = false;\n for (var i = 0; i < vm.$children.length; i++) {\n activateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'activated');\n }\n}\n\nfunction deactivateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = true;\n if (isInInactiveTree(vm)) {\n return\n }\n }\n if (!vm._inactive) {\n vm._inactive = true;\n for (var i = 0; i < vm.$children.length; i++) {\n deactivateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'deactivated');\n }\n}\n\nfunction callHook (vm, hook) {\n // #7573 disable dep collection when invoking lifecycle hooks\n pushTarget();\n var handlers = vm.$options[hook];\n var info = hook + \" hook\";\n if (handlers) {\n for (var i = 0, j = handlers.length; i < j; i++) {\n invokeWithErrorHandling(handlers[i], vm, null, vm, info);\n }\n }\n if (vm._hasHookEvent) {\n vm.$emit('hook:' + hook);\n }\n popTarget();\n}\n\n/* */\n\nvar MAX_UPDATE_COUNT = 100;\n\nvar queue = [];\nvar activatedChildren = [];\nvar has = {};\nvar circular = {};\nvar waiting = false;\nvar flushing = false;\nvar index = 0;\n\n/**\n * Reset the scheduler's state.\n */\nfunction resetSchedulerState () {\n index = queue.length = activatedChildren.length = 0;\n has = {};\n if (process.env.NODE_ENV !== 'production') {\n circular = {};\n }\n waiting = flushing = false;\n}\n\n// Async edge case #6566 requires saving the timestamp when event listeners are\n// attached. However, calling performance.now() has a perf overhead especially\n// if the page has thousands of event listeners. Instead, we take a timestamp\n// every time the scheduler flushes and use that for all event listeners\n// attached during that flush.\nvar currentFlushTimestamp = 0;\n\n// Async edge case fix requires storing an event listener's attach timestamp.\nvar getNow = Date.now;\n\n// Determine what event timestamp the browser is using. Annoyingly, the\n// timestamp can either be hi-res (relative to page load) or low-res\n// (relative to UNIX epoch), so in order to compare time we have to use the\n// same timestamp type when saving the flush timestamp.\n// All IE versions use low-res event timestamps, and have problematic clock\n// implementations (#9632)\nif (inBrowser && !isIE) {\n var performance = window.performance;\n if (\n performance &&\n typeof performance.now === 'function' &&\n getNow() > document.createEvent('Event').timeStamp\n ) {\n // if the event timestamp, although evaluated AFTER the Date.now(), is\n // smaller than it, it means the event is using a hi-res timestamp,\n // and we need to use the hi-res version for event listener timestamps as\n // well.\n getNow = function () { return performance.now(); };\n }\n}\n\n/**\n * Flush both queues and run the watchers.\n */\nfunction flushSchedulerQueue () {\n currentFlushTimestamp = getNow();\n flushing = true;\n var watcher, id;\n\n // Sort queue before flush.\n // This ensures that:\n // 1. Components are updated from parent to child. (because parent is always\n // created before the child)\n // 2. A component's user watchers are run before its render watcher (because\n // user watchers are created before the render watcher)\n // 3. If a component is destroyed during a parent component's watcher run,\n // its watchers can be skipped.\n queue.sort(function (a, b) { return a.id - b.id; });\n\n // do not cache length because more watchers might be pushed\n // as we run existing watchers\n for (index = 0; index < queue.length; index++) {\n watcher = queue[index];\n if (watcher.before) {\n watcher.before();\n }\n id = watcher.id;\n has[id] = null;\n watcher.run();\n // in dev build, check and stop circular updates.\n if (process.env.NODE_ENV !== 'production' && has[id] != null) {\n circular[id] = (circular[id] || 0) + 1;\n if (circular[id] > MAX_UPDATE_COUNT) {\n warn(\n 'You may have an infinite update loop ' + (\n watcher.user\n ? (\"in watcher with expression \\\"\" + (watcher.expression) + \"\\\"\")\n : \"in a component render function.\"\n ),\n watcher.vm\n );\n break\n }\n }\n }\n\n // keep copies of post queues before resetting state\n var activatedQueue = activatedChildren.slice();\n var updatedQueue = queue.slice();\n\n resetSchedulerState();\n\n // call component updated and activated hooks\n callActivatedHooks(activatedQueue);\n callUpdatedHooks(updatedQueue);\n\n // devtool hook\n /* istanbul ignore if */\n if (devtools && config.devtools) {\n devtools.emit('flush');\n }\n}\n\nfunction callUpdatedHooks (queue) {\n var i = queue.length;\n while (i--) {\n var watcher = queue[i];\n var vm = watcher.vm;\n if (vm._watcher === watcher && vm._isMounted && !vm._isDestroyed) {\n callHook(vm, 'updated');\n }\n }\n}\n\n/**\n * Queue a kept-alive component that was activated during patch.\n * The queue will be processed after the entire tree has been patched.\n */\nfunction queueActivatedComponent (vm) {\n // setting _inactive to false here so that a render function can\n // rely on checking whether it's in an inactive tree (e.g. router-view)\n vm._inactive = false;\n activatedChildren.push(vm);\n}\n\nfunction callActivatedHooks (queue) {\n for (var i = 0; i < queue.length; i++) {\n queue[i]._inactive = true;\n activateChildComponent(queue[i], true /* true */);\n }\n}\n\n/**\n * Push a watcher into the watcher queue.\n * Jobs with duplicate IDs will be skipped unless it's\n * pushed when the queue is being flushed.\n */\nfunction queueWatcher (watcher) {\n var id = watcher.id;\n if (has[id] == null) {\n has[id] = true;\n if (!flushing) {\n queue.push(watcher);\n } else {\n // if already flushing, splice the watcher based on its id\n // if already past its id, it will be run next immediately.\n var i = queue.length - 1;\n while (i > index && queue[i].id > watcher.id) {\n i--;\n }\n queue.splice(i + 1, 0, watcher);\n }\n // queue the flush\n if (!waiting) {\n waiting = true;\n\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n flushSchedulerQueue();\n return\n }\n nextTick(flushSchedulerQueue);\n }\n }\n}\n\n/* */\n\n\n\nvar uid$2 = 0;\n\n/**\n * A watcher parses an expression, collects dependencies,\n * and fires callback when the expression value changes.\n * This is used for both the $watch() api and directives.\n */\nvar Watcher = function Watcher (\n vm,\n expOrFn,\n cb,\n options,\n isRenderWatcher\n) {\n this.vm = vm;\n if (isRenderWatcher) {\n vm._watcher = this;\n }\n vm._watchers.push(this);\n // options\n if (options) {\n this.deep = !!options.deep;\n this.user = !!options.user;\n this.lazy = !!options.lazy;\n this.sync = !!options.sync;\n this.before = options.before;\n } else {\n this.deep = this.user = this.lazy = this.sync = false;\n }\n this.cb = cb;\n this.id = ++uid$2; // uid for batching\n this.active = true;\n this.dirty = this.lazy; // for lazy watchers\n this.deps = [];\n this.newDeps = [];\n this.depIds = new _Set();\n this.newDepIds = new _Set();\n this.expression = process.env.NODE_ENV !== 'production'\n ? expOrFn.toString()\n : '';\n // parse expression for getter\n if (typeof expOrFn === 'function') {\n this.getter = expOrFn;\n } else {\n this.getter = parsePath(expOrFn);\n if (!this.getter) {\n this.getter = noop;\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed watching path: \\\"\" + expOrFn + \"\\\" \" +\n 'Watcher only accepts simple dot-delimited paths. ' +\n 'For full control, use a function instead.',\n vm\n );\n }\n }\n this.value = this.lazy\n ? undefined\n : this.get();\n};\n\n/**\n * Evaluate the getter, and re-collect dependencies.\n */\nWatcher.prototype.get = function get () {\n pushTarget(this);\n var value;\n var vm = this.vm;\n try {\n value = this.getter.call(vm, vm);\n } catch (e) {\n if (this.user) {\n handleError(e, vm, (\"getter for watcher \\\"\" + (this.expression) + \"\\\"\"));\n } else {\n throw e\n }\n } finally {\n // \"touch\" every property so they are all tracked as\n // dependencies for deep watching\n if (this.deep) {\n traverse(value);\n }\n popTarget();\n this.cleanupDeps();\n }\n return value\n};\n\n/**\n * Add a dependency to this directive.\n */\nWatcher.prototype.addDep = function addDep (dep) {\n var id = dep.id;\n if (!this.newDepIds.has(id)) {\n this.newDepIds.add(id);\n this.newDeps.push(dep);\n if (!this.depIds.has(id)) {\n dep.addSub(this);\n }\n }\n};\n\n/**\n * Clean up for dependency collection.\n */\nWatcher.prototype.cleanupDeps = function cleanupDeps () {\n var i = this.deps.length;\n while (i--) {\n var dep = this.deps[i];\n if (!this.newDepIds.has(dep.id)) {\n dep.removeSub(this);\n }\n }\n var tmp = this.depIds;\n this.depIds = this.newDepIds;\n this.newDepIds = tmp;\n this.newDepIds.clear();\n tmp = this.deps;\n this.deps = this.newDeps;\n this.newDeps = tmp;\n this.newDeps.length = 0;\n};\n\n/**\n * Subscriber interface.\n * Will be called when a dependency changes.\n */\nWatcher.prototype.update = function update () {\n /* istanbul ignore else */\n if (this.lazy) {\n this.dirty = true;\n } else if (this.sync) {\n this.run();\n } else {\n queueWatcher(this);\n }\n};\n\n/**\n * Scheduler job interface.\n * Will be called by the scheduler.\n */\nWatcher.prototype.run = function run () {\n if (this.active) {\n var value = this.get();\n if (\n value !== this.value ||\n // Deep watchers and watchers on Object/Arrays should fire even\n // when the value is the same, because the value may\n // have mutated.\n isObject(value) ||\n this.deep\n ) {\n // set new value\n var oldValue = this.value;\n this.value = value;\n if (this.user) {\n try {\n this.cb.call(this.vm, value, oldValue);\n } catch (e) {\n handleError(e, this.vm, (\"callback for watcher \\\"\" + (this.expression) + \"\\\"\"));\n }\n } else {\n this.cb.call(this.vm, value, oldValue);\n }\n }\n }\n};\n\n/**\n * Evaluate the value of the watcher.\n * This only gets called for lazy watchers.\n */\nWatcher.prototype.evaluate = function evaluate () {\n this.value = this.get();\n this.dirty = false;\n};\n\n/**\n * Depend on all deps collected by this watcher.\n */\nWatcher.prototype.depend = function depend () {\n var i = this.deps.length;\n while (i--) {\n this.deps[i].depend();\n }\n};\n\n/**\n * Remove self from all dependencies' subscriber list.\n */\nWatcher.prototype.teardown = function teardown () {\n if (this.active) {\n // remove self from vm's watcher list\n // this is a somewhat expensive operation so we skip it\n // if the vm is being destroyed.\n if (!this.vm._isBeingDestroyed) {\n remove(this.vm._watchers, this);\n }\n var i = this.deps.length;\n while (i--) {\n this.deps[i].removeSub(this);\n }\n this.active = false;\n }\n};\n\n/* */\n\nvar sharedPropertyDefinition = {\n enumerable: true,\n configurable: true,\n get: noop,\n set: noop\n};\n\nfunction proxy (target, sourceKey, key) {\n sharedPropertyDefinition.get = function proxyGetter () {\n return this[sourceKey][key]\n };\n sharedPropertyDefinition.set = function proxySetter (val) {\n this[sourceKey][key] = val;\n };\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction initState (vm) {\n vm._watchers = [];\n var opts = vm.$options;\n if (opts.props) { initProps(vm, opts.props); }\n if (opts.methods) { initMethods(vm, opts.methods); }\n if (opts.data) {\n initData(vm);\n } else {\n observe(vm._data = {}, true /* asRootData */);\n }\n if (opts.computed) { initComputed(vm, opts.computed); }\n if (opts.watch && opts.watch !== nativeWatch) {\n initWatch(vm, opts.watch);\n }\n}\n\nfunction initProps (vm, propsOptions) {\n var propsData = vm.$options.propsData || {};\n var props = vm._props = {};\n // cache prop keys so that future props updates can iterate using Array\n // instead of dynamic object key enumeration.\n var keys = vm.$options._propKeys = [];\n var isRoot = !vm.$parent;\n // root instance props should be converted\n if (!isRoot) {\n toggleObserving(false);\n }\n var loop = function ( key ) {\n keys.push(key);\n var value = validateProp(key, propsOptions, propsData, vm);\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n var hyphenatedKey = hyphenate(key);\n if (isReservedAttribute(hyphenatedKey) ||\n config.isReservedAttr(hyphenatedKey)) {\n warn(\n (\"\\\"\" + hyphenatedKey + \"\\\" is a reserved attribute and cannot be used as component prop.\"),\n vm\n );\n }\n defineReactive$$1(props, key, value, function () {\n if (!isRoot && !isUpdatingChildComponent) {\n warn(\n \"Avoid mutating a prop directly since the value will be \" +\n \"overwritten whenever the parent component re-renders. \" +\n \"Instead, use a data or computed property based on the prop's \" +\n \"value. Prop being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n }\n });\n } else {\n defineReactive$$1(props, key, value);\n }\n // static props are already proxied on the component's prototype\n // during Vue.extend(). We only need to proxy props defined at\n // instantiation here.\n if (!(key in vm)) {\n proxy(vm, \"_props\", key);\n }\n };\n\n for (var key in propsOptions) loop( key );\n toggleObserving(true);\n}\n\nfunction initData (vm) {\n var data = vm.$options.data;\n data = vm._data = typeof data === 'function'\n ? getData(data, vm)\n : data || {};\n if (!isPlainObject(data)) {\n data = {};\n process.env.NODE_ENV !== 'production' && warn(\n 'data functions should return an object:\\n' +\n 'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function',\n vm\n );\n }\n // proxy data on instance\n var keys = Object.keys(data);\n var props = vm.$options.props;\n var methods = vm.$options.methods;\n var i = keys.length;\n while (i--) {\n var key = keys[i];\n if (process.env.NODE_ENV !== 'production') {\n if (methods && hasOwn(methods, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a data property.\"),\n vm\n );\n }\n }\n if (props && hasOwn(props, key)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"The data property \\\"\" + key + \"\\\" is already declared as a prop. \" +\n \"Use prop default value instead.\",\n vm\n );\n } else if (!isReserved(key)) {\n proxy(vm, \"_data\", key);\n }\n }\n // observe data\n observe(data, true /* asRootData */);\n}\n\nfunction getData (data, vm) {\n // #7573 disable dep collection when invoking data getters\n pushTarget();\n try {\n return data.call(vm, vm)\n } catch (e) {\n handleError(e, vm, \"data()\");\n return {}\n } finally {\n popTarget();\n }\n}\n\nvar computedWatcherOptions = { lazy: true };\n\nfunction initComputed (vm, computed) {\n // $flow-disable-line\n var watchers = vm._computedWatchers = Object.create(null);\n // computed properties are just getters during SSR\n var isSSR = isServerRendering();\n\n for (var key in computed) {\n var userDef = computed[key];\n var getter = typeof userDef === 'function' ? userDef : userDef.get;\n if (process.env.NODE_ENV !== 'production' && getter == null) {\n warn(\n (\"Getter is missing for computed property \\\"\" + key + \"\\\".\"),\n vm\n );\n }\n\n if (!isSSR) {\n // create internal watcher for the computed property.\n watchers[key] = new Watcher(\n vm,\n getter || noop,\n noop,\n computedWatcherOptions\n );\n }\n\n // component-defined computed properties are already defined on the\n // component prototype. We only need to define computed properties defined\n // at instantiation here.\n if (!(key in vm)) {\n defineComputed(vm, key, userDef);\n } else if (process.env.NODE_ENV !== 'production') {\n if (key in vm.$data) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined in data.\"), vm);\n } else if (vm.$options.props && key in vm.$options.props) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined as a prop.\"), vm);\n }\n }\n }\n}\n\nfunction defineComputed (\n target,\n key,\n userDef\n) {\n var shouldCache = !isServerRendering();\n if (typeof userDef === 'function') {\n sharedPropertyDefinition.get = shouldCache\n ? createComputedGetter(key)\n : createGetterInvoker(userDef);\n sharedPropertyDefinition.set = noop;\n } else {\n sharedPropertyDefinition.get = userDef.get\n ? shouldCache && userDef.cache !== false\n ? createComputedGetter(key)\n : createGetterInvoker(userDef.get)\n : noop;\n sharedPropertyDefinition.set = userDef.set || noop;\n }\n if (process.env.NODE_ENV !== 'production' &&\n sharedPropertyDefinition.set === noop) {\n sharedPropertyDefinition.set = function () {\n warn(\n (\"Computed property \\\"\" + key + \"\\\" was assigned to but it has no setter.\"),\n this\n );\n };\n }\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction createComputedGetter (key) {\n return function computedGetter () {\n var watcher = this._computedWatchers && this._computedWatchers[key];\n if (watcher) {\n if (watcher.dirty) {\n watcher.evaluate();\n }\n if (Dep.target) {\n watcher.depend();\n }\n return watcher.value\n }\n }\n}\n\nfunction createGetterInvoker(fn) {\n return function computedGetter () {\n return fn.call(this, this)\n }\n}\n\nfunction initMethods (vm, methods) {\n var props = vm.$options.props;\n for (var key in methods) {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof methods[key] !== 'function') {\n warn(\n \"Method \\\"\" + key + \"\\\" has type \\\"\" + (typeof methods[key]) + \"\\\" in the component definition. \" +\n \"Did you reference the function correctly?\",\n vm\n );\n }\n if (props && hasOwn(props, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a prop.\"),\n vm\n );\n }\n if ((key in vm) && isReserved(key)) {\n warn(\n \"Method \\\"\" + key + \"\\\" conflicts with an existing Vue instance method. \" +\n \"Avoid defining component methods that start with _ or $.\"\n );\n }\n }\n vm[key] = typeof methods[key] !== 'function' ? noop : bind(methods[key], vm);\n }\n}\n\nfunction initWatch (vm, watch) {\n for (var key in watch) {\n var handler = watch[key];\n if (Array.isArray(handler)) {\n for (var i = 0; i < handler.length; i++) {\n createWatcher(vm, key, handler[i]);\n }\n } else {\n createWatcher(vm, key, handler);\n }\n }\n}\n\nfunction createWatcher (\n vm,\n expOrFn,\n handler,\n options\n) {\n if (isPlainObject(handler)) {\n options = handler;\n handler = handler.handler;\n }\n if (typeof handler === 'string') {\n handler = vm[handler];\n }\n return vm.$watch(expOrFn, handler, options)\n}\n\nfunction stateMixin (Vue) {\n // flow somehow has problems with directly declared definition object\n // when using Object.defineProperty, so we have to procedurally build up\n // the object here.\n var dataDef = {};\n dataDef.get = function () { return this._data };\n var propsDef = {};\n propsDef.get = function () { return this._props };\n if (process.env.NODE_ENV !== 'production') {\n dataDef.set = function () {\n warn(\n 'Avoid replacing instance root $data. ' +\n 'Use nested data properties instead.',\n this\n );\n };\n propsDef.set = function () {\n warn(\"$props is readonly.\", this);\n };\n }\n Object.defineProperty(Vue.prototype, '$data', dataDef);\n Object.defineProperty(Vue.prototype, '$props', propsDef);\n\n Vue.prototype.$set = set;\n Vue.prototype.$delete = del;\n\n Vue.prototype.$watch = function (\n expOrFn,\n cb,\n options\n ) {\n var vm = this;\n if (isPlainObject(cb)) {\n return createWatcher(vm, expOrFn, cb, options)\n }\n options = options || {};\n options.user = true;\n var watcher = new Watcher(vm, expOrFn, cb, options);\n if (options.immediate) {\n try {\n cb.call(vm, watcher.value);\n } catch (error) {\n handleError(error, vm, (\"callback for immediate watcher \\\"\" + (watcher.expression) + \"\\\"\"));\n }\n }\n return function unwatchFn () {\n watcher.teardown();\n }\n };\n}\n\n/* */\n\nvar uid$3 = 0;\n\nfunction initMixin (Vue) {\n Vue.prototype._init = function (options) {\n var vm = this;\n // a uid\n vm._uid = uid$3++;\n\n var startTag, endTag;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n startTag = \"vue-perf-start:\" + (vm._uid);\n endTag = \"vue-perf-end:\" + (vm._uid);\n mark(startTag);\n }\n\n // a flag to avoid this being observed\n vm._isVue = true;\n // merge options\n if (options && options._isComponent) {\n // optimize internal component instantiation\n // since dynamic options merging is pretty slow, and none of the\n // internal component options needs special treatment.\n initInternalComponent(vm, options);\n } else {\n vm.$options = mergeOptions(\n resolveConstructorOptions(vm.constructor),\n options || {},\n vm\n );\n }\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n initProxy(vm);\n } else {\n vm._renderProxy = vm;\n }\n // expose real self\n vm._self = vm;\n initLifecycle(vm);\n initEvents(vm);\n initRender(vm);\n callHook(vm, 'beforeCreate');\n initInjections(vm); // resolve injections before data/props\n initState(vm);\n initProvide(vm); // resolve provide after data/props\n callHook(vm, 'created');\n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n vm._name = formatComponentName(vm, false);\n mark(endTag);\n measure((\"vue \" + (vm._name) + \" init\"), startTag, endTag);\n }\n\n if (vm.$options.el) {\n vm.$mount(vm.$options.el);\n }\n };\n}\n\nfunction initInternalComponent (vm, options) {\n var opts = vm.$options = Object.create(vm.constructor.options);\n // doing this because it's faster than dynamic enumeration.\n var parentVnode = options._parentVnode;\n opts.parent = options.parent;\n opts._parentVnode = parentVnode;\n\n var vnodeComponentOptions = parentVnode.componentOptions;\n opts.propsData = vnodeComponentOptions.propsData;\n opts._parentListeners = vnodeComponentOptions.listeners;\n opts._renderChildren = vnodeComponentOptions.children;\n opts._componentTag = vnodeComponentOptions.tag;\n\n if (options.render) {\n opts.render = options.render;\n opts.staticRenderFns = options.staticRenderFns;\n }\n}\n\nfunction resolveConstructorOptions (Ctor) {\n var options = Ctor.options;\n if (Ctor.super) {\n var superOptions = resolveConstructorOptions(Ctor.super);\n var cachedSuperOptions = Ctor.superOptions;\n if (superOptions !== cachedSuperOptions) {\n // super option changed,\n // need to resolve new options.\n Ctor.superOptions = superOptions;\n // check if there are any late-modified/attached options (#4976)\n var modifiedOptions = resolveModifiedOptions(Ctor);\n // update base extend options\n if (modifiedOptions) {\n extend(Ctor.extendOptions, modifiedOptions);\n }\n options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions);\n if (options.name) {\n options.components[options.name] = Ctor;\n }\n }\n }\n return options\n}\n\nfunction resolveModifiedOptions (Ctor) {\n var modified;\n var latest = Ctor.options;\n var sealed = Ctor.sealedOptions;\n for (var key in latest) {\n if (latest[key] !== sealed[key]) {\n if (!modified) { modified = {}; }\n modified[key] = latest[key];\n }\n }\n return modified\n}\n\nfunction Vue (options) {\n if (process.env.NODE_ENV !== 'production' &&\n !(this instanceof Vue)\n ) {\n warn('Vue is a constructor and should be called with the `new` keyword');\n }\n this._init(options);\n}\n\ninitMixin(Vue);\nstateMixin(Vue);\neventsMixin(Vue);\nlifecycleMixin(Vue);\nrenderMixin(Vue);\n\n/* */\n\nfunction initUse (Vue) {\n Vue.use = function (plugin) {\n var installedPlugins = (this._installedPlugins || (this._installedPlugins = []));\n if (installedPlugins.indexOf(plugin) > -1) {\n return this\n }\n\n // additional parameters\n var args = toArray(arguments, 1);\n args.unshift(this);\n if (typeof plugin.install === 'function') {\n plugin.install.apply(plugin, args);\n } else if (typeof plugin === 'function') {\n plugin.apply(null, args);\n }\n installedPlugins.push(plugin);\n return this\n };\n}\n\n/* */\n\nfunction initMixin$1 (Vue) {\n Vue.mixin = function (mixin) {\n this.options = mergeOptions(this.options, mixin);\n return this\n };\n}\n\n/* */\n\nfunction initExtend (Vue) {\n /**\n * Each instance constructor, including Vue, has a unique\n * cid. This enables us to create wrapped \"child\n * constructors\" for prototypal inheritance and cache them.\n */\n Vue.cid = 0;\n var cid = 1;\n\n /**\n * Class inheritance\n */\n Vue.extend = function (extendOptions) {\n extendOptions = extendOptions || {};\n var Super = this;\n var SuperId = Super.cid;\n var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {});\n if (cachedCtors[SuperId]) {\n return cachedCtors[SuperId]\n }\n\n var name = extendOptions.name || Super.options.name;\n if (process.env.NODE_ENV !== 'production' && name) {\n validateComponentName(name);\n }\n\n var Sub = function VueComponent (options) {\n this._init(options);\n };\n Sub.prototype = Object.create(Super.prototype);\n Sub.prototype.constructor = Sub;\n Sub.cid = cid++;\n Sub.options = mergeOptions(\n Super.options,\n extendOptions\n );\n Sub['super'] = Super;\n\n // For props and computed properties, we define the proxy getters on\n // the Vue instances at extension time, on the extended prototype. This\n // avoids Object.defineProperty calls for each instance created.\n if (Sub.options.props) {\n initProps$1(Sub);\n }\n if (Sub.options.computed) {\n initComputed$1(Sub);\n }\n\n // allow further extension/mixin/plugin usage\n Sub.extend = Super.extend;\n Sub.mixin = Super.mixin;\n Sub.use = Super.use;\n\n // create asset registers, so extended classes\n // can have their private assets too.\n ASSET_TYPES.forEach(function (type) {\n Sub[type] = Super[type];\n });\n // enable recursive self-lookup\n if (name) {\n Sub.options.components[name] = Sub;\n }\n\n // keep a reference to the super options at extension time.\n // later at instantiation we can check if Super's options have\n // been updated.\n Sub.superOptions = Super.options;\n Sub.extendOptions = extendOptions;\n Sub.sealedOptions = extend({}, Sub.options);\n\n // cache constructor\n cachedCtors[SuperId] = Sub;\n return Sub\n };\n}\n\nfunction initProps$1 (Comp) {\n var props = Comp.options.props;\n for (var key in props) {\n proxy(Comp.prototype, \"_props\", key);\n }\n}\n\nfunction initComputed$1 (Comp) {\n var computed = Comp.options.computed;\n for (var key in computed) {\n defineComputed(Comp.prototype, key, computed[key]);\n }\n}\n\n/* */\n\nfunction initAssetRegisters (Vue) {\n /**\n * Create asset registration methods.\n */\n ASSET_TYPES.forEach(function (type) {\n Vue[type] = function (\n id,\n definition\n ) {\n if (!definition) {\n return this.options[type + 's'][id]\n } else {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && type === 'component') {\n validateComponentName(id);\n }\n if (type === 'component' && isPlainObject(definition)) {\n definition.name = definition.name || id;\n definition = this.options._base.extend(definition);\n }\n if (type === 'directive' && typeof definition === 'function') {\n definition = { bind: definition, update: definition };\n }\n this.options[type + 's'][id] = definition;\n return definition\n }\n };\n });\n}\n\n/* */\n\n\n\nfunction getComponentName (opts) {\n return opts && (opts.Ctor.options.name || opts.tag)\n}\n\nfunction matches (pattern, name) {\n if (Array.isArray(pattern)) {\n return pattern.indexOf(name) > -1\n } else if (typeof pattern === 'string') {\n return pattern.split(',').indexOf(name) > -1\n } else if (isRegExp(pattern)) {\n return pattern.test(name)\n }\n /* istanbul ignore next */\n return false\n}\n\nfunction pruneCache (keepAliveInstance, filter) {\n var cache = keepAliveInstance.cache;\n var keys = keepAliveInstance.keys;\n var _vnode = keepAliveInstance._vnode;\n for (var key in cache) {\n var cachedNode = cache[key];\n if (cachedNode) {\n var name = getComponentName(cachedNode.componentOptions);\n if (name && !filter(name)) {\n pruneCacheEntry(cache, key, keys, _vnode);\n }\n }\n }\n}\n\nfunction pruneCacheEntry (\n cache,\n key,\n keys,\n current\n) {\n var cached$$1 = cache[key];\n if (cached$$1 && (!current || cached$$1.tag !== current.tag)) {\n cached$$1.componentInstance.$destroy();\n }\n cache[key] = null;\n remove(keys, key);\n}\n\nvar patternTypes = [String, RegExp, Array];\n\nvar KeepAlive = {\n name: 'keep-alive',\n abstract: true,\n\n props: {\n include: patternTypes,\n exclude: patternTypes,\n max: [String, Number]\n },\n\n created: function created () {\n this.cache = Object.create(null);\n this.keys = [];\n },\n\n destroyed: function destroyed () {\n for (var key in this.cache) {\n pruneCacheEntry(this.cache, key, this.keys);\n }\n },\n\n mounted: function mounted () {\n var this$1 = this;\n\n this.$watch('include', function (val) {\n pruneCache(this$1, function (name) { return matches(val, name); });\n });\n this.$watch('exclude', function (val) {\n pruneCache(this$1, function (name) { return !matches(val, name); });\n });\n },\n\n render: function render () {\n var slot = this.$slots.default;\n var vnode = getFirstComponentChild(slot);\n var componentOptions = vnode && vnode.componentOptions;\n if (componentOptions) {\n // check pattern\n var name = getComponentName(componentOptions);\n var ref = this;\n var include = ref.include;\n var exclude = ref.exclude;\n if (\n // not included\n (include && (!name || !matches(include, name))) ||\n // excluded\n (exclude && name && matches(exclude, name))\n ) {\n return vnode\n }\n\n var ref$1 = this;\n var cache = ref$1.cache;\n var keys = ref$1.keys;\n var key = vnode.key == null\n // same constructor may get registered as different local components\n // so cid alone is not enough (#3269)\n ? componentOptions.Ctor.cid + (componentOptions.tag ? (\"::\" + (componentOptions.tag)) : '')\n : vnode.key;\n if (cache[key]) {\n vnode.componentInstance = cache[key].componentInstance;\n // make current key freshest\n remove(keys, key);\n keys.push(key);\n } else {\n cache[key] = vnode;\n keys.push(key);\n // prune oldest entry\n if (this.max && keys.length > parseInt(this.max)) {\n pruneCacheEntry(cache, keys[0], keys, this._vnode);\n }\n }\n\n vnode.data.keepAlive = true;\n }\n return vnode || (slot && slot[0])\n }\n};\n\nvar builtInComponents = {\n KeepAlive: KeepAlive\n};\n\n/* */\n\nfunction initGlobalAPI (Vue) {\n // config\n var configDef = {};\n configDef.get = function () { return config; };\n if (process.env.NODE_ENV !== 'production') {\n configDef.set = function () {\n warn(\n 'Do not replace the Vue.config object, set individual fields instead.'\n );\n };\n }\n Object.defineProperty(Vue, 'config', configDef);\n\n // exposed util methods.\n // NOTE: these are not considered part of the public API - avoid relying on\n // them unless you are aware of the risk.\n Vue.util = {\n warn: warn,\n extend: extend,\n mergeOptions: mergeOptions,\n defineReactive: defineReactive$$1\n };\n\n Vue.set = set;\n Vue.delete = del;\n Vue.nextTick = nextTick;\n\n // 2.6 explicit observable API\n Vue.observable = function (obj) {\n observe(obj);\n return obj\n };\n\n Vue.options = Object.create(null);\n ASSET_TYPES.forEach(function (type) {\n Vue.options[type + 's'] = Object.create(null);\n });\n\n // this is used to identify the \"base\" constructor to extend all plain-object\n // components with in Weex's multi-instance scenarios.\n Vue.options._base = Vue;\n\n extend(Vue.options.components, builtInComponents);\n\n initUse(Vue);\n initMixin$1(Vue);\n initExtend(Vue);\n initAssetRegisters(Vue);\n}\n\ninitGlobalAPI(Vue);\n\nObject.defineProperty(Vue.prototype, '$isServer', {\n get: isServerRendering\n});\n\nObject.defineProperty(Vue.prototype, '$ssrContext', {\n get: function get () {\n /* istanbul ignore next */\n return this.$vnode && this.$vnode.ssrContext\n }\n});\n\n// expose FunctionalRenderContext for ssr runtime helper installation\nObject.defineProperty(Vue, 'FunctionalRenderContext', {\n value: FunctionalRenderContext\n});\n\nVue.version = '2.6.12';\n\n/* */\n\n// these are reserved for web because they are directly compiled away\n// during template compilation\nvar isReservedAttr = makeMap('style,class');\n\n// attributes that should be using props for binding\nvar acceptValue = makeMap('input,textarea,option,select,progress');\nvar mustUseProp = function (tag, type, attr) {\n return (\n (attr === 'value' && acceptValue(tag)) && type !== 'button' ||\n (attr === 'selected' && tag === 'option') ||\n (attr === 'checked' && tag === 'input') ||\n (attr === 'muted' && tag === 'video')\n )\n};\n\nvar isEnumeratedAttr = makeMap('contenteditable,draggable,spellcheck');\n\nvar isValidContentEditableValue = makeMap('events,caret,typing,plaintext-only');\n\nvar convertEnumeratedValue = function (key, value) {\n return isFalsyAttrValue(value) || value === 'false'\n ? 'false'\n // allow arbitrary string value for contenteditable\n : key === 'contenteditable' && isValidContentEditableValue(value)\n ? value\n : 'true'\n};\n\nvar isBooleanAttr = makeMap(\n 'allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,' +\n 'default,defaultchecked,defaultmuted,defaultselected,defer,disabled,' +\n 'enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,' +\n 'muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,' +\n 'required,reversed,scoped,seamless,selected,sortable,translate,' +\n 'truespeed,typemustmatch,visible'\n);\n\nvar xlinkNS = 'http://www.w3.org/1999/xlink';\n\nvar isXlink = function (name) {\n return name.charAt(5) === ':' && name.slice(0, 5) === 'xlink'\n};\n\nvar getXlinkProp = function (name) {\n return isXlink(name) ? name.slice(6, name.length) : ''\n};\n\nvar isFalsyAttrValue = function (val) {\n return val == null || val === false\n};\n\n/* */\n\nfunction genClassForVnode (vnode) {\n var data = vnode.data;\n var parentNode = vnode;\n var childNode = vnode;\n while (isDef(childNode.componentInstance)) {\n childNode = childNode.componentInstance._vnode;\n if (childNode && childNode.data) {\n data = mergeClassData(childNode.data, data);\n }\n }\n while (isDef(parentNode = parentNode.parent)) {\n if (parentNode && parentNode.data) {\n data = mergeClassData(data, parentNode.data);\n }\n }\n return renderClass(data.staticClass, data.class)\n}\n\nfunction mergeClassData (child, parent) {\n return {\n staticClass: concat(child.staticClass, parent.staticClass),\n class: isDef(child.class)\n ? [child.class, parent.class]\n : parent.class\n }\n}\n\nfunction renderClass (\n staticClass,\n dynamicClass\n) {\n if (isDef(staticClass) || isDef(dynamicClass)) {\n return concat(staticClass, stringifyClass(dynamicClass))\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction concat (a, b) {\n return a ? b ? (a + ' ' + b) : a : (b || '')\n}\n\nfunction stringifyClass (value) {\n if (Array.isArray(value)) {\n return stringifyArray(value)\n }\n if (isObject(value)) {\n return stringifyObject(value)\n }\n if (typeof value === 'string') {\n return value\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction stringifyArray (value) {\n var res = '';\n var stringified;\n for (var i = 0, l = value.length; i < l; i++) {\n if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') {\n if (res) { res += ' '; }\n res += stringified;\n }\n }\n return res\n}\n\nfunction stringifyObject (value) {\n var res = '';\n for (var key in value) {\n if (value[key]) {\n if (res) { res += ' '; }\n res += key;\n }\n }\n return res\n}\n\n/* */\n\nvar namespaceMap = {\n svg: 'http://www.w3.org/2000/svg',\n math: 'http://www.w3.org/1998/Math/MathML'\n};\n\nvar isHTMLTag = makeMap(\n 'html,body,base,head,link,meta,style,title,' +\n 'address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,' +\n 'div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,' +\n 'a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,' +\n 's,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,' +\n 'embed,object,param,source,canvas,script,noscript,del,ins,' +\n 'caption,col,colgroup,table,thead,tbody,td,th,tr,' +\n 'button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,' +\n 'output,progress,select,textarea,' +\n 'details,dialog,menu,menuitem,summary,' +\n 'content,element,shadow,template,blockquote,iframe,tfoot'\n);\n\n// this map is intentionally selective, only covering SVG elements that may\n// contain child elements.\nvar isSVG = makeMap(\n 'svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,' +\n 'foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,' +\n 'polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view',\n true\n);\n\nvar isReservedTag = function (tag) {\n return isHTMLTag(tag) || isSVG(tag)\n};\n\nfunction getTagNamespace (tag) {\n if (isSVG(tag)) {\n return 'svg'\n }\n // basic support for MathML\n // note it doesn't support other MathML elements being component roots\n if (tag === 'math') {\n return 'math'\n }\n}\n\nvar unknownElementCache = Object.create(null);\nfunction isUnknownElement (tag) {\n /* istanbul ignore if */\n if (!inBrowser) {\n return true\n }\n if (isReservedTag(tag)) {\n return false\n }\n tag = tag.toLowerCase();\n /* istanbul ignore if */\n if (unknownElementCache[tag] != null) {\n return unknownElementCache[tag]\n }\n var el = document.createElement(tag);\n if (tag.indexOf('-') > -1) {\n // http://stackoverflow.com/a/28210364/1070244\n return (unknownElementCache[tag] = (\n el.constructor === window.HTMLUnknownElement ||\n el.constructor === window.HTMLElement\n ))\n } else {\n return (unknownElementCache[tag] = /HTMLUnknownElement/.test(el.toString()))\n }\n}\n\nvar isTextInputType = makeMap('text,number,password,search,email,tel,url');\n\n/* */\n\n/**\n * Query an element selector if it's not an element already.\n */\nfunction query (el) {\n if (typeof el === 'string') {\n var selected = document.querySelector(el);\n if (!selected) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Cannot find element: ' + el\n );\n return document.createElement('div')\n }\n return selected\n } else {\n return el\n }\n}\n\n/* */\n\nfunction createElement$1 (tagName, vnode) {\n var elm = document.createElement(tagName);\n if (tagName !== 'select') {\n return elm\n }\n // false or null will remove the attribute but undefined will not\n if (vnode.data && vnode.data.attrs && vnode.data.attrs.multiple !== undefined) {\n elm.setAttribute('multiple', 'multiple');\n }\n return elm\n}\n\nfunction createElementNS (namespace, tagName) {\n return document.createElementNS(namespaceMap[namespace], tagName)\n}\n\nfunction createTextNode (text) {\n return document.createTextNode(text)\n}\n\nfunction createComment (text) {\n return document.createComment(text)\n}\n\nfunction insertBefore (parentNode, newNode, referenceNode) {\n parentNode.insertBefore(newNode, referenceNode);\n}\n\nfunction removeChild (node, child) {\n node.removeChild(child);\n}\n\nfunction appendChild (node, child) {\n node.appendChild(child);\n}\n\nfunction parentNode (node) {\n return node.parentNode\n}\n\nfunction nextSibling (node) {\n return node.nextSibling\n}\n\nfunction tagName (node) {\n return node.tagName\n}\n\nfunction setTextContent (node, text) {\n node.textContent = text;\n}\n\nfunction setStyleScope (node, scopeId) {\n node.setAttribute(scopeId, '');\n}\n\nvar nodeOps = /*#__PURE__*/Object.freeze({\n createElement: createElement$1,\n createElementNS: createElementNS,\n createTextNode: createTextNode,\n createComment: createComment,\n insertBefore: insertBefore,\n removeChild: removeChild,\n appendChild: appendChild,\n parentNode: parentNode,\n nextSibling: nextSibling,\n tagName: tagName,\n setTextContent: setTextContent,\n setStyleScope: setStyleScope\n});\n\n/* */\n\nvar ref = {\n create: function create (_, vnode) {\n registerRef(vnode);\n },\n update: function update (oldVnode, vnode) {\n if (oldVnode.data.ref !== vnode.data.ref) {\n registerRef(oldVnode, true);\n registerRef(vnode);\n }\n },\n destroy: function destroy (vnode) {\n registerRef(vnode, true);\n }\n};\n\nfunction registerRef (vnode, isRemoval) {\n var key = vnode.data.ref;\n if (!isDef(key)) { return }\n\n var vm = vnode.context;\n var ref = vnode.componentInstance || vnode.elm;\n var refs = vm.$refs;\n if (isRemoval) {\n if (Array.isArray(refs[key])) {\n remove(refs[key], ref);\n } else if (refs[key] === ref) {\n refs[key] = undefined;\n }\n } else {\n if (vnode.data.refInFor) {\n if (!Array.isArray(refs[key])) {\n refs[key] = [ref];\n } else if (refs[key].indexOf(ref) < 0) {\n // $flow-disable-line\n refs[key].push(ref);\n }\n } else {\n refs[key] = ref;\n }\n }\n}\n\n/**\n * Virtual DOM patching algorithm based on Snabbdom by\n * Simon Friis Vindum (@paldepind)\n * Licensed under the MIT License\n * https://github.com/paldepind/snabbdom/blob/master/LICENSE\n *\n * modified by Evan You (@yyx990803)\n *\n * Not type-checking this because this file is perf-critical and the cost\n * of making flow understand it is not worth it.\n */\n\nvar emptyNode = new VNode('', {}, []);\n\nvar hooks = ['create', 'activate', 'update', 'remove', 'destroy'];\n\nfunction sameVnode (a, b) {\n return (\n a.key === b.key && (\n (\n a.tag === b.tag &&\n a.isComment === b.isComment &&\n isDef(a.data) === isDef(b.data) &&\n sameInputType(a, b)\n ) || (\n isTrue(a.isAsyncPlaceholder) &&\n a.asyncFactory === b.asyncFactory &&\n isUndef(b.asyncFactory.error)\n )\n )\n )\n}\n\nfunction sameInputType (a, b) {\n if (a.tag !== 'input') { return true }\n var i;\n var typeA = isDef(i = a.data) && isDef(i = i.attrs) && i.type;\n var typeB = isDef(i = b.data) && isDef(i = i.attrs) && i.type;\n return typeA === typeB || isTextInputType(typeA) && isTextInputType(typeB)\n}\n\nfunction createKeyToOldIdx (children, beginIdx, endIdx) {\n var i, key;\n var map = {};\n for (i = beginIdx; i <= endIdx; ++i) {\n key = children[i].key;\n if (isDef(key)) { map[key] = i; }\n }\n return map\n}\n\nfunction createPatchFunction (backend) {\n var i, j;\n var cbs = {};\n\n var modules = backend.modules;\n var nodeOps = backend.nodeOps;\n\n for (i = 0; i < hooks.length; ++i) {\n cbs[hooks[i]] = [];\n for (j = 0; j < modules.length; ++j) {\n if (isDef(modules[j][hooks[i]])) {\n cbs[hooks[i]].push(modules[j][hooks[i]]);\n }\n }\n }\n\n function emptyNodeAt (elm) {\n return new VNode(nodeOps.tagName(elm).toLowerCase(), {}, [], undefined, elm)\n }\n\n function createRmCb (childElm, listeners) {\n function remove$$1 () {\n if (--remove$$1.listeners === 0) {\n removeNode(childElm);\n }\n }\n remove$$1.listeners = listeners;\n return remove$$1\n }\n\n function removeNode (el) {\n var parent = nodeOps.parentNode(el);\n // element may have already been removed due to v-html / v-text\n if (isDef(parent)) {\n nodeOps.removeChild(parent, el);\n }\n }\n\n function isUnknownElement$$1 (vnode, inVPre) {\n return (\n !inVPre &&\n !vnode.ns &&\n !(\n config.ignoredElements.length &&\n config.ignoredElements.some(function (ignore) {\n return isRegExp(ignore)\n ? ignore.test(vnode.tag)\n : ignore === vnode.tag\n })\n ) &&\n config.isUnknownElement(vnode.tag)\n )\n }\n\n var creatingElmInVPre = 0;\n\n function createElm (\n vnode,\n insertedVnodeQueue,\n parentElm,\n refElm,\n nested,\n ownerArray,\n index\n ) {\n if (isDef(vnode.elm) && isDef(ownerArray)) {\n // This vnode was used in a previous render!\n // now it's used as a new node, overwriting its elm would cause\n // potential patch errors down the road when it's used as an insertion\n // reference node. Instead, we clone the node on-demand before creating\n // associated DOM element for it.\n vnode = ownerArray[index] = cloneVNode(vnode);\n }\n\n vnode.isRootInsert = !nested; // for transition enter check\n if (createComponent(vnode, insertedVnodeQueue, parentElm, refElm)) {\n return\n }\n\n var data = vnode.data;\n var children = vnode.children;\n var tag = vnode.tag;\n if (isDef(tag)) {\n if (process.env.NODE_ENV !== 'production') {\n if (data && data.pre) {\n creatingElmInVPre++;\n }\n if (isUnknownElement$$1(vnode, creatingElmInVPre)) {\n warn(\n 'Unknown custom element: <' + tag + '> - did you ' +\n 'register the component correctly? For recursive components, ' +\n 'make sure to provide the \"name\" option.',\n vnode.context\n );\n }\n }\n\n vnode.elm = vnode.ns\n ? nodeOps.createElementNS(vnode.ns, tag)\n : nodeOps.createElement(tag, vnode);\n setScope(vnode);\n\n /* istanbul ignore if */\n {\n createChildren(vnode, children, insertedVnodeQueue);\n if (isDef(data)) {\n invokeCreateHooks(vnode, insertedVnodeQueue);\n }\n insert(parentElm, vnode.elm, refElm);\n }\n\n if (process.env.NODE_ENV !== 'production' && data && data.pre) {\n creatingElmInVPre--;\n }\n } else if (isTrue(vnode.isComment)) {\n vnode.elm = nodeOps.createComment(vnode.text);\n insert(parentElm, vnode.elm, refElm);\n } else {\n vnode.elm = nodeOps.createTextNode(vnode.text);\n insert(parentElm, vnode.elm, refElm);\n }\n }\n\n function createComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n var i = vnode.data;\n if (isDef(i)) {\n var isReactivated = isDef(vnode.componentInstance) && i.keepAlive;\n if (isDef(i = i.hook) && isDef(i = i.init)) {\n i(vnode, false /* hydrating */);\n }\n // after calling the init hook, if the vnode is a child component\n // it should've created a child instance and mounted it. the child\n // component also has set the placeholder vnode's elm.\n // in that case we can just return the element and be done.\n if (isDef(vnode.componentInstance)) {\n initComponent(vnode, insertedVnodeQueue);\n insert(parentElm, vnode.elm, refElm);\n if (isTrue(isReactivated)) {\n reactivateComponent(vnode, insertedVnodeQueue, parentElm, refElm);\n }\n return true\n }\n }\n }\n\n function initComponent (vnode, insertedVnodeQueue) {\n if (isDef(vnode.data.pendingInsert)) {\n insertedVnodeQueue.push.apply(insertedVnodeQueue, vnode.data.pendingInsert);\n vnode.data.pendingInsert = null;\n }\n vnode.elm = vnode.componentInstance.$el;\n if (isPatchable(vnode)) {\n invokeCreateHooks(vnode, insertedVnodeQueue);\n setScope(vnode);\n } else {\n // empty component root.\n // skip all element-related modules except for ref (#3455)\n registerRef(vnode);\n // make sure to invoke the insert hook\n insertedVnodeQueue.push(vnode);\n }\n }\n\n function reactivateComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n var i;\n // hack for #4339: a reactivated component with inner transition\n // does not trigger because the inner node's created hooks are not called\n // again. It's not ideal to involve module-specific logic in here but\n // there doesn't seem to be a better way to do it.\n var innerNode = vnode;\n while (innerNode.componentInstance) {\n innerNode = innerNode.componentInstance._vnode;\n if (isDef(i = innerNode.data) && isDef(i = i.transition)) {\n for (i = 0; i < cbs.activate.length; ++i) {\n cbs.activate[i](emptyNode, innerNode);\n }\n insertedVnodeQueue.push(innerNode);\n break\n }\n }\n // unlike a newly created component,\n // a reactivated keep-alive component doesn't insert itself\n insert(parentElm, vnode.elm, refElm);\n }\n\n function insert (parent, elm, ref$$1) {\n if (isDef(parent)) {\n if (isDef(ref$$1)) {\n if (nodeOps.parentNode(ref$$1) === parent) {\n nodeOps.insertBefore(parent, elm, ref$$1);\n }\n } else {\n nodeOps.appendChild(parent, elm);\n }\n }\n }\n\n function createChildren (vnode, children, insertedVnodeQueue) {\n if (Array.isArray(children)) {\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(children);\n }\n for (var i = 0; i < children.length; ++i) {\n createElm(children[i], insertedVnodeQueue, vnode.elm, null, true, children, i);\n }\n } else if (isPrimitive(vnode.text)) {\n nodeOps.appendChild(vnode.elm, nodeOps.createTextNode(String(vnode.text)));\n }\n }\n\n function isPatchable (vnode) {\n while (vnode.componentInstance) {\n vnode = vnode.componentInstance._vnode;\n }\n return isDef(vnode.tag)\n }\n\n function invokeCreateHooks (vnode, insertedVnodeQueue) {\n for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n cbs.create[i$1](emptyNode, vnode);\n }\n i = vnode.data.hook; // Reuse variable\n if (isDef(i)) {\n if (isDef(i.create)) { i.create(emptyNode, vnode); }\n if (isDef(i.insert)) { insertedVnodeQueue.push(vnode); }\n }\n }\n\n // set scope id attribute for scoped CSS.\n // this is implemented as a special case to avoid the overhead\n // of going through the normal attribute patching process.\n function setScope (vnode) {\n var i;\n if (isDef(i = vnode.fnScopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n } else {\n var ancestor = vnode;\n while (ancestor) {\n if (isDef(i = ancestor.context) && isDef(i = i.$options._scopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n ancestor = ancestor.parent;\n }\n }\n // for slot content they should also get the scopeId from the host instance.\n if (isDef(i = activeInstance) &&\n i !== vnode.context &&\n i !== vnode.fnContext &&\n isDef(i = i.$options._scopeId)\n ) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n }\n\n function addVnodes (parentElm, refElm, vnodes, startIdx, endIdx, insertedVnodeQueue) {\n for (; startIdx <= endIdx; ++startIdx) {\n createElm(vnodes[startIdx], insertedVnodeQueue, parentElm, refElm, false, vnodes, startIdx);\n }\n }\n\n function invokeDestroyHook (vnode) {\n var i, j;\n var data = vnode.data;\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.destroy)) { i(vnode); }\n for (i = 0; i < cbs.destroy.length; ++i) { cbs.destroy[i](vnode); }\n }\n if (isDef(i = vnode.children)) {\n for (j = 0; j < vnode.children.length; ++j) {\n invokeDestroyHook(vnode.children[j]);\n }\n }\n }\n\n function removeVnodes (vnodes, startIdx, endIdx) {\n for (; startIdx <= endIdx; ++startIdx) {\n var ch = vnodes[startIdx];\n if (isDef(ch)) {\n if (isDef(ch.tag)) {\n removeAndInvokeRemoveHook(ch);\n invokeDestroyHook(ch);\n } else { // Text node\n removeNode(ch.elm);\n }\n }\n }\n }\n\n function removeAndInvokeRemoveHook (vnode, rm) {\n if (isDef(rm) || isDef(vnode.data)) {\n var i;\n var listeners = cbs.remove.length + 1;\n if (isDef(rm)) {\n // we have a recursively passed down rm callback\n // increase the listeners count\n rm.listeners += listeners;\n } else {\n // directly removing\n rm = createRmCb(vnode.elm, listeners);\n }\n // recursively invoke hooks on child component root node\n if (isDef(i = vnode.componentInstance) && isDef(i = i._vnode) && isDef(i.data)) {\n removeAndInvokeRemoveHook(i, rm);\n }\n for (i = 0; i < cbs.remove.length; ++i) {\n cbs.remove[i](vnode, rm);\n }\n if (isDef(i = vnode.data.hook) && isDef(i = i.remove)) {\n i(vnode, rm);\n } else {\n rm();\n }\n } else {\n removeNode(vnode.elm);\n }\n }\n\n function updateChildren (parentElm, oldCh, newCh, insertedVnodeQueue, removeOnly) {\n var oldStartIdx = 0;\n var newStartIdx = 0;\n var oldEndIdx = oldCh.length - 1;\n var oldStartVnode = oldCh[0];\n var oldEndVnode = oldCh[oldEndIdx];\n var newEndIdx = newCh.length - 1;\n var newStartVnode = newCh[0];\n var newEndVnode = newCh[newEndIdx];\n var oldKeyToIdx, idxInOld, vnodeToMove, refElm;\n\n // removeOnly is a special flag used only by <transition-group>\n // to ensure removed elements stay in correct relative positions\n // during leaving transitions\n var canMove = !removeOnly;\n\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(newCh);\n }\n\n while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {\n if (isUndef(oldStartVnode)) {\n oldStartVnode = oldCh[++oldStartIdx]; // Vnode has been moved left\n } else if (isUndef(oldEndVnode)) {\n oldEndVnode = oldCh[--oldEndIdx];\n } else if (sameVnode(oldStartVnode, newStartVnode)) {\n patchVnode(oldStartVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n oldStartVnode = oldCh[++oldStartIdx];\n newStartVnode = newCh[++newStartIdx];\n } else if (sameVnode(oldEndVnode, newEndVnode)) {\n patchVnode(oldEndVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx);\n oldEndVnode = oldCh[--oldEndIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldStartVnode, newEndVnode)) { // Vnode moved right\n patchVnode(oldStartVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx);\n canMove && nodeOps.insertBefore(parentElm, oldStartVnode.elm, nodeOps.nextSibling(oldEndVnode.elm));\n oldStartVnode = oldCh[++oldStartIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldEndVnode, newStartVnode)) { // Vnode moved left\n patchVnode(oldEndVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n canMove && nodeOps.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm);\n oldEndVnode = oldCh[--oldEndIdx];\n newStartVnode = newCh[++newStartIdx];\n } else {\n if (isUndef(oldKeyToIdx)) { oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx); }\n idxInOld = isDef(newStartVnode.key)\n ? oldKeyToIdx[newStartVnode.key]\n : findIdxInOld(newStartVnode, oldCh, oldStartIdx, oldEndIdx);\n if (isUndef(idxInOld)) { // New element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n } else {\n vnodeToMove = oldCh[idxInOld];\n if (sameVnode(vnodeToMove, newStartVnode)) {\n patchVnode(vnodeToMove, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n oldCh[idxInOld] = undefined;\n canMove && nodeOps.insertBefore(parentElm, vnodeToMove.elm, oldStartVnode.elm);\n } else {\n // same key but different element. treat as new element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n }\n }\n newStartVnode = newCh[++newStartIdx];\n }\n }\n if (oldStartIdx > oldEndIdx) {\n refElm = isUndef(newCh[newEndIdx + 1]) ? null : newCh[newEndIdx + 1].elm;\n addVnodes(parentElm, refElm, newCh, newStartIdx, newEndIdx, insertedVnodeQueue);\n } else if (newStartIdx > newEndIdx) {\n removeVnodes(oldCh, oldStartIdx, oldEndIdx);\n }\n }\n\n function checkDuplicateKeys (children) {\n var seenKeys = {};\n for (var i = 0; i < children.length; i++) {\n var vnode = children[i];\n var key = vnode.key;\n if (isDef(key)) {\n if (seenKeys[key]) {\n warn(\n (\"Duplicate keys detected: '\" + key + \"'. This may cause an update error.\"),\n vnode.context\n );\n } else {\n seenKeys[key] = true;\n }\n }\n }\n }\n\n function findIdxInOld (node, oldCh, start, end) {\n for (var i = start; i < end; i++) {\n var c = oldCh[i];\n if (isDef(c) && sameVnode(node, c)) { return i }\n }\n }\n\n function patchVnode (\n oldVnode,\n vnode,\n insertedVnodeQueue,\n ownerArray,\n index,\n removeOnly\n ) {\n if (oldVnode === vnode) {\n return\n }\n\n if (isDef(vnode.elm) && isDef(ownerArray)) {\n // clone reused vnode\n vnode = ownerArray[index] = cloneVNode(vnode);\n }\n\n var elm = vnode.elm = oldVnode.elm;\n\n if (isTrue(oldVnode.isAsyncPlaceholder)) {\n if (isDef(vnode.asyncFactory.resolved)) {\n hydrate(oldVnode.elm, vnode, insertedVnodeQueue);\n } else {\n vnode.isAsyncPlaceholder = true;\n }\n return\n }\n\n // reuse element for static trees.\n // note we only do this if the vnode is cloned -\n // if the new node is not cloned it means the render functions have been\n // reset by the hot-reload-api and we need to do a proper re-render.\n if (isTrue(vnode.isStatic) &&\n isTrue(oldVnode.isStatic) &&\n vnode.key === oldVnode.key &&\n (isTrue(vnode.isCloned) || isTrue(vnode.isOnce))\n ) {\n vnode.componentInstance = oldVnode.componentInstance;\n return\n }\n\n var i;\n var data = vnode.data;\n if (isDef(data) && isDef(i = data.hook) && isDef(i = i.prepatch)) {\n i(oldVnode, vnode);\n }\n\n var oldCh = oldVnode.children;\n var ch = vnode.children;\n if (isDef(data) && isPatchable(vnode)) {\n for (i = 0; i < cbs.update.length; ++i) { cbs.update[i](oldVnode, vnode); }\n if (isDef(i = data.hook) && isDef(i = i.update)) { i(oldVnode, vnode); }\n }\n if (isUndef(vnode.text)) {\n if (isDef(oldCh) && isDef(ch)) {\n if (oldCh !== ch) { updateChildren(elm, oldCh, ch, insertedVnodeQueue, removeOnly); }\n } else if (isDef(ch)) {\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(ch);\n }\n if (isDef(oldVnode.text)) { nodeOps.setTextContent(elm, ''); }\n addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue);\n } else if (isDef(oldCh)) {\n removeVnodes(oldCh, 0, oldCh.length - 1);\n } else if (isDef(oldVnode.text)) {\n nodeOps.setTextContent(elm, '');\n }\n } else if (oldVnode.text !== vnode.text) {\n nodeOps.setTextContent(elm, vnode.text);\n }\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.postpatch)) { i(oldVnode, vnode); }\n }\n }\n\n function invokeInsertHook (vnode, queue, initial) {\n // delay insert hooks for component root nodes, invoke them after the\n // element is really inserted\n if (isTrue(initial) && isDef(vnode.parent)) {\n vnode.parent.data.pendingInsert = queue;\n } else {\n for (var i = 0; i < queue.length; ++i) {\n queue[i].data.hook.insert(queue[i]);\n }\n }\n }\n\n var hydrationBailed = false;\n // list of modules that can skip create hook during hydration because they\n // are already rendered on the client or has no need for initialization\n // Note: style is excluded because it relies on initial clone for future\n // deep updates (#7063).\n var isRenderedModule = makeMap('attrs,class,staticClass,staticStyle,key');\n\n // Note: this is a browser-only function so we can assume elms are DOM nodes.\n function hydrate (elm, vnode, insertedVnodeQueue, inVPre) {\n var i;\n var tag = vnode.tag;\n var data = vnode.data;\n var children = vnode.children;\n inVPre = inVPre || (data && data.pre);\n vnode.elm = elm;\n\n if (isTrue(vnode.isComment) && isDef(vnode.asyncFactory)) {\n vnode.isAsyncPlaceholder = true;\n return true\n }\n // assert node match\n if (process.env.NODE_ENV !== 'production') {\n if (!assertNodeMatch(elm, vnode, inVPre)) {\n return false\n }\n }\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.init)) { i(vnode, true /* hydrating */); }\n if (isDef(i = vnode.componentInstance)) {\n // child component. it should have hydrated its own tree.\n initComponent(vnode, insertedVnodeQueue);\n return true\n }\n }\n if (isDef(tag)) {\n if (isDef(children)) {\n // empty element, allow client to pick up and populate children\n if (!elm.hasChildNodes()) {\n createChildren(vnode, children, insertedVnodeQueue);\n } else {\n // v-html and domProps: innerHTML\n if (isDef(i = data) && isDef(i = i.domProps) && isDef(i = i.innerHTML)) {\n if (i !== elm.innerHTML) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' &&\n typeof console !== 'undefined' &&\n !hydrationBailed\n ) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('server innerHTML: ', i);\n console.warn('client innerHTML: ', elm.innerHTML);\n }\n return false\n }\n } else {\n // iterate and compare children lists\n var childrenMatch = true;\n var childNode = elm.firstChild;\n for (var i$1 = 0; i$1 < children.length; i$1++) {\n if (!childNode || !hydrate(childNode, children[i$1], insertedVnodeQueue, inVPre)) {\n childrenMatch = false;\n break\n }\n childNode = childNode.nextSibling;\n }\n // if childNode is not null, it means the actual childNodes list is\n // longer than the virtual children list.\n if (!childrenMatch || childNode) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' &&\n typeof console !== 'undefined' &&\n !hydrationBailed\n ) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('Mismatching childNodes vs. VNodes: ', elm.childNodes, children);\n }\n return false\n }\n }\n }\n }\n if (isDef(data)) {\n var fullInvoke = false;\n for (var key in data) {\n if (!isRenderedModule(key)) {\n fullInvoke = true;\n invokeCreateHooks(vnode, insertedVnodeQueue);\n break\n }\n }\n if (!fullInvoke && data['class']) {\n // ensure collecting deps for deep class bindings for future updates\n traverse(data['class']);\n }\n }\n } else if (elm.data !== vnode.text) {\n elm.data = vnode.text;\n }\n return true\n }\n\n function assertNodeMatch (node, vnode, inVPre) {\n if (isDef(vnode.tag)) {\n return vnode.tag.indexOf('vue-component') === 0 || (\n !isUnknownElement$$1(vnode, inVPre) &&\n vnode.tag.toLowerCase() === (node.tagName && node.tagName.toLowerCase())\n )\n } else {\n return node.nodeType === (vnode.isComment ? 8 : 3)\n }\n }\n\n return function patch (oldVnode, vnode, hydrating, removeOnly) {\n if (isUndef(vnode)) {\n if (isDef(oldVnode)) { invokeDestroyHook(oldVnode); }\n return\n }\n\n var isInitialPatch = false;\n var insertedVnodeQueue = [];\n\n if (isUndef(oldVnode)) {\n // empty mount (likely as component), create new root element\n isInitialPatch = true;\n createElm(vnode, insertedVnodeQueue);\n } else {\n var isRealElement = isDef(oldVnode.nodeType);\n if (!isRealElement && sameVnode(oldVnode, vnode)) {\n // patch existing root node\n patchVnode(oldVnode, vnode, insertedVnodeQueue, null, null, removeOnly);\n } else {\n if (isRealElement) {\n // mounting to a real element\n // check if this is server-rendered content and if we can perform\n // a successful hydration.\n if (oldVnode.nodeType === 1 && oldVnode.hasAttribute(SSR_ATTR)) {\n oldVnode.removeAttribute(SSR_ATTR);\n hydrating = true;\n }\n if (isTrue(hydrating)) {\n if (hydrate(oldVnode, vnode, insertedVnodeQueue)) {\n invokeInsertHook(vnode, insertedVnodeQueue, true);\n return oldVnode\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n 'The client-side rendered virtual DOM tree is not matching ' +\n 'server-rendered content. This is likely caused by incorrect ' +\n 'HTML markup, for example nesting block-level elements inside ' +\n '<p>, or missing <tbody>. Bailing hydration and performing ' +\n 'full client-side render.'\n );\n }\n }\n // either not server-rendered, or hydration failed.\n // create an empty node and replace it\n oldVnode = emptyNodeAt(oldVnode);\n }\n\n // replacing existing element\n var oldElm = oldVnode.elm;\n var parentElm = nodeOps.parentNode(oldElm);\n\n // create new node\n createElm(\n vnode,\n insertedVnodeQueue,\n // extremely rare edge case: do not insert if old element is in a\n // leaving transition. Only happens when combining transition +\n // keep-alive + HOCs. (#4590)\n oldElm._leaveCb ? null : parentElm,\n nodeOps.nextSibling(oldElm)\n );\n\n // update parent placeholder node element, recursively\n if (isDef(vnode.parent)) {\n var ancestor = vnode.parent;\n var patchable = isPatchable(vnode);\n while (ancestor) {\n for (var i = 0; i < cbs.destroy.length; ++i) {\n cbs.destroy[i](ancestor);\n }\n ancestor.elm = vnode.elm;\n if (patchable) {\n for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n cbs.create[i$1](emptyNode, ancestor);\n }\n // #6513\n // invoke insert hooks that may have been merged by create hooks.\n // e.g. for directives that uses the \"inserted\" hook.\n var insert = ancestor.data.hook.insert;\n if (insert.merged) {\n // start at index 1 to avoid re-invoking component mounted hook\n for (var i$2 = 1; i$2 < insert.fns.length; i$2++) {\n insert.fns[i$2]();\n }\n }\n } else {\n registerRef(ancestor);\n }\n ancestor = ancestor.parent;\n }\n }\n\n // destroy old node\n if (isDef(parentElm)) {\n removeVnodes([oldVnode], 0, 0);\n } else if (isDef(oldVnode.tag)) {\n invokeDestroyHook(oldVnode);\n }\n }\n }\n\n invokeInsertHook(vnode, insertedVnodeQueue, isInitialPatch);\n return vnode.elm\n }\n}\n\n/* */\n\nvar directives = {\n create: updateDirectives,\n update: updateDirectives,\n destroy: function unbindDirectives (vnode) {\n updateDirectives(vnode, emptyNode);\n }\n};\n\nfunction updateDirectives (oldVnode, vnode) {\n if (oldVnode.data.directives || vnode.data.directives) {\n _update(oldVnode, vnode);\n }\n}\n\nfunction _update (oldVnode, vnode) {\n var isCreate = oldVnode === emptyNode;\n var isDestroy = vnode === emptyNode;\n var oldDirs = normalizeDirectives$1(oldVnode.data.directives, oldVnode.context);\n var newDirs = normalizeDirectives$1(vnode.data.directives, vnode.context);\n\n var dirsWithInsert = [];\n var dirsWithPostpatch = [];\n\n var key, oldDir, dir;\n for (key in newDirs) {\n oldDir = oldDirs[key];\n dir = newDirs[key];\n if (!oldDir) {\n // new directive, bind\n callHook$1(dir, 'bind', vnode, oldVnode);\n if (dir.def && dir.def.inserted) {\n dirsWithInsert.push(dir);\n }\n } else {\n // existing directive, update\n dir.oldValue = oldDir.value;\n dir.oldArg = oldDir.arg;\n callHook$1(dir, 'update', vnode, oldVnode);\n if (dir.def && dir.def.componentUpdated) {\n dirsWithPostpatch.push(dir);\n }\n }\n }\n\n if (dirsWithInsert.length) {\n var callInsert = function () {\n for (var i = 0; i < dirsWithInsert.length; i++) {\n callHook$1(dirsWithInsert[i], 'inserted', vnode, oldVnode);\n }\n };\n if (isCreate) {\n mergeVNodeHook(vnode, 'insert', callInsert);\n } else {\n callInsert();\n }\n }\n\n if (dirsWithPostpatch.length) {\n mergeVNodeHook(vnode, 'postpatch', function () {\n for (var i = 0; i < dirsWithPostpatch.length; i++) {\n callHook$1(dirsWithPostpatch[i], 'componentUpdated', vnode, oldVnode);\n }\n });\n }\n\n if (!isCreate) {\n for (key in oldDirs) {\n if (!newDirs[key]) {\n // no longer present, unbind\n callHook$1(oldDirs[key], 'unbind', oldVnode, oldVnode, isDestroy);\n }\n }\n }\n}\n\nvar emptyModifiers = Object.create(null);\n\nfunction normalizeDirectives$1 (\n dirs,\n vm\n) {\n var res = Object.create(null);\n if (!dirs) {\n // $flow-disable-line\n return res\n }\n var i, dir;\n for (i = 0; i < dirs.length; i++) {\n dir = dirs[i];\n if (!dir.modifiers) {\n // $flow-disable-line\n dir.modifiers = emptyModifiers;\n }\n res[getRawDirName(dir)] = dir;\n dir.def = resolveAsset(vm.$options, 'directives', dir.name, true);\n }\n // $flow-disable-line\n return res\n}\n\nfunction getRawDirName (dir) {\n return dir.rawName || ((dir.name) + \".\" + (Object.keys(dir.modifiers || {}).join('.')))\n}\n\nfunction callHook$1 (dir, hook, vnode, oldVnode, isDestroy) {\n var fn = dir.def && dir.def[hook];\n if (fn) {\n try {\n fn(vnode.elm, dir, vnode, oldVnode, isDestroy);\n } catch (e) {\n handleError(e, vnode.context, (\"directive \" + (dir.name) + \" \" + hook + \" hook\"));\n }\n }\n}\n\nvar baseModules = [\n ref,\n directives\n];\n\n/* */\n\nfunction updateAttrs (oldVnode, vnode) {\n var opts = vnode.componentOptions;\n if (isDef(opts) && opts.Ctor.options.inheritAttrs === false) {\n return\n }\n if (isUndef(oldVnode.data.attrs) && isUndef(vnode.data.attrs)) {\n return\n }\n var key, cur, old;\n var elm = vnode.elm;\n var oldAttrs = oldVnode.data.attrs || {};\n var attrs = vnode.data.attrs || {};\n // clone observed objects, as the user probably wants to mutate it\n if (isDef(attrs.__ob__)) {\n attrs = vnode.data.attrs = extend({}, attrs);\n }\n\n for (key in attrs) {\n cur = attrs[key];\n old = oldAttrs[key];\n if (old !== cur) {\n setAttr(elm, key, cur);\n }\n }\n // #4391: in IE9, setting type can reset value for input[type=radio]\n // #6666: IE/Edge forces progress value down to 1 before setting a max\n /* istanbul ignore if */\n if ((isIE || isEdge) && attrs.value !== oldAttrs.value) {\n setAttr(elm, 'value', attrs.value);\n }\n for (key in oldAttrs) {\n if (isUndef(attrs[key])) {\n if (isXlink(key)) {\n elm.removeAttributeNS(xlinkNS, getXlinkProp(key));\n } else if (!isEnumeratedAttr(key)) {\n elm.removeAttribute(key);\n }\n }\n }\n}\n\nfunction setAttr (el, key, value) {\n if (el.tagName.indexOf('-') > -1) {\n baseSetAttr(el, key, value);\n } else if (isBooleanAttr(key)) {\n // set attribute for blank value\n // e.g. <option disabled>Select one</option>\n if (isFalsyAttrValue(value)) {\n el.removeAttribute(key);\n } else {\n // technically allowfullscreen is a boolean attribute for <iframe>,\n // but Flash expects a value of \"true\" when used on <embed> tag\n value = key === 'allowfullscreen' && el.tagName === 'EMBED'\n ? 'true'\n : key;\n el.setAttribute(key, value);\n }\n } else if (isEnumeratedAttr(key)) {\n el.setAttribute(key, convertEnumeratedValue(key, value));\n } else if (isXlink(key)) {\n if (isFalsyAttrValue(value)) {\n el.removeAttributeNS(xlinkNS, getXlinkProp(key));\n } else {\n el.setAttributeNS(xlinkNS, key, value);\n }\n } else {\n baseSetAttr(el, key, value);\n }\n}\n\nfunction baseSetAttr (el, key, value) {\n if (isFalsyAttrValue(value)) {\n el.removeAttribute(key);\n } else {\n // #7138: IE10 & 11 fires input event when setting placeholder on\n // <textarea>... block the first input event and remove the blocker\n // immediately.\n /* istanbul ignore if */\n if (\n isIE && !isIE9 &&\n el.tagName === 'TEXTAREA' &&\n key === 'placeholder' && value !== '' && !el.__ieph\n ) {\n var blocker = function (e) {\n e.stopImmediatePropagation();\n el.removeEventListener('input', blocker);\n };\n el.addEventListener('input', blocker);\n // $flow-disable-line\n el.__ieph = true; /* IE placeholder patched */\n }\n el.setAttribute(key, value);\n }\n}\n\nvar attrs = {\n create: updateAttrs,\n update: updateAttrs\n};\n\n/* */\n\nfunction updateClass (oldVnode, vnode) {\n var el = vnode.elm;\n var data = vnode.data;\n var oldData = oldVnode.data;\n if (\n isUndef(data.staticClass) &&\n isUndef(data.class) && (\n isUndef(oldData) || (\n isUndef(oldData.staticClass) &&\n isUndef(oldData.class)\n )\n )\n ) {\n return\n }\n\n var cls = genClassForVnode(vnode);\n\n // handle transition classes\n var transitionClass = el._transitionClasses;\n if (isDef(transitionClass)) {\n cls = concat(cls, stringifyClass(transitionClass));\n }\n\n // set the class\n if (cls !== el._prevClass) {\n el.setAttribute('class', cls);\n el._prevClass = cls;\n }\n}\n\nvar klass = {\n create: updateClass,\n update: updateClass\n};\n\n/* */\n\n/* */\n\n/* */\n\n/* */\n\n// in some cases, the event used has to be determined at runtime\n// so we used some reserved tokens during compile.\nvar RANGE_TOKEN = '__r';\nvar CHECKBOX_RADIO_TOKEN = '__c';\n\n/* */\n\n// normalize v-model event tokens that can only be determined at runtime.\n// it's important to place the event as the first in the array because\n// the whole point is ensuring the v-model callback gets called before\n// user-attached handlers.\nfunction normalizeEvents (on) {\n /* istanbul ignore if */\n if (isDef(on[RANGE_TOKEN])) {\n // IE input[type=range] only supports `change` event\n var event = isIE ? 'change' : 'input';\n on[event] = [].concat(on[RANGE_TOKEN], on[event] || []);\n delete on[RANGE_TOKEN];\n }\n // This was originally intended to fix #4521 but no longer necessary\n // after 2.5. Keeping it for backwards compat with generated code from < 2.4\n /* istanbul ignore if */\n if (isDef(on[CHECKBOX_RADIO_TOKEN])) {\n on.change = [].concat(on[CHECKBOX_RADIO_TOKEN], on.change || []);\n delete on[CHECKBOX_RADIO_TOKEN];\n }\n}\n\nvar target$1;\n\nfunction createOnceHandler$1 (event, handler, capture) {\n var _target = target$1; // save current target element in closure\n return function onceHandler () {\n var res = handler.apply(null, arguments);\n if (res !== null) {\n remove$2(event, onceHandler, capture, _target);\n }\n }\n}\n\n// #9446: Firefox <= 53 (in particular, ESR 52) has incorrect Event.timeStamp\n// implementation and does not fire microtasks in between event propagation, so\n// safe to exclude.\nvar useMicrotaskFix = isUsingMicroTask && !(isFF && Number(isFF[1]) <= 53);\n\nfunction add$1 (\n name,\n handler,\n capture,\n passive\n) {\n // async edge case #6566: inner click event triggers patch, event handler\n // attached to outer element during patch, and triggered again. This\n // happens because browsers fire microtask ticks between event propagation.\n // the solution is simple: we save the timestamp when a handler is attached,\n // and the handler would only fire if the event passed to it was fired\n // AFTER it was attached.\n if (useMicrotaskFix) {\n var attachedTimestamp = currentFlushTimestamp;\n var original = handler;\n handler = original._wrapper = function (e) {\n if (\n // no bubbling, should always fire.\n // this is just a safety net in case event.timeStamp is unreliable in\n // certain weird environments...\n e.target === e.currentTarget ||\n // event is fired after handler attachment\n e.timeStamp >= attachedTimestamp ||\n // bail for environments that have buggy event.timeStamp implementations\n // #9462 iOS 9 bug: event.timeStamp is 0 after history.pushState\n // #9681 QtWebEngine event.timeStamp is negative value\n e.timeStamp <= 0 ||\n // #9448 bail if event is fired in another document in a multi-page\n // electron/nw.js app, since event.timeStamp will be using a different\n // starting reference\n e.target.ownerDocument !== document\n ) {\n return original.apply(this, arguments)\n }\n };\n }\n target$1.addEventListener(\n name,\n handler,\n supportsPassive\n ? { capture: capture, passive: passive }\n : capture\n );\n}\n\nfunction remove$2 (\n name,\n handler,\n capture,\n _target\n) {\n (_target || target$1).removeEventListener(\n name,\n handler._wrapper || handler,\n capture\n );\n}\n\nfunction updateDOMListeners (oldVnode, vnode) {\n if (isUndef(oldVnode.data.on) && isUndef(vnode.data.on)) {\n return\n }\n var on = vnode.data.on || {};\n var oldOn = oldVnode.data.on || {};\n target$1 = vnode.elm;\n normalizeEvents(on);\n updateListeners(on, oldOn, add$1, remove$2, createOnceHandler$1, vnode.context);\n target$1 = undefined;\n}\n\nvar events = {\n create: updateDOMListeners,\n update: updateDOMListeners\n};\n\n/* */\n\nvar svgContainer;\n\nfunction updateDOMProps (oldVnode, vnode) {\n if (isUndef(oldVnode.data.domProps) && isUndef(vnode.data.domProps)) {\n return\n }\n var key, cur;\n var elm = vnode.elm;\n var oldProps = oldVnode.data.domProps || {};\n var props = vnode.data.domProps || {};\n // clone observed objects, as the user probably wants to mutate it\n if (isDef(props.__ob__)) {\n props = vnode.data.domProps = extend({}, props);\n }\n\n for (key in oldProps) {\n if (!(key in props)) {\n elm[key] = '';\n }\n }\n\n for (key in props) {\n cur = props[key];\n // ignore children if the node has textContent or innerHTML,\n // as these will throw away existing DOM nodes and cause removal errors\n // on subsequent patches (#3360)\n if (key === 'textContent' || key === 'innerHTML') {\n if (vnode.children) { vnode.children.length = 0; }\n if (cur === oldProps[key]) { continue }\n // #6601 work around Chrome version <= 55 bug where single textNode\n // replaced by innerHTML/textContent retains its parentNode property\n if (elm.childNodes.length === 1) {\n elm.removeChild(elm.childNodes[0]);\n }\n }\n\n if (key === 'value' && elm.tagName !== 'PROGRESS') {\n // store value as _value as well since\n // non-string values will be stringified\n elm._value = cur;\n // avoid resetting cursor position when value is the same\n var strCur = isUndef(cur) ? '' : String(cur);\n if (shouldUpdateValue(elm, strCur)) {\n elm.value = strCur;\n }\n } else if (key === 'innerHTML' && isSVG(elm.tagName) && isUndef(elm.innerHTML)) {\n // IE doesn't support innerHTML for SVG elements\n svgContainer = svgContainer || document.createElement('div');\n svgContainer.innerHTML = \"<svg>\" + cur + \"</svg>\";\n var svg = svgContainer.firstChild;\n while (elm.firstChild) {\n elm.removeChild(elm.firstChild);\n }\n while (svg.firstChild) {\n elm.appendChild(svg.firstChild);\n }\n } else if (\n // skip the update if old and new VDOM state is the same.\n // `value` is handled separately because the DOM value may be temporarily\n // out of sync with VDOM state due to focus, composition and modifiers.\n // This #4521 by skipping the unnecessary `checked` update.\n cur !== oldProps[key]\n ) {\n // some property updates can throw\n // e.g. `value` on <progress> w/ non-finite value\n try {\n elm[key] = cur;\n } catch (e) {}\n }\n }\n}\n\n// check platforms/web/util/attrs.js acceptValue\n\n\nfunction shouldUpdateValue (elm, checkVal) {\n return (!elm.composing && (\n elm.tagName === 'OPTION' ||\n isNotInFocusAndDirty(elm, checkVal) ||\n isDirtyWithModifiers(elm, checkVal)\n ))\n}\n\nfunction isNotInFocusAndDirty (elm, checkVal) {\n // return true when textbox (.number and .trim) loses focus and its value is\n // not equal to the updated value\n var notInFocus = true;\n // #6157\n // work around IE bug when accessing document.activeElement in an iframe\n try { notInFocus = document.activeElement !== elm; } catch (e) {}\n return notInFocus && elm.value !== checkVal\n}\n\nfunction isDirtyWithModifiers (elm, newVal) {\n var value = elm.value;\n var modifiers = elm._vModifiers; // injected by v-model runtime\n if (isDef(modifiers)) {\n if (modifiers.number) {\n return toNumber(value) !== toNumber(newVal)\n }\n if (modifiers.trim) {\n return value.trim() !== newVal.trim()\n }\n }\n return value !== newVal\n}\n\nvar domProps = {\n create: updateDOMProps,\n update: updateDOMProps\n};\n\n/* */\n\nvar parseStyleText = cached(function (cssText) {\n var res = {};\n var listDelimiter = /;(?![^(]*\\))/g;\n var propertyDelimiter = /:(.+)/;\n cssText.split(listDelimiter).forEach(function (item) {\n if (item) {\n var tmp = item.split(propertyDelimiter);\n tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return res\n});\n\n// merge static and dynamic style data on the same vnode\nfunction normalizeStyleData (data) {\n var style = normalizeStyleBinding(data.style);\n // static style is pre-processed into an object during compilation\n // and is always a fresh object, so it's safe to merge into it\n return data.staticStyle\n ? extend(data.staticStyle, style)\n : style\n}\n\n// normalize possible array / string values into Object\nfunction normalizeStyleBinding (bindingStyle) {\n if (Array.isArray(bindingStyle)) {\n return toObject(bindingStyle)\n }\n if (typeof bindingStyle === 'string') {\n return parseStyleText(bindingStyle)\n }\n return bindingStyle\n}\n\n/**\n * parent component style should be after child's\n * so that parent component's style could override it\n */\nfunction getStyle (vnode, checkChild) {\n var res = {};\n var styleData;\n\n if (checkChild) {\n var childNode = vnode;\n while (childNode.componentInstance) {\n childNode = childNode.componentInstance._vnode;\n if (\n childNode && childNode.data &&\n (styleData = normalizeStyleData(childNode.data))\n ) {\n extend(res, styleData);\n }\n }\n }\n\n if ((styleData = normalizeStyleData(vnode.data))) {\n extend(res, styleData);\n }\n\n var parentNode = vnode;\n while ((parentNode = parentNode.parent)) {\n if (parentNode.data && (styleData = normalizeStyleData(parentNode.data))) {\n extend(res, styleData);\n }\n }\n return res\n}\n\n/* */\n\nvar cssVarRE = /^--/;\nvar importantRE = /\\s*!important$/;\nvar setProp = function (el, name, val) {\n /* istanbul ignore if */\n if (cssVarRE.test(name)) {\n el.style.setProperty(name, val);\n } else if (importantRE.test(val)) {\n el.style.setProperty(hyphenate(name), val.replace(importantRE, ''), 'important');\n } else {\n var normalizedName = normalize(name);\n if (Array.isArray(val)) {\n // Support values array created by autoprefixer, e.g.\n // {display: [\"-webkit-box\", \"-ms-flexbox\", \"flex\"]}\n // Set them one by one, and the browser will only set those it can recognize\n for (var i = 0, len = val.length; i < len; i++) {\n el.style[normalizedName] = val[i];\n }\n } else {\n el.style[normalizedName] = val;\n }\n }\n};\n\nvar vendorNames = ['Webkit', 'Moz', 'ms'];\n\nvar emptyStyle;\nvar normalize = cached(function (prop) {\n emptyStyle = emptyStyle || document.createElement('div').style;\n prop = camelize(prop);\n if (prop !== 'filter' && (prop in emptyStyle)) {\n return prop\n }\n var capName = prop.charAt(0).toUpperCase() + prop.slice(1);\n for (var i = 0; i < vendorNames.length; i++) {\n var name = vendorNames[i] + capName;\n if (name in emptyStyle) {\n return name\n }\n }\n});\n\nfunction updateStyle (oldVnode, vnode) {\n var data = vnode.data;\n var oldData = oldVnode.data;\n\n if (isUndef(data.staticStyle) && isUndef(data.style) &&\n isUndef(oldData.staticStyle) && isUndef(oldData.style)\n ) {\n return\n }\n\n var cur, name;\n var el = vnode.elm;\n var oldStaticStyle = oldData.staticStyle;\n var oldStyleBinding = oldData.normalizedStyle || oldData.style || {};\n\n // if static style exists, stylebinding already merged into it when doing normalizeStyleData\n var oldStyle = oldStaticStyle || oldStyleBinding;\n\n var style = normalizeStyleBinding(vnode.data.style) || {};\n\n // store normalized style under a different key for next diff\n // make sure to clone it if it's reactive, since the user likely wants\n // to mutate it.\n vnode.data.normalizedStyle = isDef(style.__ob__)\n ? extend({}, style)\n : style;\n\n var newStyle = getStyle(vnode, true);\n\n for (name in oldStyle) {\n if (isUndef(newStyle[name])) {\n setProp(el, name, '');\n }\n }\n for (name in newStyle) {\n cur = newStyle[name];\n if (cur !== oldStyle[name]) {\n // ie9 setting to null has no effect, must use empty string\n setProp(el, name, cur == null ? '' : cur);\n }\n }\n}\n\nvar style = {\n create: updateStyle,\n update: updateStyle\n};\n\n/* */\n\nvar whitespaceRE = /\\s+/;\n\n/**\n * Add class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction addClass (el, cls) {\n /* istanbul ignore if */\n if (!cls || !(cls = cls.trim())) {\n return\n }\n\n /* istanbul ignore else */\n if (el.classList) {\n if (cls.indexOf(' ') > -1) {\n cls.split(whitespaceRE).forEach(function (c) { return el.classList.add(c); });\n } else {\n el.classList.add(cls);\n }\n } else {\n var cur = \" \" + (el.getAttribute('class') || '') + \" \";\n if (cur.indexOf(' ' + cls + ' ') < 0) {\n el.setAttribute('class', (cur + cls).trim());\n }\n }\n}\n\n/**\n * Remove class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction removeClass (el, cls) {\n /* istanbul ignore if */\n if (!cls || !(cls = cls.trim())) {\n return\n }\n\n /* istanbul ignore else */\n if (el.classList) {\n if (cls.indexOf(' ') > -1) {\n cls.split(whitespaceRE).forEach(function (c) { return el.classList.remove(c); });\n } else {\n el.classList.remove(cls);\n }\n if (!el.classList.length) {\n el.removeAttribute('class');\n }\n } else {\n var cur = \" \" + (el.getAttribute('class') || '') + \" \";\n var tar = ' ' + cls + ' ';\n while (cur.indexOf(tar) >= 0) {\n cur = cur.replace(tar, ' ');\n }\n cur = cur.trim();\n if (cur) {\n el.setAttribute('class', cur);\n } else {\n el.removeAttribute('class');\n }\n }\n}\n\n/* */\n\nfunction resolveTransition (def$$1) {\n if (!def$$1) {\n return\n }\n /* istanbul ignore else */\n if (typeof def$$1 === 'object') {\n var res = {};\n if (def$$1.css !== false) {\n extend(res, autoCssTransition(def$$1.name || 'v'));\n }\n extend(res, def$$1);\n return res\n } else if (typeof def$$1 === 'string') {\n return autoCssTransition(def$$1)\n }\n}\n\nvar autoCssTransition = cached(function (name) {\n return {\n enterClass: (name + \"-enter\"),\n enterToClass: (name + \"-enter-to\"),\n enterActiveClass: (name + \"-enter-active\"),\n leaveClass: (name + \"-leave\"),\n leaveToClass: (name + \"-leave-to\"),\n leaveActiveClass: (name + \"-leave-active\")\n }\n});\n\nvar hasTransition = inBrowser && !isIE9;\nvar TRANSITION = 'transition';\nvar ANIMATION = 'animation';\n\n// Transition property/event sniffing\nvar transitionProp = 'transition';\nvar transitionEndEvent = 'transitionend';\nvar animationProp = 'animation';\nvar animationEndEvent = 'animationend';\nif (hasTransition) {\n /* istanbul ignore if */\n if (window.ontransitionend === undefined &&\n window.onwebkittransitionend !== undefined\n ) {\n transitionProp = 'WebkitTransition';\n transitionEndEvent = 'webkitTransitionEnd';\n }\n if (window.onanimationend === undefined &&\n window.onwebkitanimationend !== undefined\n ) {\n animationProp = 'WebkitAnimation';\n animationEndEvent = 'webkitAnimationEnd';\n }\n}\n\n// binding to window is necessary to make hot reload work in IE in strict mode\nvar raf = inBrowser\n ? window.requestAnimationFrame\n ? window.requestAnimationFrame.bind(window)\n : setTimeout\n : /* istanbul ignore next */ function (fn) { return fn(); };\n\nfunction nextFrame (fn) {\n raf(function () {\n raf(fn);\n });\n}\n\nfunction addTransitionClass (el, cls) {\n var transitionClasses = el._transitionClasses || (el._transitionClasses = []);\n if (transitionClasses.indexOf(cls) < 0) {\n transitionClasses.push(cls);\n addClass(el, cls);\n }\n}\n\nfunction removeTransitionClass (el, cls) {\n if (el._transitionClasses) {\n remove(el._transitionClasses, cls);\n }\n removeClass(el, cls);\n}\n\nfunction whenTransitionEnds (\n el,\n expectedType,\n cb\n) {\n var ref = getTransitionInfo(el, expectedType);\n var type = ref.type;\n var timeout = ref.timeout;\n var propCount = ref.propCount;\n if (!type) { return cb() }\n var event = type === TRANSITION ? transitionEndEvent : animationEndEvent;\n var ended = 0;\n var end = function () {\n el.removeEventListener(event, onEnd);\n cb();\n };\n var onEnd = function (e) {\n if (e.target === el) {\n if (++ended >= propCount) {\n end();\n }\n }\n };\n setTimeout(function () {\n if (ended < propCount) {\n end();\n }\n }, timeout + 1);\n el.addEventListener(event, onEnd);\n}\n\nvar transformRE = /\\b(transform|all)(,|$)/;\n\nfunction getTransitionInfo (el, expectedType) {\n var styles = window.getComputedStyle(el);\n // JSDOM may return undefined for transition properties\n var transitionDelays = (styles[transitionProp + 'Delay'] || '').split(', ');\n var transitionDurations = (styles[transitionProp + 'Duration'] || '').split(', ');\n var transitionTimeout = getTimeout(transitionDelays, transitionDurations);\n var animationDelays = (styles[animationProp + 'Delay'] || '').split(', ');\n var animationDurations = (styles[animationProp + 'Duration'] || '').split(', ');\n var animationTimeout = getTimeout(animationDelays, animationDurations);\n\n var type;\n var timeout = 0;\n var propCount = 0;\n /* istanbul ignore if */\n if (expectedType === TRANSITION) {\n if (transitionTimeout > 0) {\n type = TRANSITION;\n timeout = transitionTimeout;\n propCount = transitionDurations.length;\n }\n } else if (expectedType === ANIMATION) {\n if (animationTimeout > 0) {\n type = ANIMATION;\n timeout = animationTimeout;\n propCount = animationDurations.length;\n }\n } else {\n timeout = Math.max(transitionTimeout, animationTimeout);\n type = timeout > 0\n ? transitionTimeout > animationTimeout\n ? TRANSITION\n : ANIMATION\n : null;\n propCount = type\n ? type === TRANSITION\n ? transitionDurations.length\n : animationDurations.length\n : 0;\n }\n var hasTransform =\n type === TRANSITION &&\n transformRE.test(styles[transitionProp + 'Property']);\n return {\n type: type,\n timeout: timeout,\n propCount: propCount,\n hasTransform: hasTransform\n }\n}\n\nfunction getTimeout (delays, durations) {\n /* istanbul ignore next */\n while (delays.length < durations.length) {\n delays = delays.concat(delays);\n }\n\n return Math.max.apply(null, durations.map(function (d, i) {\n return toMs(d) + toMs(delays[i])\n }))\n}\n\n// Old versions of Chromium (below 61.0.3163.100) formats floating pointer numbers\n// in a locale-dependent way, using a comma instead of a dot.\n// If comma is not replaced with a dot, the input will be rounded down (i.e. acting\n// as a floor function) causing unexpected behaviors\nfunction toMs (s) {\n return Number(s.slice(0, -1).replace(',', '.')) * 1000\n}\n\n/* */\n\nfunction enter (vnode, toggleDisplay) {\n var el = vnode.elm;\n\n // call leave callback now\n if (isDef(el._leaveCb)) {\n el._leaveCb.cancelled = true;\n el._leaveCb();\n }\n\n var data = resolveTransition(vnode.data.transition);\n if (isUndef(data)) {\n return\n }\n\n /* istanbul ignore if */\n if (isDef(el._enterCb) || el.nodeType !== 1) {\n return\n }\n\n var css = data.css;\n var type = data.type;\n var enterClass = data.enterClass;\n var enterToClass = data.enterToClass;\n var enterActiveClass = data.enterActiveClass;\n var appearClass = data.appearClass;\n var appearToClass = data.appearToClass;\n var appearActiveClass = data.appearActiveClass;\n var beforeEnter = data.beforeEnter;\n var enter = data.enter;\n var afterEnter = data.afterEnter;\n var enterCancelled = data.enterCancelled;\n var beforeAppear = data.beforeAppear;\n var appear = data.appear;\n var afterAppear = data.afterAppear;\n var appearCancelled = data.appearCancelled;\n var duration = data.duration;\n\n // activeInstance will always be the <transition> component managing this\n // transition. One edge case to check is when the <transition> is placed\n // as the root node of a child component. In that case we need to check\n // <transition>'s parent for appear check.\n var context = activeInstance;\n var transitionNode = activeInstance.$vnode;\n while (transitionNode && transitionNode.parent) {\n context = transitionNode.context;\n transitionNode = transitionNode.parent;\n }\n\n var isAppear = !context._isMounted || !vnode.isRootInsert;\n\n if (isAppear && !appear && appear !== '') {\n return\n }\n\n var startClass = isAppear && appearClass\n ? appearClass\n : enterClass;\n var activeClass = isAppear && appearActiveClass\n ? appearActiveClass\n : enterActiveClass;\n var toClass = isAppear && appearToClass\n ? appearToClass\n : enterToClass;\n\n var beforeEnterHook = isAppear\n ? (beforeAppear || beforeEnter)\n : beforeEnter;\n var enterHook = isAppear\n ? (typeof appear === 'function' ? appear : enter)\n : enter;\n var afterEnterHook = isAppear\n ? (afterAppear || afterEnter)\n : afterEnter;\n var enterCancelledHook = isAppear\n ? (appearCancelled || enterCancelled)\n : enterCancelled;\n\n var explicitEnterDuration = toNumber(\n isObject(duration)\n ? duration.enter\n : duration\n );\n\n if (process.env.NODE_ENV !== 'production' && explicitEnterDuration != null) {\n checkDuration(explicitEnterDuration, 'enter', vnode);\n }\n\n var expectsCSS = css !== false && !isIE9;\n var userWantsControl = getHookArgumentsLength(enterHook);\n\n var cb = el._enterCb = once(function () {\n if (expectsCSS) {\n removeTransitionClass(el, toClass);\n removeTransitionClass(el, activeClass);\n }\n if (cb.cancelled) {\n if (expectsCSS) {\n removeTransitionClass(el, startClass);\n }\n enterCancelledHook && enterCancelledHook(el);\n } else {\n afterEnterHook && afterEnterHook(el);\n }\n el._enterCb = null;\n });\n\n if (!vnode.data.show) {\n // remove pending leave element on enter by injecting an insert hook\n mergeVNodeHook(vnode, 'insert', function () {\n var parent = el.parentNode;\n var pendingNode = parent && parent._pending && parent._pending[vnode.key];\n if (pendingNode &&\n pendingNode.tag === vnode.tag &&\n pendingNode.elm._leaveCb\n ) {\n pendingNode.elm._leaveCb();\n }\n enterHook && enterHook(el, cb);\n });\n }\n\n // start enter transition\n beforeEnterHook && beforeEnterHook(el);\n if (expectsCSS) {\n addTransitionClass(el, startClass);\n addTransitionClass(el, activeClass);\n nextFrame(function () {\n removeTransitionClass(el, startClass);\n if (!cb.cancelled) {\n addTransitionClass(el, toClass);\n if (!userWantsControl) {\n if (isValidDuration(explicitEnterDuration)) {\n setTimeout(cb, explicitEnterDuration);\n } else {\n whenTransitionEnds(el, type, cb);\n }\n }\n }\n });\n }\n\n if (vnode.data.show) {\n toggleDisplay && toggleDisplay();\n enterHook && enterHook(el, cb);\n }\n\n if (!expectsCSS && !userWantsControl) {\n cb();\n }\n}\n\nfunction leave (vnode, rm) {\n var el = vnode.elm;\n\n // call enter callback now\n if (isDef(el._enterCb)) {\n el._enterCb.cancelled = true;\n el._enterCb();\n }\n\n var data = resolveTransition(vnode.data.transition);\n if (isUndef(data) || el.nodeType !== 1) {\n return rm()\n }\n\n /* istanbul ignore if */\n if (isDef(el._leaveCb)) {\n return\n }\n\n var css = data.css;\n var type = data.type;\n var leaveClass = data.leaveClass;\n var leaveToClass = data.leaveToClass;\n var leaveActiveClass = data.leaveActiveClass;\n var beforeLeave = data.beforeLeave;\n var leave = data.leave;\n var afterLeave = data.afterLeave;\n var leaveCancelled = data.leaveCancelled;\n var delayLeave = data.delayLeave;\n var duration = data.duration;\n\n var expectsCSS = css !== false && !isIE9;\n var userWantsControl = getHookArgumentsLength(leave);\n\n var explicitLeaveDuration = toNumber(\n isObject(duration)\n ? duration.leave\n : duration\n );\n\n if (process.env.NODE_ENV !== 'production' && isDef(explicitLeaveDuration)) {\n checkDuration(explicitLeaveDuration, 'leave', vnode);\n }\n\n var cb = el._leaveCb = once(function () {\n if (el.parentNode && el.parentNode._pending) {\n el.parentNode._pending[vnode.key] = null;\n }\n if (expectsCSS) {\n removeTransitionClass(el, leaveToClass);\n removeTransitionClass(el, leaveActiveClass);\n }\n if (cb.cancelled) {\n if (expectsCSS) {\n removeTransitionClass(el, leaveClass);\n }\n leaveCancelled && leaveCancelled(el);\n } else {\n rm();\n afterLeave && afterLeave(el);\n }\n el._leaveCb = null;\n });\n\n if (delayLeave) {\n delayLeave(performLeave);\n } else {\n performLeave();\n }\n\n function performLeave () {\n // the delayed leave may have already been cancelled\n if (cb.cancelled) {\n return\n }\n // record leaving element\n if (!vnode.data.show && el.parentNode) {\n (el.parentNode._pending || (el.parentNode._pending = {}))[(vnode.key)] = vnode;\n }\n beforeLeave && beforeLeave(el);\n if (expectsCSS) {\n addTransitionClass(el, leaveClass);\n addTransitionClass(el, leaveActiveClass);\n nextFrame(function () {\n removeTransitionClass(el, leaveClass);\n if (!cb.cancelled) {\n addTransitionClass(el, leaveToClass);\n if (!userWantsControl) {\n if (isValidDuration(explicitLeaveDuration)) {\n setTimeout(cb, explicitLeaveDuration);\n } else {\n whenTransitionEnds(el, type, cb);\n }\n }\n }\n });\n }\n leave && leave(el, cb);\n if (!expectsCSS && !userWantsControl) {\n cb();\n }\n }\n}\n\n// only used in dev mode\nfunction checkDuration (val, name, vnode) {\n if (typeof val !== 'number') {\n warn(\n \"<transition> explicit \" + name + \" duration is not a valid number - \" +\n \"got \" + (JSON.stringify(val)) + \".\",\n vnode.context\n );\n } else if (isNaN(val)) {\n warn(\n \"<transition> explicit \" + name + \" duration is NaN - \" +\n 'the duration expression might be incorrect.',\n vnode.context\n );\n }\n}\n\nfunction isValidDuration (val) {\n return typeof val === 'number' && !isNaN(val)\n}\n\n/**\n * Normalize a transition hook's argument length. The hook may be:\n * - a merged hook (invoker) with the original in .fns\n * - a wrapped component method (check ._length)\n * - a plain function (.length)\n */\nfunction getHookArgumentsLength (fn) {\n if (isUndef(fn)) {\n return false\n }\n var invokerFns = fn.fns;\n if (isDef(invokerFns)) {\n // invoker\n return getHookArgumentsLength(\n Array.isArray(invokerFns)\n ? invokerFns[0]\n : invokerFns\n )\n } else {\n return (fn._length || fn.length) > 1\n }\n}\n\nfunction _enter (_, vnode) {\n if (vnode.data.show !== true) {\n enter(vnode);\n }\n}\n\nvar transition = inBrowser ? {\n create: _enter,\n activate: _enter,\n remove: function remove$$1 (vnode, rm) {\n /* istanbul ignore else */\n if (vnode.data.show !== true) {\n leave(vnode, rm);\n } else {\n rm();\n }\n }\n} : {};\n\nvar platformModules = [\n attrs,\n klass,\n events,\n domProps,\n style,\n transition\n];\n\n/* */\n\n// the directive module should be applied last, after all\n// built-in modules have been applied.\nvar modules = platformModules.concat(baseModules);\n\nvar patch = createPatchFunction({ nodeOps: nodeOps, modules: modules });\n\n/**\n * Not type checking this file because flow doesn't like attaching\n * properties to Elements.\n */\n\n/* istanbul ignore if */\nif (isIE9) {\n // http://www.matts411.com/post/internet-explorer-9-oninput/\n document.addEventListener('selectionchange', function () {\n var el = document.activeElement;\n if (el && el.vmodel) {\n trigger(el, 'input');\n }\n });\n}\n\nvar directive = {\n inserted: function inserted (el, binding, vnode, oldVnode) {\n if (vnode.tag === 'select') {\n // #6903\n if (oldVnode.elm && !oldVnode.elm._vOptions) {\n mergeVNodeHook(vnode, 'postpatch', function () {\n directive.componentUpdated(el, binding, vnode);\n });\n } else {\n setSelected(el, binding, vnode.context);\n }\n el._vOptions = [].map.call(el.options, getValue);\n } else if (vnode.tag === 'textarea' || isTextInputType(el.type)) {\n el._vModifiers = binding.modifiers;\n if (!binding.modifiers.lazy) {\n el.addEventListener('compositionstart', onCompositionStart);\n el.addEventListener('compositionend', onCompositionEnd);\n // Safari < 10.2 & UIWebView doesn't fire compositionend when\n // switching focus before confirming composition choice\n // this also fixes the issue where some browsers e.g. iOS Chrome\n // fires \"change\" instead of \"input\" on autocomplete.\n el.addEventListener('change', onCompositionEnd);\n /* istanbul ignore if */\n if (isIE9) {\n el.vmodel = true;\n }\n }\n }\n },\n\n componentUpdated: function componentUpdated (el, binding, vnode) {\n if (vnode.tag === 'select') {\n setSelected(el, binding, vnode.context);\n // in case the options rendered by v-for have changed,\n // it's possible that the value is out-of-sync with the rendered options.\n // detect such cases and filter out values that no longer has a matching\n // option in the DOM.\n var prevOptions = el._vOptions;\n var curOptions = el._vOptions = [].map.call(el.options, getValue);\n if (curOptions.some(function (o, i) { return !looseEqual(o, prevOptions[i]); })) {\n // trigger change event if\n // no matching option found for at least one value\n var needReset = el.multiple\n ? binding.value.some(function (v) { return hasNoMatchingOption(v, curOptions); })\n : binding.value !== binding.oldValue && hasNoMatchingOption(binding.value, curOptions);\n if (needReset) {\n trigger(el, 'change');\n }\n }\n }\n }\n};\n\nfunction setSelected (el, binding, vm) {\n actuallySetSelected(el, binding, vm);\n /* istanbul ignore if */\n if (isIE || isEdge) {\n setTimeout(function () {\n actuallySetSelected(el, binding, vm);\n }, 0);\n }\n}\n\nfunction actuallySetSelected (el, binding, vm) {\n var value = binding.value;\n var isMultiple = el.multiple;\n if (isMultiple && !Array.isArray(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"<select multiple v-model=\\\"\" + (binding.expression) + \"\\\"> \" +\n \"expects an Array value for its binding, but got \" + (Object.prototype.toString.call(value).slice(8, -1)),\n vm\n );\n return\n }\n var selected, option;\n for (var i = 0, l = el.options.length; i < l; i++) {\n option = el.options[i];\n if (isMultiple) {\n selected = looseIndexOf(value, getValue(option)) > -1;\n if (option.selected !== selected) {\n option.selected = selected;\n }\n } else {\n if (looseEqual(getValue(option), value)) {\n if (el.selectedIndex !== i) {\n el.selectedIndex = i;\n }\n return\n }\n }\n }\n if (!isMultiple) {\n el.selectedIndex = -1;\n }\n}\n\nfunction hasNoMatchingOption (value, options) {\n return options.every(function (o) { return !looseEqual(o, value); })\n}\n\nfunction getValue (option) {\n return '_value' in option\n ? option._value\n : option.value\n}\n\nfunction onCompositionStart (e) {\n e.target.composing = true;\n}\n\nfunction onCompositionEnd (e) {\n // prevent triggering an input event for no reason\n if (!e.target.composing) { return }\n e.target.composing = false;\n trigger(e.target, 'input');\n}\n\nfunction trigger (el, type) {\n var e = document.createEvent('HTMLEvents');\n e.initEvent(type, true, true);\n el.dispatchEvent(e);\n}\n\n/* */\n\n// recursively search for possible transition defined inside the component root\nfunction locateNode (vnode) {\n return vnode.componentInstance && (!vnode.data || !vnode.data.transition)\n ? locateNode(vnode.componentInstance._vnode)\n : vnode\n}\n\nvar show = {\n bind: function bind (el, ref, vnode) {\n var value = ref.value;\n\n vnode = locateNode(vnode);\n var transition$$1 = vnode.data && vnode.data.transition;\n var originalDisplay = el.__vOriginalDisplay =\n el.style.display === 'none' ? '' : el.style.display;\n if (value && transition$$1) {\n vnode.data.show = true;\n enter(vnode, function () {\n el.style.display = originalDisplay;\n });\n } else {\n el.style.display = value ? originalDisplay : 'none';\n }\n },\n\n update: function update (el, ref, vnode) {\n var value = ref.value;\n var oldValue = ref.oldValue;\n\n /* istanbul ignore if */\n if (!value === !oldValue) { return }\n vnode = locateNode(vnode);\n var transition$$1 = vnode.data && vnode.data.transition;\n if (transition$$1) {\n vnode.data.show = true;\n if (value) {\n enter(vnode, function () {\n el.style.display = el.__vOriginalDisplay;\n });\n } else {\n leave(vnode, function () {\n el.style.display = 'none';\n });\n }\n } else {\n el.style.display = value ? el.__vOriginalDisplay : 'none';\n }\n },\n\n unbind: function unbind (\n el,\n binding,\n vnode,\n oldVnode,\n isDestroy\n ) {\n if (!isDestroy) {\n el.style.display = el.__vOriginalDisplay;\n }\n }\n};\n\nvar platformDirectives = {\n model: directive,\n show: show\n};\n\n/* */\n\nvar transitionProps = {\n name: String,\n appear: Boolean,\n css: Boolean,\n mode: String,\n type: String,\n enterClass: String,\n leaveClass: String,\n enterToClass: String,\n leaveToClass: String,\n enterActiveClass: String,\n leaveActiveClass: String,\n appearClass: String,\n appearActiveClass: String,\n appearToClass: String,\n duration: [Number, String, Object]\n};\n\n// in case the child is also an abstract component, e.g. <keep-alive>\n// we want to recursively retrieve the real component to be rendered\nfunction getRealChild (vnode) {\n var compOptions = vnode && vnode.componentOptions;\n if (compOptions && compOptions.Ctor.options.abstract) {\n return getRealChild(getFirstComponentChild(compOptions.children))\n } else {\n return vnode\n }\n}\n\nfunction extractTransitionData (comp) {\n var data = {};\n var options = comp.$options;\n // props\n for (var key in options.propsData) {\n data[key] = comp[key];\n }\n // events.\n // extract listeners and pass them directly to the transition methods\n var listeners = options._parentListeners;\n for (var key$1 in listeners) {\n data[camelize(key$1)] = listeners[key$1];\n }\n return data\n}\n\nfunction placeholder (h, rawChild) {\n if (/\\d-keep-alive$/.test(rawChild.tag)) {\n return h('keep-alive', {\n props: rawChild.componentOptions.propsData\n })\n }\n}\n\nfunction hasParentTransition (vnode) {\n while ((vnode = vnode.parent)) {\n if (vnode.data.transition) {\n return true\n }\n }\n}\n\nfunction isSameChild (child, oldChild) {\n return oldChild.key === child.key && oldChild.tag === child.tag\n}\n\nvar isNotTextNode = function (c) { return c.tag || isAsyncPlaceholder(c); };\n\nvar isVShowDirective = function (d) { return d.name === 'show'; };\n\nvar Transition = {\n name: 'transition',\n props: transitionProps,\n abstract: true,\n\n render: function render (h) {\n var this$1 = this;\n\n var children = this.$slots.default;\n if (!children) {\n return\n }\n\n // filter out text nodes (possible whitespaces)\n children = children.filter(isNotTextNode);\n /* istanbul ignore if */\n if (!children.length) {\n return\n }\n\n // warn multiple elements\n if (process.env.NODE_ENV !== 'production' && children.length > 1) {\n warn(\n '<transition> can only be used on a single element. Use ' +\n '<transition-group> for lists.',\n this.$parent\n );\n }\n\n var mode = this.mode;\n\n // warn invalid mode\n if (process.env.NODE_ENV !== 'production' &&\n mode && mode !== 'in-out' && mode !== 'out-in'\n ) {\n warn(\n 'invalid <transition> mode: ' + mode,\n this.$parent\n );\n }\n\n var rawChild = children[0];\n\n // if this is a component root node and the component's\n // parent container node also has transition, skip.\n if (hasParentTransition(this.$vnode)) {\n return rawChild\n }\n\n // apply transition data to child\n // use getRealChild() to ignore abstract components e.g. keep-alive\n var child = getRealChild(rawChild);\n /* istanbul ignore if */\n if (!child) {\n return rawChild\n }\n\n if (this._leaving) {\n return placeholder(h, rawChild)\n }\n\n // ensure a key that is unique to the vnode type and to this transition\n // component instance. This key will be used to remove pending leaving nodes\n // during entering.\n var id = \"__transition-\" + (this._uid) + \"-\";\n child.key = child.key == null\n ? child.isComment\n ? id + 'comment'\n : id + child.tag\n : isPrimitive(child.key)\n ? (String(child.key).indexOf(id) === 0 ? child.key : id + child.key)\n : child.key;\n\n var data = (child.data || (child.data = {})).transition = extractTransitionData(this);\n var oldRawChild = this._vnode;\n var oldChild = getRealChild(oldRawChild);\n\n // mark v-show\n // so that the transition module can hand over the control to the directive\n if (child.data.directives && child.data.directives.some(isVShowDirective)) {\n child.data.show = true;\n }\n\n if (\n oldChild &&\n oldChild.data &&\n !isSameChild(child, oldChild) &&\n !isAsyncPlaceholder(oldChild) &&\n // #6687 component root is a comment node\n !(oldChild.componentInstance && oldChild.componentInstance._vnode.isComment)\n ) {\n // replace old child transition data with fresh one\n // important for dynamic transitions!\n var oldData = oldChild.data.transition = extend({}, data);\n // handle transition mode\n if (mode === 'out-in') {\n // return placeholder node and queue update when leave finishes\n this._leaving = true;\n mergeVNodeHook(oldData, 'afterLeave', function () {\n this$1._leaving = false;\n this$1.$forceUpdate();\n });\n return placeholder(h, rawChild)\n } else if (mode === 'in-out') {\n if (isAsyncPlaceholder(child)) {\n return oldRawChild\n }\n var delayedLeave;\n var performLeave = function () { delayedLeave(); };\n mergeVNodeHook(data, 'afterEnter', performLeave);\n mergeVNodeHook(data, 'enterCancelled', performLeave);\n mergeVNodeHook(oldData, 'delayLeave', function (leave) { delayedLeave = leave; });\n }\n }\n\n return rawChild\n }\n};\n\n/* */\n\nvar props = extend({\n tag: String,\n moveClass: String\n}, transitionProps);\n\ndelete props.mode;\n\nvar TransitionGroup = {\n props: props,\n\n beforeMount: function beforeMount () {\n var this$1 = this;\n\n var update = this._update;\n this._update = function (vnode, hydrating) {\n var restoreActiveInstance = setActiveInstance(this$1);\n // force removing pass\n this$1.__patch__(\n this$1._vnode,\n this$1.kept,\n false, // hydrating\n true // removeOnly (!important, avoids unnecessary moves)\n );\n this$1._vnode = this$1.kept;\n restoreActiveInstance();\n update.call(this$1, vnode, hydrating);\n };\n },\n\n render: function render (h) {\n var tag = this.tag || this.$vnode.data.tag || 'span';\n var map = Object.create(null);\n var prevChildren = this.prevChildren = this.children;\n var rawChildren = this.$slots.default || [];\n var children = this.children = [];\n var transitionData = extractTransitionData(this);\n\n for (var i = 0; i < rawChildren.length; i++) {\n var c = rawChildren[i];\n if (c.tag) {\n if (c.key != null && String(c.key).indexOf('__vlist') !== 0) {\n children.push(c);\n map[c.key] = c\n ;(c.data || (c.data = {})).transition = transitionData;\n } else if (process.env.NODE_ENV !== 'production') {\n var opts = c.componentOptions;\n var name = opts ? (opts.Ctor.options.name || opts.tag || '') : c.tag;\n warn((\"<transition-group> children must be keyed: <\" + name + \">\"));\n }\n }\n }\n\n if (prevChildren) {\n var kept = [];\n var removed = [];\n for (var i$1 = 0; i$1 < prevChildren.length; i$1++) {\n var c$1 = prevChildren[i$1];\n c$1.data.transition = transitionData;\n c$1.data.pos = c$1.elm.getBoundingClientRect();\n if (map[c$1.key]) {\n kept.push(c$1);\n } else {\n removed.push(c$1);\n }\n }\n this.kept = h(tag, null, kept);\n this.removed = removed;\n }\n\n return h(tag, null, children)\n },\n\n updated: function updated () {\n var children = this.prevChildren;\n var moveClass = this.moveClass || ((this.name || 'v') + '-move');\n if (!children.length || !this.hasMove(children[0].elm, moveClass)) {\n return\n }\n\n // we divide the work into three loops to avoid mixing DOM reads and writes\n // in each iteration - which helps prevent layout thrashing.\n children.forEach(callPendingCbs);\n children.forEach(recordPosition);\n children.forEach(applyTranslation);\n\n // force reflow to put everything in position\n // assign to this to avoid being removed in tree-shaking\n // $flow-disable-line\n this._reflow = document.body.offsetHeight;\n\n children.forEach(function (c) {\n if (c.data.moved) {\n var el = c.elm;\n var s = el.style;\n addTransitionClass(el, moveClass);\n s.transform = s.WebkitTransform = s.transitionDuration = '';\n el.addEventListener(transitionEndEvent, el._moveCb = function cb (e) {\n if (e && e.target !== el) {\n return\n }\n if (!e || /transform$/.test(e.propertyName)) {\n el.removeEventListener(transitionEndEvent, cb);\n el._moveCb = null;\n removeTransitionClass(el, moveClass);\n }\n });\n }\n });\n },\n\n methods: {\n hasMove: function hasMove (el, moveClass) {\n /* istanbul ignore if */\n if (!hasTransition) {\n return false\n }\n /* istanbul ignore if */\n if (this._hasMove) {\n return this._hasMove\n }\n // Detect whether an element with the move class applied has\n // CSS transitions. Since the element may be inside an entering\n // transition at this very moment, we make a clone of it and remove\n // all other transition classes applied to ensure only the move class\n // is applied.\n var clone = el.cloneNode();\n if (el._transitionClasses) {\n el._transitionClasses.forEach(function (cls) { removeClass(clone, cls); });\n }\n addClass(clone, moveClass);\n clone.style.display = 'none';\n this.$el.appendChild(clone);\n var info = getTransitionInfo(clone);\n this.$el.removeChild(clone);\n return (this._hasMove = info.hasTransform)\n }\n }\n};\n\nfunction callPendingCbs (c) {\n /* istanbul ignore if */\n if (c.elm._moveCb) {\n c.elm._moveCb();\n }\n /* istanbul ignore if */\n if (c.elm._enterCb) {\n c.elm._enterCb();\n }\n}\n\nfunction recordPosition (c) {\n c.data.newPos = c.elm.getBoundingClientRect();\n}\n\nfunction applyTranslation (c) {\n var oldPos = c.data.pos;\n var newPos = c.data.newPos;\n var dx = oldPos.left - newPos.left;\n var dy = oldPos.top - newPos.top;\n if (dx || dy) {\n c.data.moved = true;\n var s = c.elm.style;\n s.transform = s.WebkitTransform = \"translate(\" + dx + \"px,\" + dy + \"px)\";\n s.transitionDuration = '0s';\n }\n}\n\nvar platformComponents = {\n Transition: Transition,\n TransitionGroup: TransitionGroup\n};\n\n/* */\n\n// install platform specific utils\nVue.config.mustUseProp = mustUseProp;\nVue.config.isReservedTag = isReservedTag;\nVue.config.isReservedAttr = isReservedAttr;\nVue.config.getTagNamespace = getTagNamespace;\nVue.config.isUnknownElement = isUnknownElement;\n\n// install platform runtime directives & components\nextend(Vue.options.directives, platformDirectives);\nextend(Vue.options.components, platformComponents);\n\n// install platform patch function\nVue.prototype.__patch__ = inBrowser ? patch : noop;\n\n// public mount method\nVue.prototype.$mount = function (\n el,\n hydrating\n) {\n el = el && inBrowser ? query(el) : undefined;\n return mountComponent(this, el, hydrating)\n};\n\n// devtools global hook\n/* istanbul ignore next */\nif (inBrowser) {\n setTimeout(function () {\n if (config.devtools) {\n if (devtools) {\n devtools.emit('init', Vue);\n } else if (\n process.env.NODE_ENV !== 'production' &&\n process.env.NODE_ENV !== 'test'\n ) {\n console[console.info ? 'info' : 'log'](\n 'Download the Vue Devtools extension for a better development experience:\\n' +\n 'https://github.com/vuejs/vue-devtools'\n );\n }\n }\n if (process.env.NODE_ENV !== 'production' &&\n process.env.NODE_ENV !== 'test' &&\n config.productionTip !== false &&\n typeof console !== 'undefined'\n ) {\n console[console.info ? 'info' : 'log'](\n \"You are running Vue in development mode.\\n\" +\n \"Make sure to turn on production mode when deploying for production.\\n\" +\n \"See more tips at https://vuejs.org/guide/deployment.html\"\n );\n }\n }, 0);\n}\n\n/* */\n\nexport default Vue;\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar global = require('../internals/global');\nvar defineProperties = require('../internals/object-define-properties');\nvar redefine = require('../internals/redefine');\nvar anInstance = require('../internals/an-instance');\nvar has = require('../internals/has');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar URLSearchParamsModule = require('../modules/web.url-search-params');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[A-Za-z]/;\nvar ALPHANUMERIC = /[\\d+-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^(0x|0X)/;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\n// eslint-disable-next-line no-control-regex\nvar FORBIDDEN_HOST_CODE_POINT = /[\\u0000\\u0009\\u000A\\u000D #%/:?@[\\\\]]/;\n// eslint-disable-next-line no-control-regex\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\u0000\\u0009\\u000A\\u000D #/:?@[\\\\]]/;\n// eslint-disable-next-line no-control-regex\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u001F ]+|[\\u0000-\\u001F ]+$/g;\n// eslint-disable-next-line no-control-regex\nvar TAB_AND_NEW_LINE = /[\\u0009\\u000A\\u000D]/g;\nvar EOF;\n\nvar parseHost = function (url, input) {\n var result, codePoints, index;\n if (input.charAt(0) == '[') {\n if (input.charAt(input.length - 1) != ']') return INVALID_HOST;\n result = parseIPv6(input.slice(1, -1));\n if (!result) return INVALID_HOST;\n url.host = result;\n // opaque host\n } else if (!isSpecial(url)) {\n if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n url.host = result;\n } else {\n input = toASCII(input);\n if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n url.host = result;\n }\n};\n\nvar parseIPv4 = function (input) {\n var parts = input.split('.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.pop();\n }\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '') return input;\n radix = 10;\n if (part.length > 1 && part.charAt(0) == '0') {\n radix = HEX_START.test(part) ? 16 : 8;\n part = part.slice(radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input;\n number = parseInt(part, radix);\n }\n numbers.push(number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n ipv4 = numbers.pop();\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// eslint-disable-next-line max-statements\nvar parseIPv6 = function (input) {\n var address = [0, 0, 0, 0, 0, 0, 0, 0];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n var char = function () {\n return input.charAt(pointer);\n };\n\n if (char() == ':') {\n if (input.charAt(1) != ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (char()) {\n if (pieceIndex == 8) return;\n if (char() == ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && HEX.test(char())) {\n value = value * 16 + parseInt(char(), 16);\n pointer++;\n length++;\n }\n if (char() == '.') {\n if (length == 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (char()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (char() == '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!DIGIT.test(char())) return;\n while (DIGIT.test(char())) {\n number = parseInt(char(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece == 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;\n }\n if (numbersSeen != 4) return;\n break;\n } else if (char() == ':') {\n pointer++;\n if (!char()) return;\n } else if (char()) return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8) return;\n return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\n\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n // ipv4\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n result.unshift(host % 256);\n host = floor(host / 256);\n } return result.join('.');\n // ipv6\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += host[index].toString(16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (char, set) {\n var code = codeAt(char, 0);\n return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);\n};\n\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\nvar isSpecial = function (url) {\n return has(specialSchemes, url.scheme);\n};\n\nvar includesCredentials = function (url) {\n return url.username != '' || url.password != '';\n};\n\nvar cannotHaveUsernamePasswordPort = function (url) {\n return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\n\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && ALPHA.test(string.charAt(0))\n && ((second = string.charAt(1)) == ':' || (!normalized && second == '|'));\n};\n\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (\n string.length == 2 ||\n ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\nvar shortenURLsPath = function (url) {\n var path = url.path;\n var pathSize = path.length;\n if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.pop();\n }\n};\n\nvar isSingleDot = function (segment) {\n return segment === '.' || segment.toLowerCase() === '%2e';\n};\n\nvar isDoubleDot = function (segment) {\n segment = segment.toLowerCase();\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\n// eslint-disable-next-line max-statements\nvar parseURL = function (url, input, stateOverride, base) {\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, char, bufferCodePoints, failure;\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n\n input = input.replace(TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n char = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (char && ALPHA.test(char)) {\n buffer += char.toLowerCase();\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {\n buffer += char.toLowerCase();\n } else if (char == ':') {\n if (stateOverride && (\n (isSpecial(url) != has(specialSchemes, buffer)) ||\n (buffer == 'file' && (includesCredentials(url) || url.port !== null)) ||\n (url.scheme == 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (isSpecial(url)) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n url.path.push('');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && char != '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && char == '#') {\n url.scheme = base.scheme;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (char == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n } break;\n\n case PATH_OR_AUTHORITY:\n if (char == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (char == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '/' || (char == '\\\\' && isSpecial(url))) {\n state = RELATIVE_SLASH;\n } else if (char == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.path.pop();\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (isSpecial(url) && (char == '/' || char == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (char == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (char != '/' || buffer.charAt(pointer + 1) != '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (char != '/' && char != '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (char == '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (seenAt && buffer == '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += char;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (char == ':' && !seenBracket) {\n if (buffer == '') return INVALID_HOST;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME) return;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (isSpecial(url) && buffer == '') return INVALID_HOST;\n if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (char == '[') seenBracket = true;\n else if (char == ']') seenBracket = false;\n buffer += char;\n } break;\n\n case PORT:\n if (DIGIT.test(char)) {\n buffer += char;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url)) ||\n stateOverride\n ) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (char == '/' || char == '\\\\') state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (char == EOF) {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '?') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n url.host = base.host;\n url.path = base.path.slice();\n shortenURLsPath(url);\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (char == '/' || char == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (char == EOF || char == '/' || char == '\\\\' || char == '?' || char == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = parseHost(url, buffer);\n if (failure) return failure;\n if (url.host == 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += char;\n break;\n\n case PATH_START:\n if (isSpecial(url)) {\n state = PATH;\n if (char != '/' && char != '\\\\') continue;\n } else if (!stateOverride && char == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n state = PATH;\n if (char != '/') continue;\n } break;\n\n case PATH:\n if (\n char == EOF || char == '/' ||\n (char == '\\\\' && isSpecial(url)) ||\n (!stateOverride && (char == '?' || char == '#'))\n ) {\n if (isDoubleDot(buffer)) {\n shortenURLsPath(url);\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else if (isSingleDot(buffer)) {\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = buffer.charAt(0) + ':'; // normalize windows drive letter\n }\n url.path.push(buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n url.path.shift();\n }\n }\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(char, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n if (char == \"'\" && isSpecial(url)) url.query += '%27';\n else if (char == '#') url.query += '%23';\n else url.query += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (char != EOF) url.fragment += percentEncode(char, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n var that = anInstance(this, URLConstructor, 'URL');\n var base = arguments.length > 1 ? arguments[1] : undefined;\n var urlString = String(url);\n var state = setInternalState(that, { type: 'URL' });\n var baseState, failure;\n if (base !== undefined) {\n if (base instanceof URLConstructor) baseState = getInternalURLState(base);\n else {\n failure = parseURL(baseState = {}, String(base));\n if (failure) throw TypeError(failure);\n }\n }\n failure = parseURL(state, urlString, null, baseState);\n if (failure) throw TypeError(failure);\n var searchParams = state.searchParams = new URLSearchParams();\n var searchParamsState = getInternalSearchParamsState(searchParams);\n searchParamsState.updateSearchParams(state.query);\n searchParamsState.updateURL = function () {\n state.query = String(searchParams) || null;\n };\n if (!DESCRIPTORS) {\n that.href = serializeURL.call(that);\n that.origin = getOrigin.call(that);\n that.protocol = getProtocol.call(that);\n that.username = getUsername.call(that);\n that.password = getPassword.call(that);\n that.host = getHost.call(that);\n that.hostname = getHostname.call(that);\n that.port = getPort.call(that);\n that.pathname = getPathname.call(that);\n that.search = getSearch.call(that);\n that.searchParams = getSearchParams.call(that);\n that.hash = getHash.call(that);\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar serializeURL = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (includesCredentials(url)) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme == 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n};\n\nvar getOrigin = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var port = url.port;\n if (scheme == 'blob') try {\n return new URL(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !isSpecial(url)) return 'null';\n return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\n\nvar getProtocol = function () {\n return getInternalURLState(this).scheme + ':';\n};\n\nvar getUsername = function () {\n return getInternalURLState(this).username;\n};\n\nvar getPassword = function () {\n return getInternalURLState(this).password;\n};\n\nvar getHost = function () {\n var url = getInternalURLState(this);\n var host = url.host;\n var port = url.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n};\n\nvar getHostname = function () {\n var host = getInternalURLState(this).host;\n return host === null ? '' : serializeHost(host);\n};\n\nvar getPort = function () {\n var port = getInternalURLState(this).port;\n return port === null ? '' : String(port);\n};\n\nvar getPathname = function () {\n var url = getInternalURLState(this);\n var path = url.path;\n return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\n\nvar getSearch = function () {\n var query = getInternalURLState(this).query;\n return query ? '?' + query : '';\n};\n\nvar getSearchParams = function () {\n return getInternalURLState(this).searchParams;\n};\n\nvar getHash = function () {\n var fragment = getInternalURLState(this).fragment;\n return fragment ? '#' + fragment : '';\n};\n\nvar accessorDescriptor = function (getter, setter) {\n return { get: getter, set: setter, configurable: true, enumerable: true };\n};\n\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n href: accessorDescriptor(serializeURL, function (href) {\n var url = getInternalURLState(this);\n var urlString = String(href);\n var failure = parseURL(url, urlString);\n if (failure) throw TypeError(failure);\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n origin: accessorDescriptor(getOrigin),\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n protocol: accessorDescriptor(getProtocol, function (protocol) {\n var url = getInternalURLState(this);\n parseURL(url, String(protocol) + ':', SCHEME_START);\n }),\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n username: accessorDescriptor(getUsername, function (username) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(username));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n password: accessorDescriptor(getPassword, function (password) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(password));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n host: accessorDescriptor(getHost, function (host) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(host), HOST);\n }),\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n hostname: accessorDescriptor(getHostname, function (hostname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(hostname), HOSTNAME);\n }),\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n port: accessorDescriptor(getPort, function (port) {\n var url = getInternalURLState(this);\n if (cannotHaveUsernamePasswordPort(url)) return;\n port = String(port);\n if (port == '') url.port = null;\n else parseURL(url, port, PORT);\n }),\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n pathname: accessorDescriptor(getPathname, function (pathname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n url.path = [];\n parseURL(url, pathname + '', PATH_START);\n }),\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n search: accessorDescriptor(getSearch, function (search) {\n var url = getInternalURLState(this);\n search = String(search);\n if (search == '') {\n url.query = null;\n } else {\n if ('?' == search.charAt(0)) search = search.slice(1);\n url.query = '';\n parseURL(url, search, QUERY);\n }\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n searchParams: accessorDescriptor(getSearchParams),\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n hash: accessorDescriptor(getHash, function (hash) {\n var url = getInternalURLState(this);\n hash = String(hash);\n if (hash == '') {\n url.fragment = null;\n return;\n }\n if ('#' == hash.charAt(0)) hash = hash.slice(1);\n url.fragment = '';\n parseURL(url, hash, FRAGMENT);\n })\n });\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\nredefine(URLPrototype, 'toString', function toString() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n // eslint-disable-next-line no-unused-vars\n if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n return nativeCreateObjectURL.apply(NativeURL, arguments);\n });\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n // eslint-disable-next-line no-unused-vars\n if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n return nativeRevokeObjectURL.apply(NativeURL, arguments);\n });\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\n});\n","module.exports = require('./lib/_stream_writable.js');\n","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\nvar nativeStartsWith = ''.startsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return nativeStartsWith\n ? nativeStartsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\nvar bind = require('../internals/function-bind-context');\nvar html = require('../internals/html');\nvar createElement = require('../internals/document-create-element');\nvar IS_IOS = require('../internals/engine-is-ios');\n\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function (id) {\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};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = 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 (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (classof(process) == 'process') {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(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 (\n global.addEventListener &&\n typeof postMessage == 'function' &&\n !global.importScripts &&\n !fails(post) &&\n location.protocol !== 'file:'\n ) {\n defer = post;\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","// Styles\nimport \"../../../src/components/VSnackbar/VSnackbar.sass\"; // Components\n\nimport VSheet from '../VSheet/VSheet'; // Mixins\n\nimport Colorable from '../../mixins/colorable';\nimport Themeable from '../../mixins/themeable';\nimport Toggleable from '../../mixins/toggleable';\nimport { factory as PositionableFactory } from '../../mixins/positionable'; // Utilities\n\nimport mixins from '../../util/mixins';\nimport { convertToUnit, getSlot } from '../../util/helpers';\nimport { deprecate, removed } from '../../util/console';\nexport default mixins(VSheet, Colorable, Toggleable, PositionableFactory(['absolute', 'bottom', 'left', 'right', 'top'])\n/* @vue/component */\n).extend({\n name: 'v-snackbar',\n props: {\n app: Boolean,\n centered: Boolean,\n contentClass: {\n type: String,\n default: ''\n },\n multiLine: Boolean,\n text: Boolean,\n timeout: {\n type: [Number, String],\n default: 5000\n },\n transition: {\n type: [Boolean, String],\n default: 'v-snack-transition',\n validator: v => typeof v === 'string' || v === false\n },\n vertical: Boolean\n },\n data: () => ({\n activeTimeout: -1\n }),\n computed: {\n classes() {\n return {\n 'v-snack--absolute': this.absolute,\n 'v-snack--active': this.isActive,\n 'v-snack--bottom': this.bottom || !this.top,\n 'v-snack--centered': this.centered,\n 'v-snack--has-background': this.hasBackground,\n 'v-snack--left': this.left,\n 'v-snack--multi-line': this.multiLine && !this.vertical,\n 'v-snack--right': this.right,\n 'v-snack--text': this.text,\n 'v-snack--top': this.top,\n 'v-snack--vertical': this.vertical\n };\n },\n\n // Text and outlined styles both\n // use transparent backgrounds\n hasBackground() {\n return !this.text && !this.outlined;\n },\n\n // Snackbar is dark by default\n // override themeable logic.\n isDark() {\n return this.hasBackground ? !this.light : Themeable.options.computed.isDark.call(this);\n },\n\n styles() {\n if (this.absolute || !this.app) return {};\n const {\n bar,\n bottom,\n footer,\n insetFooter,\n left,\n right,\n top\n } = this.$vuetify.application;\n return {\n paddingBottom: convertToUnit(bottom + footer + insetFooter),\n paddingLeft: convertToUnit(left),\n paddingRight: convertToUnit(right),\n paddingTop: convertToUnit(bar + top)\n };\n }\n\n },\n watch: {\n isActive: 'setTimeout',\n timeout: 'setTimeout'\n },\n\n mounted() {\n if (this.isActive) this.setTimeout();\n },\n\n created() {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('auto-height')) {\n removed('auto-height', this);\n }\n /* istanbul ignore next */\n // eslint-disable-next-line eqeqeq\n\n\n if (this.timeout == 0) {\n deprecate('timeout=\"0\"', '-1', this);\n }\n },\n\n methods: {\n genActions() {\n return this.$createElement('div', {\n staticClass: 'v-snack__action '\n }, [getSlot(this, 'action', {\n attrs: {\n class: 'v-snack__btn'\n }\n })]);\n },\n\n genContent() {\n return this.$createElement('div', {\n staticClass: 'v-snack__content',\n class: {\n [this.contentClass]: true\n },\n attrs: {\n role: 'status',\n 'aria-live': 'polite'\n }\n }, [getSlot(this)]);\n },\n\n genWrapper() {\n const setColor = this.hasBackground ? this.setBackgroundColor : this.setTextColor;\n const data = setColor(this.color, {\n staticClass: 'v-snack__wrapper',\n class: VSheet.options.computed.classes.call(this),\n style: VSheet.options.computed.styles.call(this),\n directives: [{\n name: 'show',\n value: this.isActive\n }],\n on: {\n pointerenter: () => window.clearTimeout(this.activeTimeout),\n pointerleave: this.setTimeout\n }\n });\n return this.$createElement('div', data, [this.genContent(), this.genActions()]);\n },\n\n genTransition() {\n return this.$createElement('transition', {\n props: {\n name: this.transition\n }\n }, [this.genWrapper()]);\n },\n\n setTimeout() {\n window.clearTimeout(this.activeTimeout);\n const timeout = Number(this.timeout);\n\n if (!this.isActive || // TODO: remove 0 in v3\n [0, -1].includes(timeout)) {\n return;\n }\n\n this.activeTimeout = window.setTimeout(() => {\n this.isActive = false;\n }, timeout);\n }\n\n },\n\n render(h) {\n return h('div', {\n staticClass: 'v-snack',\n class: this.classes,\n style: this.styles\n }, [this.transition !== false ? this.genTransition() : this.genWrapper()]);\n }\n\n});\n//# sourceMappingURL=VSnackbar.js.map",";(function (sax) { // wrapper for non-node envs\n sax.parser = function (strict, opt) { return new SAXParser(strict, opt) }\n sax.SAXParser = SAXParser\n sax.SAXStream = SAXStream\n sax.createStream = createStream\n\n // When we pass the MAX_BUFFER_LENGTH position, start checking for buffer overruns.\n // When we check, schedule the next check for MAX_BUFFER_LENGTH - (max(buffer lengths)),\n // since that's the earliest that a buffer overrun could occur. This way, checks are\n // as rare as required, but as often as necessary to ensure never crossing this bound.\n // Furthermore, buffers are only tested at most once per write(), so passing a very\n // large string into write() might have undesirable effects, but this is manageable by\n // the caller, so it is assumed to be safe. Thus, a call to write() may, in the extreme\n // edge case, result in creating at most one complete copy of the string passed in.\n // Set to Infinity to have unlimited buffers.\n sax.MAX_BUFFER_LENGTH = 64 * 1024\n\n var buffers = [\n 'comment', 'sgmlDecl', 'textNode', 'tagName', 'doctype',\n 'procInstName', 'procInstBody', 'entity', 'attribName',\n 'attribValue', 'cdata', 'script'\n ]\n\n sax.EVENTS = [\n 'text',\n 'processinginstruction',\n 'sgmldeclaration',\n 'doctype',\n 'comment',\n 'opentagstart',\n 'attribute',\n 'opentag',\n 'closetag',\n 'opencdata',\n 'cdata',\n 'closecdata',\n 'error',\n 'end',\n 'ready',\n 'script',\n 'opennamespace',\n 'closenamespace'\n ]\n\n function SAXParser (strict, opt) {\n if (!(this instanceof SAXParser)) {\n return new SAXParser(strict, opt)\n }\n\n var parser = this\n clearBuffers(parser)\n parser.q = parser.c = ''\n parser.bufferCheckPosition = sax.MAX_BUFFER_LENGTH\n parser.opt = opt || {}\n parser.opt.lowercase = parser.opt.lowercase || parser.opt.lowercasetags\n parser.looseCase = parser.opt.lowercase ? 'toLowerCase' : 'toUpperCase'\n parser.tags = []\n parser.closed = parser.closedRoot = parser.sawRoot = false\n parser.tag = parser.error = null\n parser.strict = !!strict\n parser.noscript = !!(strict || parser.opt.noscript)\n parser.state = S.BEGIN\n parser.strictEntities = parser.opt.strictEntities\n parser.ENTITIES = parser.strictEntities ? Object.create(sax.XML_ENTITIES) : Object.create(sax.ENTITIES)\n parser.attribList = []\n\n // namespaces form a prototype chain.\n // it always points at the current tag,\n // which protos to its parent tag.\n if (parser.opt.xmlns) {\n parser.ns = Object.create(rootNS)\n }\n\n // mostly just for error reporting\n parser.trackPosition = parser.opt.position !== false\n if (parser.trackPosition) {\n parser.position = parser.line = parser.column = 0\n }\n emit(parser, 'onready')\n }\n\n if (!Object.create) {\n Object.create = function (o) {\n function F () {}\n F.prototype = o\n var newf = new F()\n return newf\n }\n }\n\n if (!Object.keys) {\n Object.keys = function (o) {\n var a = []\n for (var i in o) if (o.hasOwnProperty(i)) a.push(i)\n return a\n }\n }\n\n function checkBufferLength (parser) {\n var maxAllowed = Math.max(sax.MAX_BUFFER_LENGTH, 10)\n var maxActual = 0\n for (var i = 0, l = buffers.length; i < l; i++) {\n var len = parser[buffers[i]].length\n if (len > maxAllowed) {\n // Text/cdata nodes can get big, and since they're buffered,\n // we can get here under normal conditions.\n // Avoid issues by emitting the text node now,\n // so at least it won't get any bigger.\n switch (buffers[i]) {\n case 'textNode':\n closeText(parser)\n break\n\n case 'cdata':\n emitNode(parser, 'oncdata', parser.cdata)\n parser.cdata = ''\n break\n\n case 'script':\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n break\n\n default:\n error(parser, 'Max buffer length exceeded: ' + buffers[i])\n }\n }\n maxActual = Math.max(maxActual, len)\n }\n // schedule the next check for the earliest possible buffer overrun.\n var m = sax.MAX_BUFFER_LENGTH - maxActual\n parser.bufferCheckPosition = m + parser.position\n }\n\n function clearBuffers (parser) {\n for (var i = 0, l = buffers.length; i < l; i++) {\n parser[buffers[i]] = ''\n }\n }\n\n function flushBuffers (parser) {\n closeText(parser)\n if (parser.cdata !== '') {\n emitNode(parser, 'oncdata', parser.cdata)\n parser.cdata = ''\n }\n if (parser.script !== '') {\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n }\n }\n\n SAXParser.prototype = {\n end: function () { end(this) },\n write: write,\n resume: function () { this.error = null; return this },\n close: function () { return this.write(null) },\n flush: function () { flushBuffers(this) }\n }\n\n var Stream\n try {\n Stream = require('stream').Stream\n } catch (ex) {\n Stream = function () {}\n }\n\n var streamWraps = sax.EVENTS.filter(function (ev) {\n return ev !== 'error' && ev !== 'end'\n })\n\n function createStream (strict, opt) {\n return new SAXStream(strict, opt)\n }\n\n function SAXStream (strict, opt) {\n if (!(this instanceof SAXStream)) {\n return new SAXStream(strict, opt)\n }\n\n Stream.apply(this)\n\n this._parser = new SAXParser(strict, opt)\n this.writable = true\n this.readable = true\n\n var me = this\n\n this._parser.onend = function () {\n me.emit('end')\n }\n\n this._parser.onerror = function (er) {\n me.emit('error', er)\n\n // if didn't throw, then means error was handled.\n // go ahead and clear error, so we can write again.\n me._parser.error = null\n }\n\n this._decoder = null\n\n streamWraps.forEach(function (ev) {\n Object.defineProperty(me, 'on' + ev, {\n get: function () {\n return me._parser['on' + ev]\n },\n set: function (h) {\n if (!h) {\n me.removeAllListeners(ev)\n me._parser['on' + ev] = h\n return h\n }\n me.on(ev, h)\n },\n enumerable: true,\n configurable: false\n })\n })\n }\n\n SAXStream.prototype = Object.create(Stream.prototype, {\n constructor: {\n value: SAXStream\n }\n })\n\n SAXStream.prototype.write = function (data) {\n if (typeof Buffer === 'function' &&\n typeof Buffer.isBuffer === 'function' &&\n Buffer.isBuffer(data)) {\n if (!this._decoder) {\n var SD = require('string_decoder').StringDecoder\n this._decoder = new SD('utf8')\n }\n data = this._decoder.write(data)\n }\n\n this._parser.write(data.toString())\n this.emit('data', data)\n return true\n }\n\n SAXStream.prototype.end = function (chunk) {\n if (chunk && chunk.length) {\n this.write(chunk)\n }\n this._parser.end()\n return true\n }\n\n SAXStream.prototype.on = function (ev, handler) {\n var me = this\n if (!me._parser['on' + ev] && streamWraps.indexOf(ev) !== -1) {\n me._parser['on' + ev] = function () {\n var args = arguments.length === 1 ? [arguments[0]] : Array.apply(null, arguments)\n args.splice(0, 0, ev)\n me.emit.apply(me, args)\n }\n }\n\n return Stream.prototype.on.call(me, ev, handler)\n }\n\n // this really needs to be replaced with character classes.\n // XML allows all manner of ridiculous numbers and digits.\n var CDATA = '[CDATA['\n var DOCTYPE = 'DOCTYPE'\n var XML_NAMESPACE = 'http://www.w3.org/XML/1998/namespace'\n var XMLNS_NAMESPACE = 'http://www.w3.org/2000/xmlns/'\n var rootNS = { xml: XML_NAMESPACE, xmlns: XMLNS_NAMESPACE }\n\n // http://www.w3.org/TR/REC-xml/#NT-NameStartChar\n // This implementation works on strings, a single character at a time\n // as such, it cannot ever support astral-plane characters (10000-EFFFF)\n // without a significant breaking change to either this parser, or the\n // JavaScript language. Implementation of an emoji-capable xml parser\n // is left as an exercise for the reader.\n var nameStart = /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/\n\n var nameBody = /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/\n\n var entityStart = /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/\n var entityBody = /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/\n\n function isWhitespace (c) {\n return c === ' ' || c === '\\n' || c === '\\r' || c === '\\t'\n }\n\n function isQuote (c) {\n return c === '\"' || c === '\\''\n }\n\n function isAttribEnd (c) {\n return c === '>' || isWhitespace(c)\n }\n\n function isMatch (regex, c) {\n return regex.test(c)\n }\n\n function notMatch (regex, c) {\n return !isMatch(regex, c)\n }\n\n var S = 0\n sax.STATE = {\n BEGIN: S++, // leading byte order mark or whitespace\n BEGIN_WHITESPACE: S++, // leading whitespace\n TEXT: S++, // general stuff\n TEXT_ENTITY: S++, // & and such.\n OPEN_WAKA: S++, // <\n SGML_DECL: S++, // <!BLARG\n SGML_DECL_QUOTED: S++, // <!BLARG foo \"bar\n DOCTYPE: S++, // <!DOCTYPE\n DOCTYPE_QUOTED: S++, // <!DOCTYPE \"//blah\n DOCTYPE_DTD: S++, // <!DOCTYPE \"//blah\" [ ...\n DOCTYPE_DTD_QUOTED: S++, // <!DOCTYPE \"//blah\" [ \"foo\n COMMENT_STARTING: S++, // <!-\n COMMENT: S++, // <!--\n COMMENT_ENDING: S++, // <!-- blah -\n COMMENT_ENDED: S++, // <!-- blah --\n CDATA: S++, // <![CDATA[ something\n CDATA_ENDING: S++, // ]\n CDATA_ENDING_2: S++, // ]]\n PROC_INST: S++, // <?hi\n PROC_INST_BODY: S++, // <?hi there\n PROC_INST_ENDING: S++, // <?hi \"there\" ?\n OPEN_TAG: S++, // <strong\n OPEN_TAG_SLASH: S++, // <strong /\n ATTRIB: S++, // <a\n ATTRIB_NAME: S++, // <a foo\n ATTRIB_NAME_SAW_WHITE: S++, // <a foo _\n ATTRIB_VALUE: S++, // <a foo=\n ATTRIB_VALUE_QUOTED: S++, // <a foo=\"bar\n ATTRIB_VALUE_CLOSED: S++, // <a foo=\"bar\"\n ATTRIB_VALUE_UNQUOTED: S++, // <a foo=bar\n ATTRIB_VALUE_ENTITY_Q: S++, // <foo bar=\""\"\n ATTRIB_VALUE_ENTITY_U: S++, // <foo bar="\n CLOSE_TAG: S++, // </a\n CLOSE_TAG_SAW_WHITE: S++, // </a >\n SCRIPT: S++, // <script> ...\n SCRIPT_ENDING: S++ // <script> ... <\n }\n\n sax.XML_ENTITIES = {\n 'amp': '&',\n 'gt': '>',\n 'lt': '<',\n 'quot': '\"',\n 'apos': \"'\"\n }\n\n sax.ENTITIES = {\n 'amp': '&',\n 'gt': '>',\n 'lt': '<',\n 'quot': '\"',\n 'apos': \"'\",\n 'AElig': 198,\n 'Aacute': 193,\n 'Acirc': 194,\n 'Agrave': 192,\n 'Aring': 197,\n 'Atilde': 195,\n 'Auml': 196,\n 'Ccedil': 199,\n 'ETH': 208,\n 'Eacute': 201,\n 'Ecirc': 202,\n 'Egrave': 200,\n 'Euml': 203,\n 'Iacute': 205,\n 'Icirc': 206,\n 'Igrave': 204,\n 'Iuml': 207,\n 'Ntilde': 209,\n 'Oacute': 211,\n 'Ocirc': 212,\n 'Ograve': 210,\n 'Oslash': 216,\n 'Otilde': 213,\n 'Ouml': 214,\n 'THORN': 222,\n 'Uacute': 218,\n 'Ucirc': 219,\n 'Ugrave': 217,\n 'Uuml': 220,\n 'Yacute': 221,\n 'aacute': 225,\n 'acirc': 226,\n 'aelig': 230,\n 'agrave': 224,\n 'aring': 229,\n 'atilde': 227,\n 'auml': 228,\n 'ccedil': 231,\n 'eacute': 233,\n 'ecirc': 234,\n 'egrave': 232,\n 'eth': 240,\n 'euml': 235,\n 'iacute': 237,\n 'icirc': 238,\n 'igrave': 236,\n 'iuml': 239,\n 'ntilde': 241,\n 'oacute': 243,\n 'ocirc': 244,\n 'ograve': 242,\n 'oslash': 248,\n 'otilde': 245,\n 'ouml': 246,\n 'szlig': 223,\n 'thorn': 254,\n 'uacute': 250,\n 'ucirc': 251,\n 'ugrave': 249,\n 'uuml': 252,\n 'yacute': 253,\n 'yuml': 255,\n 'copy': 169,\n 'reg': 174,\n 'nbsp': 160,\n 'iexcl': 161,\n 'cent': 162,\n 'pound': 163,\n 'curren': 164,\n 'yen': 165,\n 'brvbar': 166,\n 'sect': 167,\n 'uml': 168,\n 'ordf': 170,\n 'laquo': 171,\n 'not': 172,\n 'shy': 173,\n 'macr': 175,\n 'deg': 176,\n 'plusmn': 177,\n 'sup1': 185,\n 'sup2': 178,\n 'sup3': 179,\n 'acute': 180,\n 'micro': 181,\n 'para': 182,\n 'middot': 183,\n 'cedil': 184,\n 'ordm': 186,\n 'raquo': 187,\n 'frac14': 188,\n 'frac12': 189,\n 'frac34': 190,\n 'iquest': 191,\n 'times': 215,\n 'divide': 247,\n 'OElig': 338,\n 'oelig': 339,\n 'Scaron': 352,\n 'scaron': 353,\n 'Yuml': 376,\n 'fnof': 402,\n 'circ': 710,\n 'tilde': 732,\n 'Alpha': 913,\n 'Beta': 914,\n 'Gamma': 915,\n 'Delta': 916,\n 'Epsilon': 917,\n 'Zeta': 918,\n 'Eta': 919,\n 'Theta': 920,\n 'Iota': 921,\n 'Kappa': 922,\n 'Lambda': 923,\n 'Mu': 924,\n 'Nu': 925,\n 'Xi': 926,\n 'Omicron': 927,\n 'Pi': 928,\n 'Rho': 929,\n 'Sigma': 931,\n 'Tau': 932,\n 'Upsilon': 933,\n 'Phi': 934,\n 'Chi': 935,\n 'Psi': 936,\n 'Omega': 937,\n 'alpha': 945,\n 'beta': 946,\n 'gamma': 947,\n 'delta': 948,\n 'epsilon': 949,\n 'zeta': 950,\n 'eta': 951,\n 'theta': 952,\n 'iota': 953,\n 'kappa': 954,\n 'lambda': 955,\n 'mu': 956,\n 'nu': 957,\n 'xi': 958,\n 'omicron': 959,\n 'pi': 960,\n 'rho': 961,\n 'sigmaf': 962,\n 'sigma': 963,\n 'tau': 964,\n 'upsilon': 965,\n 'phi': 966,\n 'chi': 967,\n 'psi': 968,\n 'omega': 969,\n 'thetasym': 977,\n 'upsih': 978,\n 'piv': 982,\n 'ensp': 8194,\n 'emsp': 8195,\n 'thinsp': 8201,\n 'zwnj': 8204,\n 'zwj': 8205,\n 'lrm': 8206,\n 'rlm': 8207,\n 'ndash': 8211,\n 'mdash': 8212,\n 'lsquo': 8216,\n 'rsquo': 8217,\n 'sbquo': 8218,\n 'ldquo': 8220,\n 'rdquo': 8221,\n 'bdquo': 8222,\n 'dagger': 8224,\n 'Dagger': 8225,\n 'bull': 8226,\n 'hellip': 8230,\n 'permil': 8240,\n 'prime': 8242,\n 'Prime': 8243,\n 'lsaquo': 8249,\n 'rsaquo': 8250,\n 'oline': 8254,\n 'frasl': 8260,\n 'euro': 8364,\n 'image': 8465,\n 'weierp': 8472,\n 'real': 8476,\n 'trade': 8482,\n 'alefsym': 8501,\n 'larr': 8592,\n 'uarr': 8593,\n 'rarr': 8594,\n 'darr': 8595,\n 'harr': 8596,\n 'crarr': 8629,\n 'lArr': 8656,\n 'uArr': 8657,\n 'rArr': 8658,\n 'dArr': 8659,\n 'hArr': 8660,\n 'forall': 8704,\n 'part': 8706,\n 'exist': 8707,\n 'empty': 8709,\n 'nabla': 8711,\n 'isin': 8712,\n 'notin': 8713,\n 'ni': 8715,\n 'prod': 8719,\n 'sum': 8721,\n 'minus': 8722,\n 'lowast': 8727,\n 'radic': 8730,\n 'prop': 8733,\n 'infin': 8734,\n 'ang': 8736,\n 'and': 8743,\n 'or': 8744,\n 'cap': 8745,\n 'cup': 8746,\n 'int': 8747,\n 'there4': 8756,\n 'sim': 8764,\n 'cong': 8773,\n 'asymp': 8776,\n 'ne': 8800,\n 'equiv': 8801,\n 'le': 8804,\n 'ge': 8805,\n 'sub': 8834,\n 'sup': 8835,\n 'nsub': 8836,\n 'sube': 8838,\n 'supe': 8839,\n 'oplus': 8853,\n 'otimes': 8855,\n 'perp': 8869,\n 'sdot': 8901,\n 'lceil': 8968,\n 'rceil': 8969,\n 'lfloor': 8970,\n 'rfloor': 8971,\n 'lang': 9001,\n 'rang': 9002,\n 'loz': 9674,\n 'spades': 9824,\n 'clubs': 9827,\n 'hearts': 9829,\n 'diams': 9830\n }\n\n Object.keys(sax.ENTITIES).forEach(function (key) {\n var e = sax.ENTITIES[key]\n var s = typeof e === 'number' ? String.fromCharCode(e) : e\n sax.ENTITIES[key] = s\n })\n\n for (var s in sax.STATE) {\n sax.STATE[sax.STATE[s]] = s\n }\n\n // shorthand\n S = sax.STATE\n\n function emit (parser, event, data) {\n parser[event] && parser[event](data)\n }\n\n function emitNode (parser, nodeType, data) {\n if (parser.textNode) closeText(parser)\n emit(parser, nodeType, data)\n }\n\n function closeText (parser) {\n parser.textNode = textopts(parser.opt, parser.textNode)\n if (parser.textNode) emit(parser, 'ontext', parser.textNode)\n parser.textNode = ''\n }\n\n function textopts (opt, text) {\n if (opt.trim) text = text.trim()\n if (opt.normalize) text = text.replace(/\\s+/g, ' ')\n return text\n }\n\n function error (parser, er) {\n closeText(parser)\n if (parser.trackPosition) {\n er += '\\nLine: ' + parser.line +\n '\\nColumn: ' + parser.column +\n '\\nChar: ' + parser.c\n }\n er = new Error(er)\n parser.error = er\n emit(parser, 'onerror', er)\n return parser\n }\n\n function end (parser) {\n if (parser.sawRoot && !parser.closedRoot) strictFail(parser, 'Unclosed root tag')\n if ((parser.state !== S.BEGIN) &&\n (parser.state !== S.BEGIN_WHITESPACE) &&\n (parser.state !== S.TEXT)) {\n error(parser, 'Unexpected end')\n }\n closeText(parser)\n parser.c = ''\n parser.closed = true\n emit(parser, 'onend')\n SAXParser.call(parser, parser.strict, parser.opt)\n return parser\n }\n\n function strictFail (parser, message) {\n if (typeof parser !== 'object' || !(parser instanceof SAXParser)) {\n throw new Error('bad call to strictFail')\n }\n if (parser.strict) {\n error(parser, message)\n }\n }\n\n function newTag (parser) {\n if (!parser.strict) parser.tagName = parser.tagName[parser.looseCase]()\n var parent = parser.tags[parser.tags.length - 1] || parser\n var tag = parser.tag = { name: parser.tagName, attributes: {} }\n\n // will be overridden if tag contails an xmlns=\"foo\" or xmlns:foo=\"bar\"\n if (parser.opt.xmlns) {\n tag.ns = parent.ns\n }\n parser.attribList.length = 0\n emitNode(parser, 'onopentagstart', tag)\n }\n\n function qname (name, attribute) {\n var i = name.indexOf(':')\n var qualName = i < 0 ? [ '', name ] : name.split(':')\n var prefix = qualName[0]\n var local = qualName[1]\n\n // <x \"xmlns\"=\"http://foo\">\n if (attribute && name === 'xmlns') {\n prefix = 'xmlns'\n local = ''\n }\n\n return { prefix: prefix, local: local }\n }\n\n function attrib (parser) {\n if (!parser.strict) {\n parser.attribName = parser.attribName[parser.looseCase]()\n }\n\n if (parser.attribList.indexOf(parser.attribName) !== -1 ||\n parser.tag.attributes.hasOwnProperty(parser.attribName)) {\n parser.attribName = parser.attribValue = ''\n return\n }\n\n if (parser.opt.xmlns) {\n var qn = qname(parser.attribName, true)\n var prefix = qn.prefix\n var local = qn.local\n\n if (prefix === 'xmlns') {\n // namespace binding attribute. push the binding into scope\n if (local === 'xml' && parser.attribValue !== XML_NAMESPACE) {\n strictFail(parser,\n 'xml: prefix must be bound to ' + XML_NAMESPACE + '\\n' +\n 'Actual: ' + parser.attribValue)\n } else if (local === 'xmlns' && parser.attribValue !== XMLNS_NAMESPACE) {\n strictFail(parser,\n 'xmlns: prefix must be bound to ' + XMLNS_NAMESPACE + '\\n' +\n 'Actual: ' + parser.attribValue)\n } else {\n var tag = parser.tag\n var parent = parser.tags[parser.tags.length - 1] || parser\n if (tag.ns === parent.ns) {\n tag.ns = Object.create(parent.ns)\n }\n tag.ns[local] = parser.attribValue\n }\n }\n\n // defer onattribute events until all attributes have been seen\n // so any new bindings can take effect. preserve attribute order\n // so deferred events can be emitted in document order\n parser.attribList.push([parser.attribName, parser.attribValue])\n } else {\n // in non-xmlns mode, we can emit the event right away\n parser.tag.attributes[parser.attribName] = parser.attribValue\n emitNode(parser, 'onattribute', {\n name: parser.attribName,\n value: parser.attribValue\n })\n }\n\n parser.attribName = parser.attribValue = ''\n }\n\n function openTag (parser, selfClosing) {\n if (parser.opt.xmlns) {\n // emit namespace binding events\n var tag = parser.tag\n\n // add namespace info to tag\n var qn = qname(parser.tagName)\n tag.prefix = qn.prefix\n tag.local = qn.local\n tag.uri = tag.ns[qn.prefix] || ''\n\n if (tag.prefix && !tag.uri) {\n strictFail(parser, 'Unbound namespace prefix: ' +\n JSON.stringify(parser.tagName))\n tag.uri = qn.prefix\n }\n\n var parent = parser.tags[parser.tags.length - 1] || parser\n if (tag.ns && parent.ns !== tag.ns) {\n Object.keys(tag.ns).forEach(function (p) {\n emitNode(parser, 'onopennamespace', {\n prefix: p,\n uri: tag.ns[p]\n })\n })\n }\n\n // handle deferred onattribute events\n // Note: do not apply default ns to attributes:\n // http://www.w3.org/TR/REC-xml-names/#defaulting\n for (var i = 0, l = parser.attribList.length; i < l; i++) {\n var nv = parser.attribList[i]\n var name = nv[0]\n var value = nv[1]\n var qualName = qname(name, true)\n var prefix = qualName.prefix\n var local = qualName.local\n var uri = prefix === '' ? '' : (tag.ns[prefix] || '')\n var a = {\n name: name,\n value: value,\n prefix: prefix,\n local: local,\n uri: uri\n }\n\n // if there's any attributes with an undefined namespace,\n // then fail on them now.\n if (prefix && prefix !== 'xmlns' && !uri) {\n strictFail(parser, 'Unbound namespace prefix: ' +\n JSON.stringify(prefix))\n a.uri = prefix\n }\n parser.tag.attributes[name] = a\n emitNode(parser, 'onattribute', a)\n }\n parser.attribList.length = 0\n }\n\n parser.tag.isSelfClosing = !!selfClosing\n\n // process the tag\n parser.sawRoot = true\n parser.tags.push(parser.tag)\n emitNode(parser, 'onopentag', parser.tag)\n if (!selfClosing) {\n // special case for <script> in non-strict mode.\n if (!parser.noscript && parser.tagName.toLowerCase() === 'script') {\n parser.state = S.SCRIPT\n } else {\n parser.state = S.TEXT\n }\n parser.tag = null\n parser.tagName = ''\n }\n parser.attribName = parser.attribValue = ''\n parser.attribList.length = 0\n }\n\n function closeTag (parser) {\n if (!parser.tagName) {\n strictFail(parser, 'Weird empty close tag.')\n parser.textNode += '</>'\n parser.state = S.TEXT\n return\n }\n\n if (parser.script) {\n if (parser.tagName !== 'script') {\n parser.script += '</' + parser.tagName + '>'\n parser.tagName = ''\n parser.state = S.SCRIPT\n return\n }\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n }\n\n // first make sure that the closing tag actually exists.\n // <a><b></c></b></a> will close everything, otherwise.\n var t = parser.tags.length\n var tagName = parser.tagName\n if (!parser.strict) {\n tagName = tagName[parser.looseCase]()\n }\n var closeTo = tagName\n while (t--) {\n var close = parser.tags[t]\n if (close.name !== closeTo) {\n // fail the first time in strict mode\n strictFail(parser, 'Unexpected close tag')\n } else {\n break\n }\n }\n\n // didn't find it. we already failed for strict, so just abort.\n if (t < 0) {\n strictFail(parser, 'Unmatched closing tag: ' + parser.tagName)\n parser.textNode += '</' + parser.tagName + '>'\n parser.state = S.TEXT\n return\n }\n parser.tagName = tagName\n var s = parser.tags.length\n while (s-- > t) {\n var tag = parser.tag = parser.tags.pop()\n parser.tagName = parser.tag.name\n emitNode(parser, 'onclosetag', parser.tagName)\n\n var x = {}\n for (var i in tag.ns) {\n x[i] = tag.ns[i]\n }\n\n var parent = parser.tags[parser.tags.length - 1] || parser\n if (parser.opt.xmlns && tag.ns !== parent.ns) {\n // remove namespace bindings introduced by tag\n Object.keys(tag.ns).forEach(function (p) {\n var n = tag.ns[p]\n emitNode(parser, 'onclosenamespace', { prefix: p, uri: n })\n })\n }\n }\n if (t === 0) parser.closedRoot = true\n parser.tagName = parser.attribValue = parser.attribName = ''\n parser.attribList.length = 0\n parser.state = S.TEXT\n }\n\n function parseEntity (parser) {\n var entity = parser.entity\n var entityLC = entity.toLowerCase()\n var num\n var numStr = ''\n\n if (parser.ENTITIES[entity]) {\n return parser.ENTITIES[entity]\n }\n if (parser.ENTITIES[entityLC]) {\n return parser.ENTITIES[entityLC]\n }\n entity = entityLC\n if (entity.charAt(0) === '#') {\n if (entity.charAt(1) === 'x') {\n entity = entity.slice(2)\n num = parseInt(entity, 16)\n numStr = num.toString(16)\n } else {\n entity = entity.slice(1)\n num = parseInt(entity, 10)\n numStr = num.toString(10)\n }\n }\n entity = entity.replace(/^0+/, '')\n if (isNaN(num) || numStr.toLowerCase() !== entity) {\n strictFail(parser, 'Invalid character entity')\n return '&' + parser.entity + ';'\n }\n\n return String.fromCodePoint(num)\n }\n\n function beginWhiteSpace (parser, c) {\n if (c === '<') {\n parser.state = S.OPEN_WAKA\n parser.startTagPosition = parser.position\n } else if (!isWhitespace(c)) {\n // have to process this as a text node.\n // weird, but happens.\n strictFail(parser, 'Non-whitespace before first tag.')\n parser.textNode = c\n parser.state = S.TEXT\n }\n }\n\n function charAt (chunk, i) {\n var result = ''\n if (i < chunk.length) {\n result = chunk.charAt(i)\n }\n return result\n }\n\n function write (chunk) {\n var parser = this\n if (this.error) {\n throw this.error\n }\n if (parser.closed) {\n return error(parser,\n 'Cannot write after close. Assign an onready handler.')\n }\n if (chunk === null) {\n return end(parser)\n }\n if (typeof chunk === 'object') {\n chunk = chunk.toString()\n }\n var i = 0\n var c = ''\n while (true) {\n c = charAt(chunk, i++)\n parser.c = c\n\n if (!c) {\n break\n }\n\n if (parser.trackPosition) {\n parser.position++\n if (c === '\\n') {\n parser.line++\n parser.column = 0\n } else {\n parser.column++\n }\n }\n\n switch (parser.state) {\n case S.BEGIN:\n parser.state = S.BEGIN_WHITESPACE\n if (c === '\\uFEFF') {\n continue\n }\n beginWhiteSpace(parser, c)\n continue\n\n case S.BEGIN_WHITESPACE:\n beginWhiteSpace(parser, c)\n continue\n\n case S.TEXT:\n if (parser.sawRoot && !parser.closedRoot) {\n var starti = i - 1\n while (c && c !== '<' && c !== '&') {\n c = charAt(chunk, i++)\n if (c && parser.trackPosition) {\n parser.position++\n if (c === '\\n') {\n parser.line++\n parser.column = 0\n } else {\n parser.column++\n }\n }\n }\n parser.textNode += chunk.substring(starti, i - 1)\n }\n if (c === '<' && !(parser.sawRoot && parser.closedRoot && !parser.strict)) {\n parser.state = S.OPEN_WAKA\n parser.startTagPosition = parser.position\n } else {\n if (!isWhitespace(c) && (!parser.sawRoot || parser.closedRoot)) {\n strictFail(parser, 'Text data outside of root node.')\n }\n if (c === '&') {\n parser.state = S.TEXT_ENTITY\n } else {\n parser.textNode += c\n }\n }\n continue\n\n case S.SCRIPT:\n // only non-strict\n if (c === '<') {\n parser.state = S.SCRIPT_ENDING\n } else {\n parser.script += c\n }\n continue\n\n case S.SCRIPT_ENDING:\n if (c === '/') {\n parser.state = S.CLOSE_TAG\n } else {\n parser.script += '<' + c\n parser.state = S.SCRIPT\n }\n continue\n\n case S.OPEN_WAKA:\n // either a /, ?, !, or text is coming next.\n if (c === '!') {\n parser.state = S.SGML_DECL\n parser.sgmlDecl = ''\n } else if (isWhitespace(c)) {\n // wait for it...\n } else if (isMatch(nameStart, c)) {\n parser.state = S.OPEN_TAG\n parser.tagName = c\n } else if (c === '/') {\n parser.state = S.CLOSE_TAG\n parser.tagName = ''\n } else if (c === '?') {\n parser.state = S.PROC_INST\n parser.procInstName = parser.procInstBody = ''\n } else {\n strictFail(parser, 'Unencoded <')\n // if there was some whitespace, then add that in.\n if (parser.startTagPosition + 1 < parser.position) {\n var pad = parser.position - parser.startTagPosition\n c = new Array(pad).join(' ') + c\n }\n parser.textNode += '<' + c\n parser.state = S.TEXT\n }\n continue\n\n case S.SGML_DECL:\n if ((parser.sgmlDecl + c).toUpperCase() === CDATA) {\n emitNode(parser, 'onopencdata')\n parser.state = S.CDATA\n parser.sgmlDecl = ''\n parser.cdata = ''\n } else if (parser.sgmlDecl + c === '--') {\n parser.state = S.COMMENT\n parser.comment = ''\n parser.sgmlDecl = ''\n } else if ((parser.sgmlDecl + c).toUpperCase() === DOCTYPE) {\n parser.state = S.DOCTYPE\n if (parser.doctype || parser.sawRoot) {\n strictFail(parser,\n 'Inappropriately located doctype declaration')\n }\n parser.doctype = ''\n parser.sgmlDecl = ''\n } else if (c === '>') {\n emitNode(parser, 'onsgmldeclaration', parser.sgmlDecl)\n parser.sgmlDecl = ''\n parser.state = S.TEXT\n } else if (isQuote(c)) {\n parser.state = S.SGML_DECL_QUOTED\n parser.sgmlDecl += c\n } else {\n parser.sgmlDecl += c\n }\n continue\n\n case S.SGML_DECL_QUOTED:\n if (c === parser.q) {\n parser.state = S.SGML_DECL\n parser.q = ''\n }\n parser.sgmlDecl += c\n continue\n\n case S.DOCTYPE:\n if (c === '>') {\n parser.state = S.TEXT\n emitNode(parser, 'ondoctype', parser.doctype)\n parser.doctype = true // just remember that we saw it.\n } else {\n parser.doctype += c\n if (c === '[') {\n parser.state = S.DOCTYPE_DTD\n } else if (isQuote(c)) {\n parser.state = S.DOCTYPE_QUOTED\n parser.q = c\n }\n }\n continue\n\n case S.DOCTYPE_QUOTED:\n parser.doctype += c\n if (c === parser.q) {\n parser.q = ''\n parser.state = S.DOCTYPE\n }\n continue\n\n case S.DOCTYPE_DTD:\n parser.doctype += c\n if (c === ']') {\n parser.state = S.DOCTYPE\n } else if (isQuote(c)) {\n parser.state = S.DOCTYPE_DTD_QUOTED\n parser.q = c\n }\n continue\n\n case S.DOCTYPE_DTD_QUOTED:\n parser.doctype += c\n if (c === parser.q) {\n parser.state = S.DOCTYPE_DTD\n parser.q = ''\n }\n continue\n\n case S.COMMENT:\n if (c === '-') {\n parser.state = S.COMMENT_ENDING\n } else {\n parser.comment += c\n }\n continue\n\n case S.COMMENT_ENDING:\n if (c === '-') {\n parser.state = S.COMMENT_ENDED\n parser.comment = textopts(parser.opt, parser.comment)\n if (parser.comment) {\n emitNode(parser, 'oncomment', parser.comment)\n }\n parser.comment = ''\n } else {\n parser.comment += '-' + c\n parser.state = S.COMMENT\n }\n continue\n\n case S.COMMENT_ENDED:\n if (c !== '>') {\n strictFail(parser, 'Malformed comment')\n // allow <!-- blah -- bloo --> in non-strict mode,\n // which is a comment of \" blah -- bloo \"\n parser.comment += '--' + c\n parser.state = S.COMMENT\n } else {\n parser.state = S.TEXT\n }\n continue\n\n case S.CDATA:\n if (c === ']') {\n parser.state = S.CDATA_ENDING\n } else {\n parser.cdata += c\n }\n continue\n\n case S.CDATA_ENDING:\n if (c === ']') {\n parser.state = S.CDATA_ENDING_2\n } else {\n parser.cdata += ']' + c\n parser.state = S.CDATA\n }\n continue\n\n case S.CDATA_ENDING_2:\n if (c === '>') {\n if (parser.cdata) {\n emitNode(parser, 'oncdata', parser.cdata)\n }\n emitNode(parser, 'onclosecdata')\n parser.cdata = ''\n parser.state = S.TEXT\n } else if (c === ']') {\n parser.cdata += ']'\n } else {\n parser.cdata += ']]' + c\n parser.state = S.CDATA\n }\n continue\n\n case S.PROC_INST:\n if (c === '?') {\n parser.state = S.PROC_INST_ENDING\n } else if (isWhitespace(c)) {\n parser.state = S.PROC_INST_BODY\n } else {\n parser.procInstName += c\n }\n continue\n\n case S.PROC_INST_BODY:\n if (!parser.procInstBody && isWhitespace(c)) {\n continue\n } else if (c === '?') {\n parser.state = S.PROC_INST_ENDING\n } else {\n parser.procInstBody += c\n }\n continue\n\n case S.PROC_INST_ENDING:\n if (c === '>') {\n emitNode(parser, 'onprocessinginstruction', {\n name: parser.procInstName,\n body: parser.procInstBody\n })\n parser.procInstName = parser.procInstBody = ''\n parser.state = S.TEXT\n } else {\n parser.procInstBody += '?' + c\n parser.state = S.PROC_INST_BODY\n }\n continue\n\n case S.OPEN_TAG:\n if (isMatch(nameBody, c)) {\n parser.tagName += c\n } else {\n newTag(parser)\n if (c === '>') {\n openTag(parser)\n } else if (c === '/') {\n parser.state = S.OPEN_TAG_SLASH\n } else {\n if (!isWhitespace(c)) {\n strictFail(parser, 'Invalid character in tag name')\n }\n parser.state = S.ATTRIB\n }\n }\n continue\n\n case S.OPEN_TAG_SLASH:\n if (c === '>') {\n openTag(parser, true)\n closeTag(parser)\n } else {\n strictFail(parser, 'Forward-slash in opening tag not followed by >')\n parser.state = S.ATTRIB\n }\n continue\n\n case S.ATTRIB:\n // haven't read the attribute name yet.\n if (isWhitespace(c)) {\n continue\n } else if (c === '>') {\n openTag(parser)\n } else if (c === '/') {\n parser.state = S.OPEN_TAG_SLASH\n } else if (isMatch(nameStart, c)) {\n parser.attribName = c\n parser.attribValue = ''\n parser.state = S.ATTRIB_NAME\n } else {\n strictFail(parser, 'Invalid attribute name')\n }\n continue\n\n case S.ATTRIB_NAME:\n if (c === '=') {\n parser.state = S.ATTRIB_VALUE\n } else if (c === '>') {\n strictFail(parser, 'Attribute without value')\n parser.attribValue = parser.attribName\n attrib(parser)\n openTag(parser)\n } else if (isWhitespace(c)) {\n parser.state = S.ATTRIB_NAME_SAW_WHITE\n } else if (isMatch(nameBody, c)) {\n parser.attribName += c\n } else {\n strictFail(parser, 'Invalid attribute name')\n }\n continue\n\n case S.ATTRIB_NAME_SAW_WHITE:\n if (c === '=') {\n parser.state = S.ATTRIB_VALUE\n } else if (isWhitespace(c)) {\n continue\n } else {\n strictFail(parser, 'Attribute without value')\n parser.tag.attributes[parser.attribName] = ''\n parser.attribValue = ''\n emitNode(parser, 'onattribute', {\n name: parser.attribName,\n value: ''\n })\n parser.attribName = ''\n if (c === '>') {\n openTag(parser)\n } else if (isMatch(nameStart, c)) {\n parser.attribName = c\n parser.state = S.ATTRIB_NAME\n } else {\n strictFail(parser, 'Invalid attribute name')\n parser.state = S.ATTRIB\n }\n }\n continue\n\n case S.ATTRIB_VALUE:\n if (isWhitespace(c)) {\n continue\n } else if (isQuote(c)) {\n parser.q = c\n parser.state = S.ATTRIB_VALUE_QUOTED\n } else {\n strictFail(parser, 'Unquoted attribute value')\n parser.state = S.ATTRIB_VALUE_UNQUOTED\n parser.attribValue = c\n }\n continue\n\n case S.ATTRIB_VALUE_QUOTED:\n if (c !== parser.q) {\n if (c === '&') {\n parser.state = S.ATTRIB_VALUE_ENTITY_Q\n } else {\n parser.attribValue += c\n }\n continue\n }\n attrib(parser)\n parser.q = ''\n parser.state = S.ATTRIB_VALUE_CLOSED\n continue\n\n case S.ATTRIB_VALUE_CLOSED:\n if (isWhitespace(c)) {\n parser.state = S.ATTRIB\n } else if (c === '>') {\n openTag(parser)\n } else if (c === '/') {\n parser.state = S.OPEN_TAG_SLASH\n } else if (isMatch(nameStart, c)) {\n strictFail(parser, 'No whitespace between attributes')\n parser.attribName = c\n parser.attribValue = ''\n parser.state = S.ATTRIB_NAME\n } else {\n strictFail(parser, 'Invalid attribute name')\n }\n continue\n\n case S.ATTRIB_VALUE_UNQUOTED:\n if (!isAttribEnd(c)) {\n if (c === '&') {\n parser.state = S.ATTRIB_VALUE_ENTITY_U\n } else {\n parser.attribValue += c\n }\n continue\n }\n attrib(parser)\n if (c === '>') {\n openTag(parser)\n } else {\n parser.state = S.ATTRIB\n }\n continue\n\n case S.CLOSE_TAG:\n if (!parser.tagName) {\n if (isWhitespace(c)) {\n continue\n } else if (notMatch(nameStart, c)) {\n if (parser.script) {\n parser.script += '</' + c\n parser.state = S.SCRIPT\n } else {\n strictFail(parser, 'Invalid tagname in closing tag.')\n }\n } else {\n parser.tagName = c\n }\n } else if (c === '>') {\n closeTag(parser)\n } else if (isMatch(nameBody, c)) {\n parser.tagName += c\n } else if (parser.script) {\n parser.script += '</' + parser.tagName\n parser.tagName = ''\n parser.state = S.SCRIPT\n } else {\n if (!isWhitespace(c)) {\n strictFail(parser, 'Invalid tagname in closing tag')\n }\n parser.state = S.CLOSE_TAG_SAW_WHITE\n }\n continue\n\n case S.CLOSE_TAG_SAW_WHITE:\n if (isWhitespace(c)) {\n continue\n }\n if (c === '>') {\n closeTag(parser)\n } else {\n strictFail(parser, 'Invalid characters in closing tag')\n }\n continue\n\n case S.TEXT_ENTITY:\n case S.ATTRIB_VALUE_ENTITY_Q:\n case S.ATTRIB_VALUE_ENTITY_U:\n var returnState\n var buffer\n switch (parser.state) {\n case S.TEXT_ENTITY:\n returnState = S.TEXT\n buffer = 'textNode'\n break\n\n case S.ATTRIB_VALUE_ENTITY_Q:\n returnState = S.ATTRIB_VALUE_QUOTED\n buffer = 'attribValue'\n break\n\n case S.ATTRIB_VALUE_ENTITY_U:\n returnState = S.ATTRIB_VALUE_UNQUOTED\n buffer = 'attribValue'\n break\n }\n\n if (c === ';') {\n parser[buffer] += parseEntity(parser)\n parser.entity = ''\n parser.state = returnState\n } else if (isMatch(parser.entity.length ? entityBody : entityStart, c)) {\n parser.entity += c\n } else {\n strictFail(parser, 'Invalid character in entity name')\n parser[buffer] += '&' + parser.entity + c\n parser.entity = ''\n parser.state = returnState\n }\n\n continue\n\n default:\n throw new Error(parser, 'Unknown state: ' + parser.state)\n }\n } // while\n\n if (parser.position >= parser.bufferCheckPosition) {\n checkBufferLength(parser)\n }\n return parser\n }\n\n /*! http://mths.be/fromcodepoint v0.1.0 by @mathias */\n /* istanbul ignore next */\n if (!String.fromCodePoint) {\n (function () {\n var stringFromCharCode = String.fromCharCode\n var floor = Math.floor\n var fromCodePoint = function () {\n var MAX_SIZE = 0x4000\n var codeUnits = []\n var highSurrogate\n var lowSurrogate\n var index = -1\n var length = arguments.length\n if (!length) {\n return ''\n }\n var result = ''\n while (++index < length) {\n var codePoint = Number(arguments[index])\n if (\n !isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity`\n codePoint < 0 || // not a valid Unicode code point\n codePoint > 0x10FFFF || // not a valid Unicode code point\n floor(codePoint) !== codePoint // not an integer\n ) {\n throw RangeError('Invalid code point: ' + codePoint)\n }\n if (codePoint <= 0xFFFF) { // BMP code point\n codeUnits.push(codePoint)\n } else { // Astral code point; split in surrogate halves\n // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n codePoint -= 0x10000\n highSurrogate = (codePoint >> 10) + 0xD800\n lowSurrogate = (codePoint % 0x400) + 0xDC00\n codeUnits.push(highSurrogate, lowSurrogate)\n }\n if (index + 1 === length || codeUnits.length > MAX_SIZE) {\n result += stringFromCharCode.apply(null, codeUnits)\n codeUnits.length = 0\n }\n }\n return result\n }\n /* istanbul ignore next */\n if (Object.defineProperty) {\n Object.defineProperty(String, 'fromCodePoint', {\n value: fromCodePoint,\n configurable: true,\n writable: true\n })\n } else {\n String.fromCodePoint = fromCodePoint\n }\n }())\n }\n})(typeof exports === 'undefined' ? this.sax = {} : exports)\n","import Vue from 'vue';\nimport { consoleWarn } from '../../util/console';\n\nfunction generateWarning(child, parent) {\n return () => consoleWarn(`The ${child} component must be used inside a ${parent}`);\n}\n\nexport function inject(namespace, child, parent) {\n const defaultImpl = child && parent ? {\n register: generateWarning(child, parent),\n unregister: generateWarning(child, parent)\n } : null;\n return Vue.extend({\n name: 'registrable-inject',\n inject: {\n [namespace]: {\n default: defaultImpl\n }\n }\n });\n}\nexport function provide(namespace, self = false) {\n return Vue.extend({\n name: 'registrable-provide',\n\n provide() {\n return {\n [namespace]: self ? this : {\n register: this.register,\n unregister: this.unregister\n }\n };\n }\n\n });\n}\n//# sourceMappingURL=index.js.map","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","'use strict';\n\nmodule.exports = {\n isString: function(arg) {\n return typeof(arg) === 'string';\n },\n isObject: function(arg) {\n return typeof(arg) === 'object' && arg !== null;\n },\n isNull: function(arg) {\n return arg === null;\n },\n isNullOrUndefined: function(arg) {\n return arg == null;\n }\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\n\nfunction isArray(arg) {\n if (Array.isArray) {\n return Array.isArray(arg);\n }\n return objectToString(arg) === '[object Array]';\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = Buffer.isBuffer;\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLDTDElement, XMLNode,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n module.exports = XMLDTDElement = (function(superClass) {\n extend(XMLDTDElement, superClass);\n\n function XMLDTDElement(parent, name, value) {\n XMLDTDElement.__super__.constructor.call(this, parent);\n if (name == null) {\n throw new Error(\"Missing DTD element name. \" + this.debugInfo());\n }\n if (!value) {\n value = '(#PCDATA)';\n }\n if (Array.isArray(value)) {\n value = '(' + value.join(',') + ')';\n }\n this.name = this.stringify.name(name);\n this.type = NodeType.ElementDeclaration;\n this.value = this.stringify.dtdElementValue(value);\n }\n\n XMLDTDElement.prototype.toString = function(options) {\n return this.options.writer.dtdElement(this, this.options.writer.filterOptions(options));\n };\n\n return XMLDTDElement;\n\n })(XMLNode);\n\n}).call(this);\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","module.exports = {};\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","// Generated by CoffeeScript 1.12.7\n(function() {\n \"use strict\";\n var builder, defaults, escapeCDATA, requiresCDATA, wrapCDATA,\n hasProp = {}.hasOwnProperty;\n\n builder = require('xmlbuilder');\n\n defaults = require('./defaults').defaults;\n\n requiresCDATA = function(entry) {\n return typeof entry === \"string\" && (entry.indexOf('&') >= 0 || entry.indexOf('>') >= 0 || entry.indexOf('<') >= 0);\n };\n\n wrapCDATA = function(entry) {\n return \"<![CDATA[\" + (escapeCDATA(entry)) + \"]]>\";\n };\n\n escapeCDATA = function(entry) {\n return entry.replace(']]>', ']]]]><![CDATA[>');\n };\n\n exports.Builder = (function() {\n function Builder(opts) {\n var key, ref, value;\n this.options = {};\n ref = defaults[\"0.2\"];\n for (key in ref) {\n if (!hasProp.call(ref, key)) continue;\n value = ref[key];\n this.options[key] = value;\n }\n for (key in opts) {\n if (!hasProp.call(opts, key)) continue;\n value = opts[key];\n this.options[key] = value;\n }\n }\n\n Builder.prototype.buildObject = function(rootObj) {\n var attrkey, charkey, render, rootElement, rootName;\n attrkey = this.options.attrkey;\n charkey = this.options.charkey;\n if ((Object.keys(rootObj).length === 1) && (this.options.rootName === defaults['0.2'].rootName)) {\n rootName = Object.keys(rootObj)[0];\n rootObj = rootObj[rootName];\n } else {\n rootName = this.options.rootName;\n }\n render = (function(_this) {\n return function(element, obj) {\n var attr, child, entry, index, key, value;\n if (typeof obj !== 'object') {\n if (_this.options.cdata && requiresCDATA(obj)) {\n element.raw(wrapCDATA(obj));\n } else {\n element.txt(obj);\n }\n } else if (Array.isArray(obj)) {\n for (index in obj) {\n if (!hasProp.call(obj, index)) continue;\n child = obj[index];\n for (key in child) {\n entry = child[key];\n element = render(element.ele(key), entry).up();\n }\n }\n } else {\n for (key in obj) {\n if (!hasProp.call(obj, key)) continue;\n child = obj[key];\n if (key === attrkey) {\n if (typeof child === \"object\") {\n for (attr in child) {\n value = child[attr];\n element = element.att(attr, value);\n }\n }\n } else if (key === charkey) {\n if (_this.options.cdata && requiresCDATA(child)) {\n element = element.raw(wrapCDATA(child));\n } else {\n element = element.txt(child);\n }\n } else if (Array.isArray(child)) {\n for (index in child) {\n if (!hasProp.call(child, index)) continue;\n entry = child[index];\n if (typeof entry === 'string') {\n if (_this.options.cdata && requiresCDATA(entry)) {\n element = element.ele(key).raw(wrapCDATA(entry)).up();\n } else {\n element = element.ele(key, entry).up();\n }\n } else {\n element = render(element.ele(key), entry).up();\n }\n }\n } else if (typeof child === \"object\") {\n element = render(element.ele(key), child).up();\n } else {\n if (typeof child === 'string' && _this.options.cdata && requiresCDATA(child)) {\n element = element.ele(key).raw(wrapCDATA(child)).up();\n } else {\n if (child == null) {\n child = '';\n }\n element = element.ele(key, child.toString()).up();\n }\n }\n }\n }\n return element;\n };\n })(this);\n rootElement = builder.create(rootName, this.options.xmldec, this.options.doctype, {\n headless: this.options.headless,\n allowSurrogateChars: this.options.allowSurrogateChars\n });\n return render(rootElement, rootObj).end(this.options.renderOpts);\n };\n\n return Builder;\n\n })();\n\n}).call(this);\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","module.exports = require('events').EventEmitter;\n","exports.nextTick = function nextTick(fn) {\n var args = Array.prototype.slice.call(arguments);\n args.shift();\n setTimeout(function () {\n fn.apply(null, args);\n }, 0);\n};\n\nexports.platform = exports.arch = \nexports.execPath = exports.title = 'browser';\nexports.pid = 1;\nexports.browser = true;\nexports.env = {};\nexports.argv = [];\n\nexports.binding = function (name) {\n\tthrow new Error('No such module. (Possibly not yet loaded)')\n};\n\n(function () {\n var cwd = '/';\n var path;\n exports.cwd = function () { return cwd };\n exports.chdir = function (dir) {\n if (!path) path = require('path');\n cwd = path.resolve(dir, cwd);\n };\n})();\n\nexports.exit = exports.kill = \nexports.umask = exports.dlopen = \nexports.uptime = exports.memoryUsage = \nexports.uvCounters = function() {};\nexports.features = {};\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","var global = require('../internals/global');\n\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.github.io/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var assign, getValue, isArray, isEmpty, isFunction, isObject, isPlainObject,\n slice = [].slice,\n hasProp = {}.hasOwnProperty;\n\n assign = function() {\n var i, key, len, source, sources, target;\n target = arguments[0], sources = 2 <= arguments.length ? slice.call(arguments, 1) : [];\n if (isFunction(Object.assign)) {\n Object.assign.apply(null, arguments);\n } else {\n for (i = 0, len = sources.length; i < len; i++) {\n source = sources[i];\n if (source != null) {\n for (key in source) {\n if (!hasProp.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n }\n }\n return target;\n };\n\n isFunction = function(val) {\n return !!val && Object.prototype.toString.call(val) === '[object Function]';\n };\n\n isObject = function(val) {\n var ref;\n return !!val && ((ref = typeof val) === 'function' || ref === 'object');\n };\n\n isArray = function(val) {\n if (isFunction(Array.isArray)) {\n return Array.isArray(val);\n } else {\n return Object.prototype.toString.call(val) === '[object Array]';\n }\n };\n\n isEmpty = function(val) {\n var key;\n if (isArray(val)) {\n return !val.length;\n } else {\n for (key in val) {\n if (!hasProp.call(val, key)) continue;\n return false;\n }\n return true;\n }\n };\n\n isPlainObject = function(val) {\n var ctor, proto;\n return isObject(val) && (proto = Object.getPrototypeOf(val)) && (ctor = proto.constructor) && (typeof ctor === 'function') && (ctor instanceof ctor) && (Function.prototype.toString.call(ctor) === Function.prototype.toString.call(Object));\n };\n\n getValue = function(obj) {\n if (isFunction(obj.valueOf)) {\n return obj.valueOf();\n } else {\n return obj;\n }\n };\n\n module.exports.assign = assign;\n\n module.exports.isFunction = isFunction;\n\n module.exports.isObject = isObject;\n\n module.exports.isArray = isArray;\n\n module.exports.isEmpty = isEmpty;\n\n module.exports.isPlainObject = isPlainObject;\n\n module.exports.getValue = getValue;\n\n}).call(this);\n","'use strict';\n\n/*<replacement>*/\n\nvar pna = require('process-nextick-args');\n/*</replacement>*/\n\n// undocumented cb() API, needed for core, not for public API\nfunction destroy(err, cb) {\n var _this = this;\n\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err && (!this._writableState || !this._writableState.errorEmitted)) {\n pna.nextTick(emitErrorNT, this, err);\n }\n return this;\n }\n\n // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n\n // if this is a duplex stream mark the writable part as destroyed as well\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n pna.nextTick(emitErrorNT, _this, err);\n if (_this._writableState) {\n _this._writableState.errorEmitted = true;\n }\n } else if (cb) {\n cb(err);\n }\n });\n\n return this;\n}\n\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\n\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\n\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy\n};","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.github.io/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n","import mod from \"-!../../mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../vue-loader/lib/loaders/stylePostLoader.js!../../postcss-loader/src/index.js??ref--6-oneOf-1-2!../../cache-loader/dist/cjs.js??ref--0-0!../../vue-loader/lib/index.js??vue-loader-options!./VueRssFeed.vue?vue&type=style&index=0&id=3cfdb860&scoped=true&lang=css&\"; export default mod; export * from \"-!../../mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../vue-loader/lib/loaders/stylePostLoader.js!../../postcss-loader/src/index.js??ref--6-oneOf-1-2!../../cache-loader/dist/cjs.js??ref--0-0!../../vue-loader/lib/index.js??vue-loader-options!./VueRssFeed.vue?vue&type=style&index=0&id=3cfdb860&scoped=true&lang=css&\"","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($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++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.github.io/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (;!(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","// Mixins\nimport { inject as RegistrableInject } from '../registrable';\nexport function factory(namespace, child, parent) {\n return RegistrableInject(namespace, child, parent).extend({\n name: 'groupable',\n props: {\n activeClass: {\n type: String,\n\n default() {\n if (!this[namespace]) return undefined;\n return this[namespace].activeClass;\n }\n\n },\n disabled: Boolean\n },\n\n data() {\n return {\n isActive: false\n };\n },\n\n computed: {\n groupClasses() {\n if (!this.activeClass) return {};\n return {\n [this.activeClass]: this.isActive\n };\n }\n\n },\n\n created() {\n this[namespace] && this[namespace].register(this);\n },\n\n beforeDestroy() {\n this[namespace] && this[namespace].unregister(this);\n },\n\n methods: {\n toggle(e) {\n if (this.disabled && e) {\n // Prevent keyboard actions\n // from children elements\n // within disabled tabs\n e.preventDefault();\n return;\n }\n\n this.$emit('change');\n }\n\n }\n });\n}\n/* eslint-disable-next-line @typescript-eslint/no-redeclare */\n\nconst Groupable = factory('itemGroup');\nexport default Groupable;\n//# sourceMappingURL=index.js.map","var Clipboard = require('clipboard/dist/clipboard.min.js') // FIXME: workaround for browserify\n\nvar VueClipboardConfig = {\n autoSetContainer: false,\n appendToBody: true // This fixes IE, see #50\n}\n\nvar VueClipboard = {\n install: function (Vue) {\n Vue.prototype.$clipboardConfig = VueClipboardConfig\n Vue.prototype.$copyText = function (text, container) {\n return new Promise(function (resolve, reject) {\n var fakeElement = document.createElement('button')\n var clipboard = new Clipboard(fakeElement, {\n text: function () { return text },\n action: function () { return 'copy' },\n container: typeof container === 'object' ? container : document.body\n })\n clipboard.on('success', function (e) {\n clipboard.destroy()\n resolve(e)\n })\n clipboard.on('error', function (e) {\n clipboard.destroy()\n reject(e)\n })\n if (VueClipboardConfig.appendToBody) document.body.appendChild(fakeElement)\n fakeElement.click()\n if (VueClipboardConfig.appendToBody) document.body.removeChild(fakeElement)\n })\n }\n\n Vue.directive('clipboard', {\n bind: function (el, binding, vnode) {\n if (binding.arg === 'success') {\n el._vClipboard_success = binding.value\n } else if (binding.arg === 'error') {\n el._vClipboard_error = binding.value\n } else {\n var clipboard = new Clipboard(el, {\n text: function () { return binding.value },\n action: function () { return binding.arg === 'cut' ? 'cut' : 'copy' },\n container: VueClipboardConfig.autoSetContainer ? el : undefined\n })\n clipboard.on('success', function (e) {\n var callback = el._vClipboard_success\n callback && callback(e)\n })\n clipboard.on('error', function (e) {\n var callback = el._vClipboard_error\n callback && callback(e)\n })\n el._vClipboard = clipboard\n }\n },\n update: function (el, binding) {\n if (binding.arg === 'success') {\n el._vClipboard_success = binding.value\n } else if (binding.arg === 'error') {\n el._vClipboard_error = binding.value\n } else {\n el._vClipboard.text = function () { return binding.value }\n el._vClipboard.action = function () { return binding.arg === 'cut' ? 'cut' : 'copy' }\n }\n },\n unbind: function (el, binding) {\n if (binding.arg === 'success') {\n delete el._vClipboard_success\n } else if (binding.arg === 'error') {\n delete el._vClipboard_error\n } else {\n el._vClipboard.destroy()\n delete el._vClipboard\n }\n }\n })\n },\n config: VueClipboardConfig\n}\n\nif (typeof exports === 'object') {\n module.exports = VueClipboard\n} else if (typeof define === 'function' && define.amd) {\n define([], function () {\n return VueClipboard\n })\n}\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLNode, XMLRaw,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n NodeType = require('./NodeType');\n\n XMLNode = require('./XMLNode');\n\n module.exports = XMLRaw = (function(superClass) {\n extend(XMLRaw, superClass);\n\n function XMLRaw(parent, text) {\n XMLRaw.__super__.constructor.call(this, parent);\n if (text == null) {\n throw new Error(\"Missing raw text. \" + this.debugInfo());\n }\n this.type = NodeType.Raw;\n this.value = this.stringify.raw(text);\n }\n\n XMLRaw.prototype.clone = function() {\n return Object.create(this);\n };\n\n XMLRaw.prototype.toString = function(options) {\n return this.options.writer.raw(this, this.options.writer.filterOptions(options));\n };\n\n return XMLRaw;\n\n })(XMLNode);\n\n}).call(this);\n","var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\nrequire(\"setimmediate\");\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLDeclaration, XMLNode, isObject,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n isObject = require('./Utility').isObject;\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n module.exports = XMLDeclaration = (function(superClass) {\n extend(XMLDeclaration, superClass);\n\n function XMLDeclaration(parent, version, encoding, standalone) {\n var ref;\n XMLDeclaration.__super__.constructor.call(this, parent);\n if (isObject(version)) {\n ref = version, version = ref.version, encoding = ref.encoding, standalone = ref.standalone;\n }\n if (!version) {\n version = '1.0';\n }\n this.type = NodeType.Declaration;\n this.version = this.stringify.xmlVersion(version);\n if (encoding != null) {\n this.encoding = this.stringify.xmlEncoding(encoding);\n }\n if (standalone != null) {\n this.standalone = this.stringify.xmlStandalone(standalone);\n }\n }\n\n XMLDeclaration.prototype.toString = function(options) {\n return this.options.writer.declaration(this, this.options.writer.filterOptions(options));\n };\n\n return XMLDeclaration;\n\n })(XMLNode);\n\n}).call(this);\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\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\nfixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {\n var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;\n var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\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 = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.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 if (\n (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||\n (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)\n ) {\n var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);\n if (res.done) return res.value;\n }\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n\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\n results.push(result);\n if (!global) break;\n\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\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 nativeReplace.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","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLCData, XMLCharacterData,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n NodeType = require('./NodeType');\n\n XMLCharacterData = require('./XMLCharacterData');\n\n module.exports = XMLCData = (function(superClass) {\n extend(XMLCData, superClass);\n\n function XMLCData(parent, text) {\n XMLCData.__super__.constructor.call(this, parent);\n if (text == null) {\n throw new Error(\"Missing CDATA text. \" + this.debugInfo());\n }\n this.name = \"#cdata-section\";\n this.type = NodeType.CData;\n this.value = this.stringify.cdata(text);\n }\n\n XMLCData.prototype.clone = function() {\n return Object.create(this);\n };\n\n XMLCData.prototype.toString = function(options) {\n return this.options.writer.cdata(this, this.options.writer.filterOptions(options));\n };\n\n return XMLCData;\n\n })(XMLCharacterData);\n\n}).call(this);\n","module.exports = extend\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction extend() {\n var target = {}\n\n for (var i = 0; i < arguments.length; i++) {\n var source = arguments[i]\n\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n target[key] = source[key]\n }\n }\n }\n\n return target\n}\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, WriterState, XMLAttribute, XMLCData, XMLComment, XMLDTDAttList, XMLDTDElement, XMLDTDEntity, XMLDTDNotation, XMLDeclaration, XMLDocType, XMLDocument, XMLDocumentCB, XMLElement, XMLProcessingInstruction, XMLRaw, XMLStringWriter, XMLStringifier, XMLText, getValue, isFunction, isObject, isPlainObject, ref,\n hasProp = {}.hasOwnProperty;\n\n ref = require('./Utility'), isObject = ref.isObject, isFunction = ref.isFunction, isPlainObject = ref.isPlainObject, getValue = ref.getValue;\n\n NodeType = require('./NodeType');\n\n XMLDocument = require('./XMLDocument');\n\n XMLElement = require('./XMLElement');\n\n XMLCData = require('./XMLCData');\n\n XMLComment = require('./XMLComment');\n\n XMLRaw = require('./XMLRaw');\n\n XMLText = require('./XMLText');\n\n XMLProcessingInstruction = require('./XMLProcessingInstruction');\n\n XMLDeclaration = require('./XMLDeclaration');\n\n XMLDocType = require('./XMLDocType');\n\n XMLDTDAttList = require('./XMLDTDAttList');\n\n XMLDTDEntity = require('./XMLDTDEntity');\n\n XMLDTDElement = require('./XMLDTDElement');\n\n XMLDTDNotation = require('./XMLDTDNotation');\n\n XMLAttribute = require('./XMLAttribute');\n\n XMLStringifier = require('./XMLStringifier');\n\n XMLStringWriter = require('./XMLStringWriter');\n\n WriterState = require('./WriterState');\n\n module.exports = XMLDocumentCB = (function() {\n function XMLDocumentCB(options, onData, onEnd) {\n var writerOptions;\n this.name = \"?xml\";\n this.type = NodeType.Document;\n options || (options = {});\n writerOptions = {};\n if (!options.writer) {\n options.writer = new XMLStringWriter();\n } else if (isPlainObject(options.writer)) {\n writerOptions = options.writer;\n options.writer = new XMLStringWriter();\n }\n this.options = options;\n this.writer = options.writer;\n this.writerOptions = this.writer.filterOptions(writerOptions);\n this.stringify = new XMLStringifier(options);\n this.onDataCallback = onData || function() {};\n this.onEndCallback = onEnd || function() {};\n this.currentNode = null;\n this.currentLevel = -1;\n this.openTags = {};\n this.documentStarted = false;\n this.documentCompleted = false;\n this.root = null;\n }\n\n XMLDocumentCB.prototype.createChildNode = function(node) {\n var att, attName, attributes, child, i, len, ref1, ref2;\n switch (node.type) {\n case NodeType.CData:\n this.cdata(node.value);\n break;\n case NodeType.Comment:\n this.comment(node.value);\n break;\n case NodeType.Element:\n attributes = {};\n ref1 = node.attribs;\n for (attName in ref1) {\n if (!hasProp.call(ref1, attName)) continue;\n att = ref1[attName];\n attributes[attName] = att.value;\n }\n this.node(node.name, attributes);\n break;\n case NodeType.Dummy:\n this.dummy();\n break;\n case NodeType.Raw:\n this.raw(node.value);\n break;\n case NodeType.Text:\n this.text(node.value);\n break;\n case NodeType.ProcessingInstruction:\n this.instruction(node.target, node.value);\n break;\n default:\n throw new Error(\"This XML node type is not supported in a JS object: \" + node.constructor.name);\n }\n ref2 = node.children;\n for (i = 0, len = ref2.length; i < len; i++) {\n child = ref2[i];\n this.createChildNode(child);\n if (child.type === NodeType.Element) {\n this.up();\n }\n }\n return this;\n };\n\n XMLDocumentCB.prototype.dummy = function() {\n return this;\n };\n\n XMLDocumentCB.prototype.node = function(name, attributes, text) {\n var ref1;\n if (name == null) {\n throw new Error(\"Missing node name.\");\n }\n if (this.root && this.currentLevel === -1) {\n throw new Error(\"Document can only have one root node. \" + this.debugInfo(name));\n }\n this.openCurrent();\n name = getValue(name);\n if (attributes == null) {\n attributes = {};\n }\n attributes = getValue(attributes);\n if (!isObject(attributes)) {\n ref1 = [attributes, text], text = ref1[0], attributes = ref1[1];\n }\n this.currentNode = new XMLElement(this, name, attributes);\n this.currentNode.children = false;\n this.currentLevel++;\n this.openTags[this.currentLevel] = this.currentNode;\n if (text != null) {\n this.text(text);\n }\n return this;\n };\n\n XMLDocumentCB.prototype.element = function(name, attributes, text) {\n var child, i, len, oldValidationFlag, ref1, root;\n if (this.currentNode && this.currentNode.type === NodeType.DocType) {\n this.dtdElement.apply(this, arguments);\n } else {\n if (Array.isArray(name) || isObject(name) || isFunction(name)) {\n oldValidationFlag = this.options.noValidation;\n this.options.noValidation = true;\n root = new XMLDocument(this.options).element('TEMP_ROOT');\n root.element(name);\n this.options.noValidation = oldValidationFlag;\n ref1 = root.children;\n for (i = 0, len = ref1.length; i < len; i++) {\n child = ref1[i];\n this.createChildNode(child);\n if (child.type === NodeType.Element) {\n this.up();\n }\n }\n } else {\n this.node(name, attributes, text);\n }\n }\n return this;\n };\n\n XMLDocumentCB.prototype.attribute = function(name, value) {\n var attName, attValue;\n if (!this.currentNode || this.currentNode.children) {\n throw new Error(\"att() can only be used immediately after an ele() call in callback mode. \" + this.debugInfo(name));\n }\n if (name != null) {\n name = getValue(name);\n }\n if (isObject(name)) {\n for (attName in name) {\n if (!hasProp.call(name, attName)) continue;\n attValue = name[attName];\n this.attribute(attName, attValue);\n }\n } else {\n if (isFunction(value)) {\n value = value.apply();\n }\n if (this.options.keepNullAttributes && (value == null)) {\n this.currentNode.attribs[name] = new XMLAttribute(this, name, \"\");\n } else if (value != null) {\n this.currentNode.attribs[name] = new XMLAttribute(this, name, value);\n }\n }\n return this;\n };\n\n XMLDocumentCB.prototype.text = function(value) {\n var node;\n this.openCurrent();\n node = new XMLText(this, value);\n this.onData(this.writer.text(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.cdata = function(value) {\n var node;\n this.openCurrent();\n node = new XMLCData(this, value);\n this.onData(this.writer.cdata(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.comment = function(value) {\n var node;\n this.openCurrent();\n node = new XMLComment(this, value);\n this.onData(this.writer.comment(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.raw = function(value) {\n var node;\n this.openCurrent();\n node = new XMLRaw(this, value);\n this.onData(this.writer.raw(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.instruction = function(target, value) {\n var i, insTarget, insValue, len, node;\n this.openCurrent();\n if (target != null) {\n target = getValue(target);\n }\n if (value != null) {\n value = getValue(value);\n }\n if (Array.isArray(target)) {\n for (i = 0, len = target.length; i < len; i++) {\n insTarget = target[i];\n this.instruction(insTarget);\n }\n } else if (isObject(target)) {\n for (insTarget in target) {\n if (!hasProp.call(target, insTarget)) continue;\n insValue = target[insTarget];\n this.instruction(insTarget, insValue);\n }\n } else {\n if (isFunction(value)) {\n value = value.apply();\n }\n node = new XMLProcessingInstruction(this, target, value);\n this.onData(this.writer.processingInstruction(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n }\n return this;\n };\n\n XMLDocumentCB.prototype.declaration = function(version, encoding, standalone) {\n var node;\n this.openCurrent();\n if (this.documentStarted) {\n throw new Error(\"declaration() must be the first node.\");\n }\n node = new XMLDeclaration(this, version, encoding, standalone);\n this.onData(this.writer.declaration(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.doctype = function(root, pubID, sysID) {\n this.openCurrent();\n if (root == null) {\n throw new Error(\"Missing root node name.\");\n }\n if (this.root) {\n throw new Error(\"dtd() must come before the root node.\");\n }\n this.currentNode = new XMLDocType(this, pubID, sysID);\n this.currentNode.rootNodeName = root;\n this.currentNode.children = false;\n this.currentLevel++;\n this.openTags[this.currentLevel] = this.currentNode;\n return this;\n };\n\n XMLDocumentCB.prototype.dtdElement = function(name, value) {\n var node;\n this.openCurrent();\n node = new XMLDTDElement(this, name, value);\n this.onData(this.writer.dtdElement(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.attList = function(elementName, attributeName, attributeType, defaultValueType, defaultValue) {\n var node;\n this.openCurrent();\n node = new XMLDTDAttList(this, elementName, attributeName, attributeType, defaultValueType, defaultValue);\n this.onData(this.writer.dtdAttList(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.entity = function(name, value) {\n var node;\n this.openCurrent();\n node = new XMLDTDEntity(this, false, name, value);\n this.onData(this.writer.dtdEntity(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.pEntity = function(name, value) {\n var node;\n this.openCurrent();\n node = new XMLDTDEntity(this, true, name, value);\n this.onData(this.writer.dtdEntity(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.notation = function(name, value) {\n var node;\n this.openCurrent();\n node = new XMLDTDNotation(this, name, value);\n this.onData(this.writer.dtdNotation(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.up = function() {\n if (this.currentLevel < 0) {\n throw new Error(\"The document node has no parent.\");\n }\n if (this.currentNode) {\n if (this.currentNode.children) {\n this.closeNode(this.currentNode);\n } else {\n this.openNode(this.currentNode);\n }\n this.currentNode = null;\n } else {\n this.closeNode(this.openTags[this.currentLevel]);\n }\n delete this.openTags[this.currentLevel];\n this.currentLevel--;\n return this;\n };\n\n XMLDocumentCB.prototype.end = function() {\n while (this.currentLevel >= 0) {\n this.up();\n }\n return this.onEnd();\n };\n\n XMLDocumentCB.prototype.openCurrent = function() {\n if (this.currentNode) {\n this.currentNode.children = true;\n return this.openNode(this.currentNode);\n }\n };\n\n XMLDocumentCB.prototype.openNode = function(node) {\n var att, chunk, name, ref1;\n if (!node.isOpen) {\n if (!this.root && this.currentLevel === 0 && node.type === NodeType.Element) {\n this.root = node;\n }\n chunk = '';\n if (node.type === NodeType.Element) {\n this.writerOptions.state = WriterState.OpenTag;\n chunk = this.writer.indent(node, this.writerOptions, this.currentLevel) + '<' + node.name;\n ref1 = node.attribs;\n for (name in ref1) {\n if (!hasProp.call(ref1, name)) continue;\n att = ref1[name];\n chunk += this.writer.attribute(att, this.writerOptions, this.currentLevel);\n }\n chunk += (node.children ? '>' : '/>') + this.writer.endline(node, this.writerOptions, this.currentLevel);\n this.writerOptions.state = WriterState.InsideTag;\n } else {\n this.writerOptions.state = WriterState.OpenTag;\n chunk = this.writer.indent(node, this.writerOptions, this.currentLevel) + '<!DOCTYPE ' + node.rootNodeName;\n if (node.pubID && node.sysID) {\n chunk += ' PUBLIC \"' + node.pubID + '\" \"' + node.sysID + '\"';\n } else if (node.sysID) {\n chunk += ' SYSTEM \"' + node.sysID + '\"';\n }\n if (node.children) {\n chunk += ' [';\n this.writerOptions.state = WriterState.InsideTag;\n } else {\n this.writerOptions.state = WriterState.CloseTag;\n chunk += '>';\n }\n chunk += this.writer.endline(node, this.writerOptions, this.currentLevel);\n }\n this.onData(chunk, this.currentLevel);\n return node.isOpen = true;\n }\n };\n\n XMLDocumentCB.prototype.closeNode = function(node) {\n var chunk;\n if (!node.isClosed) {\n chunk = '';\n this.writerOptions.state = WriterState.CloseTag;\n if (node.type === NodeType.Element) {\n chunk = this.writer.indent(node, this.writerOptions, this.currentLevel) + '</' + node.name + '>' + this.writer.endline(node, this.writerOptions, this.currentLevel);\n } else {\n chunk = this.writer.indent(node, this.writerOptions, this.currentLevel) + ']>' + this.writer.endline(node, this.writerOptions, this.currentLevel);\n }\n this.writerOptions.state = WriterState.None;\n this.onData(chunk, this.currentLevel);\n return node.isClosed = true;\n }\n };\n\n XMLDocumentCB.prototype.onData = function(chunk, level) {\n this.documentStarted = true;\n return this.onDataCallback(chunk, level + 1);\n };\n\n XMLDocumentCB.prototype.onEnd = function() {\n this.documentCompleted = true;\n return this.onEndCallback();\n };\n\n XMLDocumentCB.prototype.debugInfo = function(name) {\n if (name == null) {\n return \"\";\n } else {\n return \"node: <\" + name + \">\";\n }\n };\n\n XMLDocumentCB.prototype.ele = function() {\n return this.element.apply(this, arguments);\n };\n\n XMLDocumentCB.prototype.nod = function(name, attributes, text) {\n return this.node(name, attributes, text);\n };\n\n XMLDocumentCB.prototype.txt = function(value) {\n return this.text(value);\n };\n\n XMLDocumentCB.prototype.dat = function(value) {\n return this.cdata(value);\n };\n\n XMLDocumentCB.prototype.com = function(value) {\n return this.comment(value);\n };\n\n XMLDocumentCB.prototype.ins = function(target, value) {\n return this.instruction(target, value);\n };\n\n XMLDocumentCB.prototype.dec = function(version, encoding, standalone) {\n return this.declaration(version, encoding, standalone);\n };\n\n XMLDocumentCB.prototype.dtd = function(root, pubID, sysID) {\n return this.doctype(root, pubID, sysID);\n };\n\n XMLDocumentCB.prototype.e = function(name, attributes, text) {\n return this.element(name, attributes, text);\n };\n\n XMLDocumentCB.prototype.n = function(name, attributes, text) {\n return this.node(name, attributes, text);\n };\n\n XMLDocumentCB.prototype.t = function(value) {\n return this.text(value);\n };\n\n XMLDocumentCB.prototype.d = function(value) {\n return this.cdata(value);\n };\n\n XMLDocumentCB.prototype.c = function(value) {\n return this.comment(value);\n };\n\n XMLDocumentCB.prototype.r = function(value) {\n return this.raw(value);\n };\n\n XMLDocumentCB.prototype.i = function(target, value) {\n return this.instruction(target, value);\n };\n\n XMLDocumentCB.prototype.att = function() {\n if (this.currentNode && this.currentNode.type === NodeType.DocType) {\n return this.attList.apply(this, arguments);\n } else {\n return this.attribute.apply(this, arguments);\n }\n };\n\n XMLDocumentCB.prototype.a = function() {\n if (this.currentNode && this.currentNode.type === NodeType.DocType) {\n return this.attList.apply(this, arguments);\n } else {\n return this.attribute.apply(this, arguments);\n }\n };\n\n XMLDocumentCB.prototype.ent = function(name, value) {\n return this.entity(name, value);\n };\n\n XMLDocumentCB.prototype.pent = function(name, value) {\n return this.pEntity(name, value);\n };\n\n XMLDocumentCB.prototype.not = function(name, value) {\n return this.notation(name, value);\n };\n\n return XMLDocumentCB;\n\n })();\n\n}).call(this);\n","// Styles\nimport \"../../../src/directives/ripple/VRipple.sass\"; // Utilities\n\nimport { consoleWarn } from '../../util/console';\nimport { keyCodes } from '../../util/helpers';\nconst DELAY_RIPPLE = 80;\n\nfunction transform(el, value) {\n el.style.transform = value;\n el.style.webkitTransform = value;\n}\n\nfunction isTouchEvent(e) {\n return e.constructor.name === 'TouchEvent';\n}\n\nfunction isKeyboardEvent(e) {\n return e.constructor.name === 'KeyboardEvent';\n}\n\nconst calculate = (e, el, value = {}) => {\n let localX = 0;\n let localY = 0;\n\n if (!isKeyboardEvent(e)) {\n const offset = el.getBoundingClientRect();\n const target = isTouchEvent(e) ? e.touches[e.touches.length - 1] : e;\n localX = target.clientX - offset.left;\n localY = target.clientY - offset.top;\n }\n\n let radius = 0;\n let scale = 0.3;\n\n if (el._ripple && el._ripple.circle) {\n scale = 0.15;\n radius = el.clientWidth / 2;\n radius = value.center ? radius : radius + Math.sqrt((localX - radius) ** 2 + (localY - radius) ** 2) / 4;\n } else {\n radius = Math.sqrt(el.clientWidth ** 2 + el.clientHeight ** 2) / 2;\n }\n\n const centerX = `${(el.clientWidth - radius * 2) / 2}px`;\n const centerY = `${(el.clientHeight - radius * 2) / 2}px`;\n const x = value.center ? centerX : `${localX - radius}px`;\n const y = value.center ? centerY : `${localY - radius}px`;\n return {\n radius,\n scale,\n x,\n y,\n centerX,\n centerY\n };\n};\n\nconst ripples = {\n /* eslint-disable max-statements */\n show(e, el, value = {}) {\n if (!el._ripple || !el._ripple.enabled) {\n return;\n }\n\n const container = document.createElement('span');\n const animation = document.createElement('span');\n container.appendChild(animation);\n container.className = 'v-ripple__container';\n\n if (value.class) {\n container.className += ` ${value.class}`;\n }\n\n const {\n radius,\n scale,\n x,\n y,\n centerX,\n centerY\n } = calculate(e, el, value);\n const size = `${radius * 2}px`;\n animation.className = 'v-ripple__animation';\n animation.style.width = size;\n animation.style.height = size;\n el.appendChild(container);\n const computed = window.getComputedStyle(el);\n\n if (computed && computed.position === 'static') {\n el.style.position = 'relative';\n el.dataset.previousPosition = 'static';\n }\n\n animation.classList.add('v-ripple__animation--enter');\n animation.classList.add('v-ripple__animation--visible');\n transform(animation, `translate(${x}, ${y}) scale3d(${scale},${scale},${scale})`);\n animation.dataset.activated = String(performance.now());\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--enter');\n animation.classList.add('v-ripple__animation--in');\n transform(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`);\n }, 0);\n },\n\n hide(el) {\n if (!el || !el._ripple || !el._ripple.enabled) return;\n const ripples = el.getElementsByClassName('v-ripple__animation');\n if (ripples.length === 0) return;\n const animation = ripples[ripples.length - 1];\n if (animation.dataset.isHiding) return;else animation.dataset.isHiding = 'true';\n const diff = performance.now() - Number(animation.dataset.activated);\n const delay = Math.max(250 - diff, 0);\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--in');\n animation.classList.add('v-ripple__animation--out');\n setTimeout(() => {\n var _a;\n\n const ripples = el.getElementsByClassName('v-ripple__animation');\n\n if (ripples.length === 1 && el.dataset.previousPosition) {\n el.style.position = el.dataset.previousPosition;\n delete el.dataset.previousPosition;\n }\n\n if (((_a = animation.parentNode) === null || _a === void 0 ? void 0 : _a.parentNode) === el) el.removeChild(animation.parentNode);\n }, 300);\n }, delay);\n }\n\n};\n\nfunction isRippleEnabled(value) {\n return typeof value === 'undefined' || !!value;\n}\n\nfunction rippleShow(e) {\n const value = {};\n const element = e.currentTarget;\n if (!element || !element._ripple || element._ripple.touched || e.rippleStop) return; // Don't allow the event to trigger ripples on any other elements\n\n e.rippleStop = true;\n\n if (isTouchEvent(e)) {\n element._ripple.touched = true;\n element._ripple.isTouch = true;\n } else {\n // It's possible for touch events to fire\n // as mouse events on Android/iOS, this\n // will skip the event call if it has\n // already been registered as touch\n if (element._ripple.isTouch) return;\n }\n\n value.center = element._ripple.centered || isKeyboardEvent(e);\n\n if (element._ripple.class) {\n value.class = element._ripple.class;\n }\n\n if (isTouchEvent(e)) {\n // already queued that shows or hides the ripple\n if (element._ripple.showTimerCommit) return;\n\n element._ripple.showTimerCommit = () => {\n ripples.show(e, element, value);\n };\n\n element._ripple.showTimer = window.setTimeout(() => {\n if (element && element._ripple && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit();\n\n element._ripple.showTimerCommit = null;\n }\n }, DELAY_RIPPLE);\n } else {\n ripples.show(e, element, value);\n }\n}\n\nfunction rippleHide(e) {\n const element = e.currentTarget;\n if (!element || !element._ripple) return;\n window.clearTimeout(element._ripple.showTimer); // The touch interaction occurs before the show timer is triggered.\n // We still want to show ripple effect.\n\n if (e.type === 'touchend' && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit();\n\n element._ripple.showTimerCommit = null; // re-queue ripple hiding\n\n element._ripple.showTimer = setTimeout(() => {\n rippleHide(e);\n });\n return;\n }\n\n window.setTimeout(() => {\n if (element._ripple) {\n element._ripple.touched = false;\n }\n });\n ripples.hide(element);\n}\n\nfunction rippleCancelShow(e) {\n const element = e.currentTarget;\n if (!element || !element._ripple) return;\n\n if (element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit = null;\n }\n\n window.clearTimeout(element._ripple.showTimer);\n}\n\nlet keyboardRipple = false;\n\nfunction keyboardRippleShow(e) {\n if (!keyboardRipple && (e.keyCode === keyCodes.enter || e.keyCode === keyCodes.space)) {\n keyboardRipple = true;\n rippleShow(e);\n }\n}\n\nfunction keyboardRippleHide(e) {\n keyboardRipple = false;\n rippleHide(e);\n}\n\nfunction focusRippleHide(e) {\n if (keyboardRipple === true) {\n keyboardRipple = false;\n rippleHide(e);\n }\n}\n\nfunction updateRipple(el, binding, wasEnabled) {\n const enabled = isRippleEnabled(binding.value);\n\n if (!enabled) {\n ripples.hide(el);\n }\n\n el._ripple = el._ripple || {};\n el._ripple.enabled = enabled;\n const value = binding.value || {};\n\n if (value.center) {\n el._ripple.centered = true;\n }\n\n if (value.class) {\n el._ripple.class = binding.value.class;\n }\n\n if (value.circle) {\n el._ripple.circle = value.circle;\n }\n\n if (enabled && !wasEnabled) {\n el.addEventListener('touchstart', rippleShow, {\n passive: true\n });\n el.addEventListener('touchend', rippleHide, {\n passive: true\n });\n el.addEventListener('touchmove', rippleCancelShow, {\n passive: true\n });\n el.addEventListener('touchcancel', rippleHide);\n el.addEventListener('mousedown', rippleShow);\n el.addEventListener('mouseup', rippleHide);\n el.addEventListener('mouseleave', rippleHide);\n el.addEventListener('keydown', keyboardRippleShow);\n el.addEventListener('keyup', keyboardRippleHide);\n el.addEventListener('blur', focusRippleHide); // Anchor tags can be dragged, causes other hides to fail - #1537\n\n el.addEventListener('dragstart', rippleHide, {\n passive: true\n });\n } else if (!enabled && wasEnabled) {\n removeListeners(el);\n }\n}\n\nfunction removeListeners(el) {\n el.removeEventListener('mousedown', rippleShow);\n el.removeEventListener('touchstart', rippleShow);\n el.removeEventListener('touchend', rippleHide);\n el.removeEventListener('touchmove', rippleCancelShow);\n el.removeEventListener('touchcancel', rippleHide);\n el.removeEventListener('mouseup', rippleHide);\n el.removeEventListener('mouseleave', rippleHide);\n el.removeEventListener('keydown', keyboardRippleShow);\n el.removeEventListener('keyup', keyboardRippleHide);\n el.removeEventListener('dragstart', rippleHide);\n el.removeEventListener('blur', focusRippleHide);\n}\n\nfunction directive(el, binding, node) {\n updateRipple(el, binding, false);\n\n if (process.env.NODE_ENV === 'development') {\n // warn if an inline element is used, waiting for el to be in the DOM first\n node.context && node.context.$nextTick(() => {\n const computed = window.getComputedStyle(el);\n\n if (computed && computed.display === 'inline') {\n const context = node.fnOptions ? [node.fnOptions, node.context] : [node.componentInstance];\n consoleWarn('v-ripple can only be used on block-level elements', ...context);\n }\n });\n }\n}\n\nfunction unbind(el) {\n delete el._ripple;\n removeListeners(el);\n}\n\nfunction update(el, binding) {\n if (binding.value === binding.oldValue) {\n return;\n }\n\n const wasEnabled = isRippleEnabled(binding.oldValue);\n updateRipple(el, binding, wasEnabled);\n}\n\nexport const Ripple = {\n bind: directive,\n unbind,\n update\n};\nexport default Ripple;\n//# sourceMappingURL=index.js.map","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.6.5',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLCharacterData, XMLNode,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n XMLNode = require('./XMLNode');\n\n module.exports = XMLCharacterData = (function(superClass) {\n extend(XMLCharacterData, superClass);\n\n function XMLCharacterData(parent) {\n XMLCharacterData.__super__.constructor.call(this, parent);\n this.value = '';\n }\n\n Object.defineProperty(XMLCharacterData.prototype, 'data', {\n get: function() {\n return this.value;\n },\n set: function(value) {\n return this.value = value || '';\n }\n });\n\n Object.defineProperty(XMLCharacterData.prototype, 'length', {\n get: function() {\n return this.value.length;\n }\n });\n\n Object.defineProperty(XMLCharacterData.prototype, 'textContent', {\n get: function() {\n return this.value;\n },\n set: function(value) {\n return this.value = value || '';\n }\n });\n\n XMLCharacterData.prototype.clone = function() {\n return Object.create(this);\n };\n\n XMLCharacterData.prototype.substringData = function(offset, count) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLCharacterData.prototype.appendData = function(arg) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLCharacterData.prototype.insertData = function(offset, arg) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLCharacterData.prototype.deleteData = function(offset, count) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLCharacterData.prototype.replaceData = function(offset, count, arg) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLCharacterData.prototype.isEqualNode = function(node) {\n if (!XMLCharacterData.__super__.isEqualNode.apply(this, arguments).isEqualNode(node)) {\n return false;\n }\n if (node.data !== this.data) {\n return false;\n }\n return true;\n };\n\n return XMLCharacterData;\n\n })(XMLNode);\n\n}).call(this);\n","// a string of all valid unicode whitespaces\n// eslint-disable-next-line max-len\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","/* eslint-disable max-len, import/export, no-use-before-define */\nimport Vue from 'vue';\nexport default function mixins(...args) {\n return Vue.extend({\n mixins: args\n });\n}\n//# sourceMappingURL=mixins.js.map","var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLStringifier,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },\n hasProp = {}.hasOwnProperty;\n\n module.exports = XMLStringifier = (function() {\n function XMLStringifier(options) {\n this.assertLegalName = bind(this.assertLegalName, this);\n this.assertLegalChar = bind(this.assertLegalChar, this);\n var key, ref, value;\n options || (options = {});\n this.options = options;\n if (!this.options.version) {\n this.options.version = '1.0';\n }\n ref = options.stringify || {};\n for (key in ref) {\n if (!hasProp.call(ref, key)) continue;\n value = ref[key];\n this[key] = value;\n }\n }\n\n XMLStringifier.prototype.name = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalName('' + val || '');\n };\n\n XMLStringifier.prototype.text = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar(this.textEscape('' + val || ''));\n };\n\n XMLStringifier.prototype.cdata = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n val = '' + val || '';\n val = val.replace(']]>', ']]]]><![CDATA[>');\n return this.assertLegalChar(val);\n };\n\n XMLStringifier.prototype.comment = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n val = '' + val || '';\n if (val.match(/--/)) {\n throw new Error(\"Comment text cannot contain double-hypen: \" + val);\n }\n return this.assertLegalChar(val);\n };\n\n XMLStringifier.prototype.raw = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return '' + val || '';\n };\n\n XMLStringifier.prototype.attValue = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar(this.attEscape(val = '' + val || ''));\n };\n\n XMLStringifier.prototype.insTarget = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar('' + val || '');\n };\n\n XMLStringifier.prototype.insValue = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n val = '' + val || '';\n if (val.match(/\\?>/)) {\n throw new Error(\"Invalid processing instruction value: \" + val);\n }\n return this.assertLegalChar(val);\n };\n\n XMLStringifier.prototype.xmlVersion = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n val = '' + val || '';\n if (!val.match(/1\\.[0-9]+/)) {\n throw new Error(\"Invalid version number: \" + val);\n }\n return val;\n };\n\n XMLStringifier.prototype.xmlEncoding = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n val = '' + val || '';\n if (!val.match(/^[A-Za-z](?:[A-Za-z0-9._-])*$/)) {\n throw new Error(\"Invalid encoding: \" + val);\n }\n return this.assertLegalChar(val);\n };\n\n XMLStringifier.prototype.xmlStandalone = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n if (val) {\n return \"yes\";\n } else {\n return \"no\";\n }\n };\n\n XMLStringifier.prototype.dtdPubID = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar('' + val || '');\n };\n\n XMLStringifier.prototype.dtdSysID = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar('' + val || '');\n };\n\n XMLStringifier.prototype.dtdElementValue = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar('' + val || '');\n };\n\n XMLStringifier.prototype.dtdAttType = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar('' + val || '');\n };\n\n XMLStringifier.prototype.dtdAttDefault = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar('' + val || '');\n };\n\n XMLStringifier.prototype.dtdEntityValue = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar('' + val || '');\n };\n\n XMLStringifier.prototype.dtdNData = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar('' + val || '');\n };\n\n XMLStringifier.prototype.convertAttKey = '@';\n\n XMLStringifier.prototype.convertPIKey = '?';\n\n XMLStringifier.prototype.convertTextKey = '#text';\n\n XMLStringifier.prototype.convertCDataKey = '#cdata';\n\n XMLStringifier.prototype.convertCommentKey = '#comment';\n\n XMLStringifier.prototype.convertRawKey = '#raw';\n\n XMLStringifier.prototype.assertLegalChar = function(str) {\n var regex, res;\n if (this.options.noValidation) {\n return str;\n }\n regex = '';\n if (this.options.version === '1.0') {\n regex = /[\\0-\\x08\\x0B\\f\\x0E-\\x1F\\uFFFE\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/;\n if (res = str.match(regex)) {\n throw new Error(\"Invalid character in string: \" + str + \" at index \" + res.index);\n }\n } else if (this.options.version === '1.1') {\n regex = /[\\0\\uFFFE\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/;\n if (res = str.match(regex)) {\n throw new Error(\"Invalid character in string: \" + str + \" at index \" + res.index);\n }\n }\n return str;\n };\n\n XMLStringifier.prototype.assertLegalName = function(str) {\n var regex;\n if (this.options.noValidation) {\n return str;\n }\n this.assertLegalChar(str);\n regex = /^([:A-Z_a-z\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]|[\\uD800-\\uDB7F][\\uDC00-\\uDFFF])([\\x2D\\.0-:A-Z_a-z\\xB7\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u037D\\u037F-\\u1FFF\\u200C\\u200D\\u203F\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]|[\\uD800-\\uDB7F][\\uDC00-\\uDFFF])*$/;\n if (!str.match(regex)) {\n throw new Error(\"Invalid character in name\");\n }\n return str;\n };\n\n XMLStringifier.prototype.textEscape = function(str) {\n var ampregex;\n if (this.options.noValidation) {\n return str;\n }\n ampregex = this.options.noDoubleEncoding ? /(?!&\\S+;)&/g : /&/g;\n return str.replace(ampregex, '&').replace(/</g, '<').replace(/>/g, '>').replace(/\\r/g, '
');\n };\n\n XMLStringifier.prototype.attEscape = function(str) {\n var ampregex;\n if (this.options.noValidation) {\n return str;\n }\n ampregex = this.options.noDoubleEncoding ? /(?!&\\S+;)&/g : /&/g;\n return str.replace(ampregex, '&').replace(/</g, '<').replace(/\"/g, '"').replace(/\\t/g, '	').replace(/\\n/g, '
').replace(/\\r/g, '
');\n };\n\n return XMLStringifier;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLNamedNodeMap;\n\n module.exports = XMLNamedNodeMap = (function() {\n function XMLNamedNodeMap(nodes) {\n this.nodes = nodes;\n }\n\n Object.defineProperty(XMLNamedNodeMap.prototype, 'length', {\n get: function() {\n return Object.keys(this.nodes).length || 0;\n }\n });\n\n XMLNamedNodeMap.prototype.clone = function() {\n return this.nodes = null;\n };\n\n XMLNamedNodeMap.prototype.getNamedItem = function(name) {\n return this.nodes[name];\n };\n\n XMLNamedNodeMap.prototype.setNamedItem = function(node) {\n var oldNode;\n oldNode = this.nodes[node.nodeName];\n this.nodes[node.nodeName] = node;\n return oldNode || null;\n };\n\n XMLNamedNodeMap.prototype.removeNamedItem = function(name) {\n var oldNode;\n oldNode = this.nodes[name];\n delete this.nodes[name];\n return oldNode || null;\n };\n\n XMLNamedNodeMap.prototype.item = function(index) {\n return this.nodes[Object.keys(this.nodes)[index]] || null;\n };\n\n XMLNamedNodeMap.prototype.getNamedItemNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\");\n };\n\n XMLNamedNodeMap.prototype.setNamedItemNS = function(node) {\n throw new Error(\"This DOM method is not implemented.\");\n };\n\n XMLNamedNodeMap.prototype.removeNamedItemNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\");\n };\n\n return XMLNamedNodeMap;\n\n })();\n\n}).call(this);\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","// Styles\nimport \"../../../src/components/VList/VList.sass\"; // Components\n\nimport VSheet from '../VSheet/VSheet';\nimport { getSlot } from '../../util/helpers';\n/* @vue/component */\n\nexport default VSheet.extend().extend({\n name: 'v-list',\n\n provide() {\n return {\n isInList: true,\n list: this\n };\n },\n\n inject: {\n isInMenu: {\n default: false\n },\n isInNav: {\n default: false\n }\n },\n props: {\n dense: Boolean,\n disabled: Boolean,\n expand: Boolean,\n flat: Boolean,\n nav: Boolean,\n rounded: Boolean,\n subheader: Boolean,\n threeLine: Boolean,\n twoLine: Boolean\n },\n data: () => ({\n groups: []\n }),\n computed: {\n classes() {\n return { ...VSheet.options.computed.classes.call(this),\n 'v-list--dense': this.dense,\n 'v-list--disabled': this.disabled,\n 'v-list--flat': this.flat,\n 'v-list--nav': this.nav,\n 'v-list--rounded': this.rounded,\n 'v-list--subheader': this.subheader,\n 'v-list--two-line': this.twoLine,\n 'v-list--three-line': this.threeLine\n };\n }\n\n },\n methods: {\n register(content) {\n this.groups.push(content);\n },\n\n unregister(content) {\n const index = this.groups.findIndex(g => g._uid === content._uid);\n if (index > -1) this.groups.splice(index, 1);\n },\n\n listClick(uid) {\n if (this.expand) return;\n\n for (const group of this.groups) {\n group.toggle(uid);\n }\n }\n\n },\n\n render(h) {\n const data = {\n staticClass: 'v-list',\n class: this.classes,\n style: this.styles,\n attrs: {\n role: this.isInNav || this.isInMenu ? undefined : 'list',\n ...this.attrs$\n },\n on: this.listeners$\n };\n return h(this.tag, this.setBackgroundColor(this.color, data), getSlot(this));\n }\n\n});\n//# sourceMappingURL=VList.js.map","// Types\nimport Vue from 'vue';\n/* @vue/component */\n\nexport default Vue.extend({\n name: 'v-list-item-icon',\n functional: true,\n\n render(h, {\n data,\n children\n }) {\n data.staticClass = `v-list-item__icon ${data.staticClass || ''}`.trim();\n return h('div', data, children);\n }\n\n});\n//# sourceMappingURL=VListItemIcon.js.map","// Utilities\nimport { removed } from '../../util/console'; // Types\n\nimport Vue from 'vue';\n/**\n * Bootable\n * @mixin\n *\n * Used to add lazy content functionality to components\n * Looks for change in \"isActive\" to automatically boot\n * Otherwise can be set manually\n */\n\n/* @vue/component */\n\nexport default Vue.extend().extend({\n name: 'bootable',\n props: {\n eager: Boolean\n },\n data: () => ({\n isBooted: false\n }),\n computed: {\n hasContent() {\n return this.isBooted || this.eager || this.isActive;\n }\n\n },\n watch: {\n isActive() {\n this.isBooted = true;\n }\n\n },\n\n created() {\n /* istanbul ignore next */\n if ('lazy' in this.$attrs) {\n removed('lazy', this);\n }\n },\n\n methods: {\n showLazyContent(content) {\n return this.hasContent && content ? content() : [this.$createElement()];\n }\n\n }\n});\n//# sourceMappingURL=index.js.map","// Styles\nimport \"../../../src/components/VList/VListGroup.sass\"; // Components\n\nimport VIcon from '../VIcon';\nimport VListItem from './VListItem';\nimport VListItemIcon from './VListItemIcon'; // Mixins\n\nimport BindsAttrs from '../../mixins/binds-attrs';\nimport Bootable from '../../mixins/bootable';\nimport Colorable from '../../mixins/colorable';\nimport Toggleable from '../../mixins/toggleable';\nimport { inject as RegistrableInject } from '../../mixins/registrable'; // Directives\n\nimport ripple from '../../directives/ripple'; // Transitions\n\nimport { VExpandTransition } from '../transitions'; // Utils\n\nimport mixins from '../../util/mixins';\nimport { getSlot } from '../../util/helpers';\nconst baseMixins = mixins(BindsAttrs, Bootable, Colorable, RegistrableInject('list'), Toggleable);\nexport default baseMixins.extend().extend({\n name: 'v-list-group',\n directives: {\n ripple\n },\n props: {\n activeClass: {\n type: String,\n default: ''\n },\n appendIcon: {\n type: String,\n default: '$expand'\n },\n color: {\n type: String,\n default: 'primary'\n },\n disabled: Boolean,\n group: [String, RegExp],\n noAction: Boolean,\n prependIcon: String,\n ripple: {\n type: [Boolean, Object],\n default: true\n },\n subGroup: Boolean\n },\n computed: {\n classes() {\n return {\n 'v-list-group--active': this.isActive,\n 'v-list-group--disabled': this.disabled,\n 'v-list-group--no-action': this.noAction,\n 'v-list-group--sub-group': this.subGroup\n };\n }\n\n },\n watch: {\n isActive(val) {\n /* istanbul ignore else */\n if (!this.subGroup && val) {\n this.list && this.list.listClick(this._uid);\n }\n },\n\n $route: 'onRouteChange'\n },\n\n created() {\n this.list && this.list.register(this);\n\n if (this.group && this.$route && this.value == null) {\n this.isActive = this.matchRoute(this.$route.path);\n }\n },\n\n beforeDestroy() {\n this.list && this.list.unregister(this);\n },\n\n methods: {\n click(e) {\n if (this.disabled) return;\n this.isBooted = true;\n this.$emit('click', e);\n this.$nextTick(() => this.isActive = !this.isActive);\n },\n\n genIcon(icon) {\n return this.$createElement(VIcon, icon);\n },\n\n genAppendIcon() {\n const icon = !this.subGroup ? this.appendIcon : false;\n const slot = getSlot(this, 'appendIcon');\n if (!icon && !slot) return null;\n return this.$createElement(VListItemIcon, {\n staticClass: 'v-list-group__header__append-icon'\n }, [slot || this.genIcon(icon)]);\n },\n\n genHeader() {\n return this.$createElement(VListItem, {\n staticClass: 'v-list-group__header',\n attrs: {\n 'aria-expanded': String(this.isActive),\n role: 'button'\n },\n class: {\n [this.activeClass]: this.isActive\n },\n props: {\n inputValue: this.isActive\n },\n directives: [{\n name: 'ripple',\n value: this.ripple\n }],\n on: { ...this.listeners$,\n click: this.click\n }\n }, [this.genPrependIcon(), getSlot(this, 'activator'), this.genAppendIcon()]);\n },\n\n genItems() {\n return this.showLazyContent(() => [this.$createElement('div', {\n staticClass: 'v-list-group__items',\n directives: [{\n name: 'show',\n value: this.isActive\n }]\n }, getSlot(this))]);\n },\n\n genPrependIcon() {\n const icon = this.subGroup && this.prependIcon == null ? '$subgroup' : this.prependIcon;\n const slot = getSlot(this, 'prependIcon');\n if (!icon && !slot) return null;\n return this.$createElement(VListItemIcon, {\n staticClass: 'v-list-group__header__prepend-icon'\n }, [slot || this.genIcon(icon)]);\n },\n\n onRouteChange(to) {\n /* istanbul ignore if */\n if (!this.group) return;\n const isActive = this.matchRoute(to.path);\n /* istanbul ignore else */\n\n if (isActive && this.isActive !== isActive) {\n this.list && this.list.listClick(this._uid);\n }\n\n this.isActive = isActive;\n },\n\n toggle(uid) {\n const isActive = this._uid === uid;\n if (isActive) this.isBooted = true;\n this.$nextTick(() => this.isActive = isActive);\n },\n\n matchRoute(to) {\n return to.match(this.group) !== null;\n }\n\n },\n\n render(h) {\n return h('div', this.setTextColor(this.isActive && this.color, {\n staticClass: 'v-list-group',\n class: this.classes\n }), [this.genHeader(), h(VExpandTransition, this.genItems())]);\n }\n\n});\n//# sourceMappingURL=VListGroup.js.map","import Vue from 'vue';\nimport { deepEqual } from '../../util/helpers';\nexport default Vue.extend({\n name: 'comparable',\n props: {\n valueComparator: {\n type: Function,\n default: deepEqual\n }\n }\n});\n//# sourceMappingURL=index.js.map","// Styles\nimport \"../../../src/components/VItemGroup/VItemGroup.sass\"; // Mixins\n\nimport Comparable from '../../mixins/comparable';\nimport Proxyable from '../../mixins/proxyable';\nimport Themeable from '../../mixins/themeable'; // Utilities\n\nimport mixins from '../../util/mixins';\nimport { consoleWarn } from '../../util/console';\nimport { getSlot } from '../../util/helpers';\nexport const BaseItemGroup = mixins(Comparable, Proxyable, Themeable).extend({\n name: 'base-item-group',\n props: {\n activeClass: {\n type: String,\n default: 'v-item--active'\n },\n mandatory: Boolean,\n max: {\n type: [Number, String],\n default: null\n },\n multiple: Boolean,\n tag: {\n type: String,\n default: 'div'\n }\n },\n\n data() {\n return {\n // As long as a value is defined, show it\n // Otherwise, check if multiple\n // to determine which default to provide\n internalLazyValue: this.value !== undefined ? this.value : this.multiple ? [] : undefined,\n items: []\n };\n },\n\n computed: {\n classes() {\n return {\n 'v-item-group': true,\n ...this.themeClasses\n };\n },\n\n selectedIndex() {\n return this.selectedItem && this.items.indexOf(this.selectedItem) || -1;\n },\n\n selectedItem() {\n if (this.multiple) return undefined;\n return this.selectedItems[0];\n },\n\n selectedItems() {\n return this.items.filter((item, index) => {\n return this.toggleMethod(this.getValue(item, index));\n });\n },\n\n selectedValues() {\n if (this.internalValue == null) return [];\n return Array.isArray(this.internalValue) ? this.internalValue : [this.internalValue];\n },\n\n toggleMethod() {\n if (!this.multiple) {\n return v => this.valueComparator(this.internalValue, v);\n }\n\n const internalValue = this.internalValue;\n\n if (Array.isArray(internalValue)) {\n return v => internalValue.some(intern => this.valueComparator(intern, v));\n }\n\n return () => false;\n }\n\n },\n watch: {\n internalValue: 'updateItemsState',\n items: 'updateItemsState'\n },\n\n created() {\n if (this.multiple && !Array.isArray(this.internalValue)) {\n consoleWarn('Model must be bound to an array if the multiple property is true.', this);\n }\n },\n\n methods: {\n genData() {\n return {\n class: this.classes\n };\n },\n\n getValue(item, i) {\n return item.value === undefined ? i : item.value;\n },\n\n onClick(item) {\n this.updateInternalValue(this.getValue(item, this.items.indexOf(item)));\n },\n\n register(item) {\n const index = this.items.push(item) - 1;\n item.$on('change', () => this.onClick(item)); // If no value provided and mandatory,\n // assign first registered item\n\n if (this.mandatory && !this.selectedValues.length) {\n this.updateMandatory();\n }\n\n this.updateItem(item, index);\n },\n\n unregister(item) {\n if (this._isDestroyed) return;\n const index = this.items.indexOf(item);\n const value = this.getValue(item, index);\n this.items.splice(index, 1);\n const valueIndex = this.selectedValues.indexOf(value); // Items is not selected, do nothing\n\n if (valueIndex < 0) return; // If not mandatory, use regular update process\n\n if (!this.mandatory) {\n return this.updateInternalValue(value);\n } // Remove the value\n\n\n if (this.multiple && Array.isArray(this.internalValue)) {\n this.internalValue = this.internalValue.filter(v => v !== value);\n } else {\n this.internalValue = undefined;\n } // If mandatory and we have no selection\n // add the last item as value\n\n /* istanbul ignore else */\n\n\n if (!this.selectedItems.length) {\n this.updateMandatory(true);\n }\n },\n\n updateItem(item, index) {\n const value = this.getValue(item, index);\n item.isActive = this.toggleMethod(value);\n },\n\n // https://github.com/vuetifyjs/vuetify/issues/5352\n updateItemsState() {\n this.$nextTick(() => {\n if (this.mandatory && !this.selectedItems.length) {\n return this.updateMandatory();\n } // TODO: Make this smarter so it\n // doesn't have to iterate every\n // child in an update\n\n\n this.items.forEach(this.updateItem);\n });\n },\n\n updateInternalValue(value) {\n this.multiple ? this.updateMultiple(value) : this.updateSingle(value);\n },\n\n updateMandatory(last) {\n if (!this.items.length) return;\n const items = this.items.slice();\n if (last) items.reverse();\n const item = items.find(item => !item.disabled); // If no tabs are available\n // aborts mandatory value\n\n if (!item) return;\n const index = this.items.indexOf(item);\n this.updateInternalValue(this.getValue(item, index));\n },\n\n updateMultiple(value) {\n const defaultValue = Array.isArray(this.internalValue) ? this.internalValue : [];\n const internalValue = defaultValue.slice();\n const index = internalValue.findIndex(val => this.valueComparator(val, value));\n if (this.mandatory && // Item already exists\n index > -1 && // value would be reduced below min\n internalValue.length - 1 < 1) return;\n if ( // Max is set\n this.max != null && // Item doesn't exist\n index < 0 && // value would be increased above max\n internalValue.length + 1 > this.max) return;\n index > -1 ? internalValue.splice(index, 1) : internalValue.push(value);\n this.internalValue = internalValue;\n },\n\n updateSingle(value) {\n const isSame = this.valueComparator(this.internalValue, value);\n if (this.mandatory && isSame) return;\n this.internalValue = isSame ? undefined : value;\n }\n\n },\n\n render(h) {\n return h(this.tag, this.genData(), getSlot(this));\n }\n\n});\nexport default BaseItemGroup.extend({\n name: 'v-item-group',\n\n provide() {\n return {\n itemGroup: this\n };\n }\n\n});\n//# sourceMappingURL=VItemGroup.js.map","// Styles\nimport \"../../../src/components/VList/VListItemGroup.sass\"; // Extensions\n\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'; // Mixins\n\nimport Colorable from '../../mixins/colorable'; // Utilities\n\nimport mixins from '../../util/mixins';\nexport default mixins(BaseItemGroup, Colorable).extend({\n name: 'v-list-item-group',\n\n provide() {\n return {\n isInGroup: true,\n listItemGroup: this\n };\n },\n\n computed: {\n classes() {\n return { ...BaseItemGroup.options.computed.classes.call(this),\n 'v-list-item-group': true\n };\n }\n\n },\n methods: {\n genData() {\n return this.setTextColor(this.color, { ...BaseItemGroup.options.methods.genData.call(this),\n attrs: {\n role: 'listbox'\n }\n });\n }\n\n }\n});\n//# sourceMappingURL=VListItemGroup.js.map","// Types\nimport Vue from 'vue';\n/* @vue/component */\n\nexport default Vue.extend({\n name: 'v-list-item-action',\n functional: true,\n\n render(h, {\n data,\n children = []\n }) {\n data.staticClass = data.staticClass ? `v-list-item__action ${data.staticClass}` : 'v-list-item__action';\n const filteredChild = children.filter(VNode => {\n return VNode.isComment === false && VNode.text !== ' ';\n });\n if (filteredChild.length > 1) data.staticClass += ' v-list-item__action--stack';\n return h('div', data, children);\n }\n\n});\n//# sourceMappingURL=VListItemAction.js.map","import \"../../../src/components/VAvatar/VAvatar.sass\"; // Mixins\n\nimport Colorable from '../../mixins/colorable';\nimport Measurable from '../../mixins/measurable';\nimport Roundable from '../../mixins/roundable'; // Utilities\n\nimport { convertToUnit, getSlot } from '../../util/helpers';\nimport mixins from '../../util/mixins';\nexport default mixins(Colorable, Measurable, Roundable).extend({\n name: 'v-avatar',\n props: {\n left: Boolean,\n right: Boolean,\n size: {\n type: [Number, String],\n default: 48\n }\n },\n computed: {\n classes() {\n return {\n 'v-avatar--left': this.left,\n 'v-avatar--right': this.right,\n ...this.roundedClasses\n };\n },\n\n styles() {\n return {\n height: convertToUnit(this.size),\n minWidth: convertToUnit(this.size),\n width: convertToUnit(this.size),\n ...this.measurableStyles\n };\n }\n\n },\n\n render(h) {\n const data = {\n staticClass: 'v-avatar',\n class: this.classes,\n style: this.styles,\n on: this.$listeners\n };\n return h('div', this.setBackgroundColor(this.color, data), getSlot(this));\n }\n\n});\n//# sourceMappingURL=VAvatar.js.map","import VAvatar from './VAvatar';\nexport { VAvatar };\nexport default VAvatar;\n//# sourceMappingURL=index.js.map","// Components\nimport VAvatar from '../VAvatar';\n/* @vue/component */\n\nexport default VAvatar.extend({\n name: 'v-list-item-avatar',\n props: {\n horizontal: Boolean,\n size: {\n type: [Number, String],\n default: 40\n }\n },\n computed: {\n classes() {\n return {\n 'v-list-item__avatar--horizontal': this.horizontal,\n ...VAvatar.options.computed.classes.call(this),\n 'v-avatar--tile': this.tile || this.horizontal\n };\n }\n\n },\n\n render(h) {\n const render = VAvatar.options.render.call(this, h);\n render.data = render.data || {};\n render.data.staticClass += ' v-list-item__avatar';\n return render;\n }\n\n});\n//# sourceMappingURL=VListItemAvatar.js.map","import { createSimpleFunctional } from '../../util/helpers';\nimport VList from './VList';\nimport VListGroup from './VListGroup';\nimport VListItem from './VListItem';\nimport VListItemGroup from './VListItemGroup';\nimport VListItemAction from './VListItemAction';\nimport VListItemAvatar from './VListItemAvatar';\nimport VListItemIcon from './VListItemIcon';\nexport const VListItemActionText = createSimpleFunctional('v-list-item__action-text', 'span');\nexport const VListItemContent = createSimpleFunctional('v-list-item__content', 'div');\nexport const VListItemTitle = createSimpleFunctional('v-list-item__title', 'div');\nexport const VListItemSubtitle = createSimpleFunctional('v-list-item__subtitle', 'div');\nexport { VList, VListGroup, VListItem, VListItemAction, VListItemAvatar, VListItemIcon, VListItemGroup };\nexport default {\n $_vuetify_subcomponents: {\n VList,\n VListGroup,\n VListItem,\n VListItemAction,\n VListItemActionText,\n VListItemAvatar,\n VListItemContent,\n VListItemGroup,\n VListItemIcon,\n VListItemSubtitle,\n VListItemTitle\n }\n};\n//# sourceMappingURL=index.js.map","'use strict';\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Buffer = require('safe-buffer').Buffer;\nvar util = require('util');\n\nfunction copyBuffer(src, target, offset) {\n src.copy(target, offset);\n}\n\nmodule.exports = function () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n\n BufferList.prototype.push = function push(v) {\n var entry = { data: v, next: null };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n };\n\n BufferList.prototype.unshift = function unshift(v) {\n var entry = { data: v, next: this.head };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n };\n\n BufferList.prototype.shift = function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n };\n\n BufferList.prototype.clear = function clear() {\n this.head = this.tail = null;\n this.length = 0;\n };\n\n BufferList.prototype.join = function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n while (p = p.next) {\n ret += s + p.data;\n }return ret;\n };\n\n BufferList.prototype.concat = function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n if (this.length === 1) return this.head.data;\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n };\n\n return BufferList;\n}();\n\nif (util && util.inspect && util.inspect.custom) {\n module.exports.prototype[util.inspect.custom] = function () {\n var obj = util.inspect({ length: this.length });\n return this.constructor.name + ' ' + obj;\n };\n}","'use strict';\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n delta = floor(delta / baseMinusTMin);\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\n// eslint-disable-next-line max-statements\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n output.push(stringFromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n output.push(delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>, but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n // Represent delta as a generalized variable-length integer.\n var q = delta;\n for (var k = base; /* no condition */; k += base) {\n var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n }\n\n output.push(stringFromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n ++handledCPCount;\n }\n }\n\n ++delta;\n ++n;\n }\n return output.join('');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = input.toLowerCase().replace(regexSeparators, '\\u002E').split('.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);\n }\n return encoded.join('.');\n};\n","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted\n // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n var script = doc.createElement(\"script\");\n script.onreadystatechange = function () {\n runIfPresent(handle);\n script.onreadystatechange = null;\n html.removeChild(script);\n script = null;\n };\n html.appendChild(script);\n };\n }\n\n function installSetTimeoutImplementation() {\n registerImmediate = function(handle) {\n setTimeout(runIfPresent, 0, handle);\n };\n }\n\n // If supported, we should attach to the prototype of global, since that is where setTimeout et al. live.\n var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global);\n attachTo = attachTo && attachTo.setTimeout ? attachTo : global;\n\n // Don't get fooled by e.g. browserify environments.\n if ({}.toString.call(global.process) === \"[object process]\") {\n // For Node.js before 0.9\n installNextTickImplementation();\n\n } else if (canUsePostMessage()) {\n // For non-IE10 modern browsers\n installPostMessageImplementation();\n\n } else if (global.MessageChannel) {\n // For web workers, where supported\n installMessageChannelImplementation();\n\n } else if (doc && \"onreadystatechange\" in doc.createElement(\"script\")) {\n // For IE 6–8\n installReadyStateChangeImplementation();\n\n } else {\n // For older browsers\n installSetTimeoutImplementation();\n }\n\n attachTo.setImmediate = setImmediate;\n attachTo.clearImmediate = clearImmediate;\n}(typeof self === \"undefined\" ? typeof global === \"undefined\" ? this : global : self));\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vue-rss-feed\"},[_c('Feed',{attrs:{\"feedUrl\":_vm.feedUrl,\"name\":_vm.name,\"limit\":_vm.limit}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.error)?_c('div',{staticClass:\"error\"},[_vm._v(_vm._s(_vm.error))]):_c('div',{staticClass:\"feed\"},[(_vm.name)?_c('h1',[_vm._v(_vm._s(_vm.name))]):_c('h1',[_vm._v(_vm._s(_vm.feed.title))]),(_vm.loading)?_c('div',{staticClass:\"spinner\"},[_c('div',{staticClass:\"bounce1\"}),_c('div',{staticClass:\"bounce2\"}),_c('div',{staticClass:\"bounce3\"})]):_vm._e(),_c('div',{staticClass:\"articles-container\"},_vm._l((_vm.getArticles()),function(article,index){return _c('Article',{key:index,attrs:{\"article\":article}})}),1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"article\"},[_c('div',{staticClass:\"title\"},[_c('a',{attrs:{\"href\":_vm.article.link,\"target\":\"_blank\"}},[_c('h3',[_vm._v(_vm._s(_vm.article.title))])])]),_c('div',{staticClass:\"body\"},[_c('p',{staticClass:\"content\",domProps:{\"innerHTML\":_vm._s(_vm.article.content)}})]),_c('div',{staticClass:\"footer\"},[_c('span',{staticClass:\"hostname\"},[_vm._v(_vm._s(this.getHostname()))]),(_vm.article.isoDate)?_c('span',{staticClass:\"middot\"},[_vm._v(\"•\")]):_vm._e(),_c('span',{staticClass:\"datetime\"},[_vm._v(_vm._s(this.getDateTime()))])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div class=\"article\">\n <div class=\"title\">\n <a :href=\"article.link\" target=\"_blank\">\n <h3>{{article.title}}</h3>\n </a>\n </div>\n <div class=\"body\">\n <p class=\"content\" v-html=\"article.content\"></p>\n </div>\n <div class=\"footer\">\n <span class=\"hostname\">{{this.getHostname()}}</span>\n <span v-if=\"article.isoDate\" class=\"middot\">•</span>\n <span class=\"datetime\">{{this.getDateTime()}}</span>\n </div>\n </div>\n</template>\n\n<script>\nconst parseDate = tdate => {\n const systemDate = new Date(Date.parse(tdate));\n const userDate = new Date();\n\n const diff = Math.floor((userDate - systemDate) / 1000);\n if (diff < 59) {\n return diff + \"s\";\n }\n\n if (diff <= 3540) {\n return Math.round(diff / 60) + \"m\";\n }\n\n if (diff <= 86400) {\n return Math.round(diff / 3600) + \"h\";\n }\n\n if (diff < 604800) {\n return Math.round(diff / 86400) + \"d\";\n }\n\n return systemDate.toString().substring(4, 10);\n};\n\nexport default {\n name: \"Article\",\n props: [\"article\"],\n methods: {\n getHostname() {\n try {\n const urlObj = new URL(this.article.link);\n return urlObj.hostname.replace(\"www.\", \"\").replace(\"ww2.\", \"\");\n } catch (e) {\n console.error(e.toString());\n }\n },\n getDateTime() {\n if (this.article.isoDate) {\n return parseDate(this.article.isoDate);\n }\n }\n }\n};\n</script>\n\n<style scoped>\nh3 {\n margin: 0;\n padding: 0;\n}\n.article {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n padding: 1.25rem;\n margin-bottom: 15px;\n}\n.body .content {\n margin-top: 5px;\n}\n.footer {\n font-size: 13px;\n color: #777;\n display: flex;\n align-items: flex-end;\n}\n.middot {\n font-size: 12px;\n margin: 0 8px;\n}\na {\n color: #42b983;\n}\n</style>\n","import mod from \"-!../../../cache-loader/dist/cjs.js??ref--12-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--0-0!../../../vue-loader/lib/index.js??vue-loader-options!./Article.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../cache-loader/dist/cjs.js??ref--12-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--0-0!../../../vue-loader/lib/index.js??vue-loader-options!./Article.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Article.vue?vue&type=template&id=50437f32&scoped=true&\"\nimport script from \"./Article.vue?vue&type=script&lang=js&\"\nexport * from \"./Article.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Article.vue?vue&type=style&index=0&id=50437f32&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"50437f32\",\n null\n \n)\n\nexport default component.exports","<template>\n <div v-if=\"error\" class=\"error\">{{error}}</div>\n <div v-else class=\"feed\">\n <h1 v-if=\"name\">{{name}}</h1>\n <h1 v-else>{{feed.title}}</h1>\n <div v-if=\"loading\" class=\"spinner\">\n <div class=\"bounce1\"></div>\n <div class=\"bounce2\"></div>\n <div class=\"bounce3\"></div>\n </div>\n <div class=\"articles-container\">\n <Article\n v-for=\"(article, index) of getArticles()\"\n v-bind:key=\"index\"\n v-bind:article=\"article\"\n />\n </div>\n </div>\n</template>\n\n<script>\nimport Article from \"./Article.vue\";\nimport RSSParser from \"rss-parser\";\n\nexport default {\n name: \"Feed\",\n components: {\n Article\n },\n props: {\n feedUrl: String,\n name: String,\n limit: Number,\n loadMore: Boolean\n },\n data() {\n return {\n loading: true,\n error: \"\",\n feed: {}\n };\n },\n created() {\n this.fetchData();\n },\n watch: {\n feedUrl() {\n this.fetchData();\n },\n limit(newVal, oldVal) {\n if (newVal !== oldVal) {\n this.getArticles();\n }\n }\n },\n methods: {\n async fetchData() {\n this.error = \"\";\n this.loading = true;\n this.feed = {};\n try {\n const data = await fetch(this.feedUrl);\n if (data.ok) {\n const text = await data.text();\n const parser = new RSSParser();\n parser.parseString(text, (err, parsed) => {\n this.loading = false;\n if (err) {\n this.error = `Error occured while parsing RSS Feed ${err.toString()}`;\n } else {\n this.feed = parsed;\n }\n });\n } else {\n this.error = \"Error occured while fetching the feed\";\n this.loading = false;\n }\n } catch (e) {\n if (e.toString() === \"TypeError: Failed to fetch\") {\n this.error = \"Error due to CORS policy\";\n } else {\n this.error = e.toString();\n }\n this.loading = false;\n }\n },\n getArticles() {\n if (this.feed.items && this.feed.items) {\n return this.feed.items.slice(0, this.limit);\n }\n }\n }\n};\n</script>\n\n<style scoped>\nh1 {\n margin: 5px;\n font-size: 20px;\n}\n.feed {\n text-align: left;\n}\na {\n color: #42b983;\n}\n/* CSS Spinner */\n.spinner {\n margin: 40px auto 0;\n width: 150px;\n text-align: center;\n}\n\n.error {\n color: red;\n}\n\n.spinner > div {\n width: 18px;\n height: 18px;\n /* background-color: #ff641b; */\n background-color: #42b983;\n background-color: #777;\n margin-right: 10px;\n\n border-radius: 100%;\n display: inline-block;\n -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;\n animation: sk-bouncedelay 1.4s infinite ease-in-out both;\n}\n\n.spinner .bounce1 {\n -webkit-animation-delay: -0.32s;\n animation-delay: -0.32s;\n}\n\n.spinner .bounce2 {\n -webkit-animation-delay: -0.16s;\n animation-delay: -0.16s;\n}\n\n@-webkit-keyframes sk-bouncedelay {\n 0%,\n 80%,\n 100% {\n -webkit-transform: scale(0);\n }\n 40% {\n -webkit-transform: scale(1);\n }\n}\n\n@keyframes sk-bouncedelay {\n 0%,\n 80%,\n 100% {\n -webkit-transform: scale(0);\n transform: scale(0);\n }\n 40% {\n -webkit-transform: scale(1);\n transform: scale(1);\n }\n}\n</style>\n","import mod from \"-!../../../cache-loader/dist/cjs.js??ref--12-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--0-0!../../../vue-loader/lib/index.js??vue-loader-options!./Feed.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../cache-loader/dist/cjs.js??ref--12-0!../../../thread-loader/dist/cjs.js!../../../babel-loader/lib/index.js!../../../cache-loader/dist/cjs.js??ref--0-0!../../../vue-loader/lib/index.js??vue-loader-options!./Feed.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Feed.vue?vue&type=template&id=54966044&scoped=true&\"\nimport script from \"./Feed.vue?vue&type=script&lang=js&\"\nexport * from \"./Feed.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Feed.vue?vue&type=style&index=0&id=54966044&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"54966044\",\n null\n \n)\n\nexport default component.exports","<template>\n <div class=\"vue-rss-feed\">\n <Feed :feedUrl=\"feedUrl\" :name=\"name\" :limit=\"limit\"/>\n </div>\n</template>\n\n<script>\nimport Feed from \"./components/Feed.vue\";\n\nexport default {\n name: \"VueRssFeed\",\n components: {\n Feed\n },\n props: {\n feedUrl: String,\n name: String,\n limit: Number\n }\n};\n</script>\n\n<style scoped>\n.vue-rss-feed {\n font-family: \"Avenir\", Helvetica, Arial, sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n max-width: 600px;\n width: 100%;\n text-align: center;\n color: #2c3e50;\n}\n</style>\n","import mod from \"-!../../cache-loader/dist/cjs.js??ref--12-0!../../thread-loader/dist/cjs.js!../../babel-loader/lib/index.js!../../cache-loader/dist/cjs.js??ref--0-0!../../vue-loader/lib/index.js??vue-loader-options!./VueRssFeed.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../cache-loader/dist/cjs.js??ref--12-0!../../thread-loader/dist/cjs.js!../../babel-loader/lib/index.js!../../cache-loader/dist/cjs.js??ref--0-0!../../vue-loader/lib/index.js??vue-loader-options!./VueRssFeed.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./VueRssFeed.vue?vue&type=template&id=3cfdb860&scoped=true&\"\nimport script from \"./VueRssFeed.vue?vue&type=script&lang=js&\"\nexport * from \"./VueRssFeed.vue?vue&type=script&lang=js&\"\nimport style0 from \"./VueRssFeed.vue?vue&type=style&index=0&id=3cfdb860&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3cfdb860\",\n null\n \n)\n\nexport default component.exports","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\nvar nativeAssign = Object.assign;\nvar defineProperty = Object.defineProperty;\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\nmodule.exports = !nativeAssign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : nativeAssign;\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nmodule.exports = function installComponents (component, components) {\n var options = typeof component.exports === 'function'\n ? component.exports.extendOptions\n : component.options\n\n if (typeof component.exports === 'function') {\n options.components = component.exports.options.components\n }\n\n options.components = options.components || {}\n\n for (var i in components) {\n options.components[i] = options.components[i] || components[i]\n }\n}\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","/*!\n * clipboard.js v2.0.6\n * https://clipboardjs.com/\n * \n * Licensed MIT © Zeno Rocha\n */\n!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return o={},r.m=n=[function(t,e){t.exports=function(t){var e;if(\"SELECT\"===t.nodeName)t.focus(),e=t.value;else if(\"INPUT\"===t.nodeName||\"TEXTAREA\"===t.nodeName){var n=t.hasAttribute(\"readonly\");n||t.setAttribute(\"readonly\",\"\"),t.select(),t.setSelectionRange(0,t.value.length),n||t.removeAttribute(\"readonly\"),e=t.value}else{t.hasAttribute(\"contenteditable\")&&t.focus();var o=window.getSelection(),r=document.createRange();r.selectNodeContents(t),o.removeAllRanges(),o.addRange(r),e=o.toString()}return e}},function(t,e){function n(){}n.prototype={on:function(t,e,n){var o=this.e||(this.e={});return(o[t]||(o[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){var o=this;function r(){o.off(t,r),e.apply(n,arguments)}return r._=e,this.on(t,r,n)},emit:function(t){for(var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),o=0,r=n.length;o<r;o++)n[o].fn.apply(n[o].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),o=n[t],r=[];if(o&&e)for(var i=0,a=o.length;i<a;i++)o[i].fn!==e&&o[i].fn._!==e&&r.push(o[i]);return r.length?n[t]=r:delete n[t],this}},t.exports=n,t.exports.TinyEmitter=n},function(t,e,n){var d=n(3),h=n(4);t.exports=function(t,e,n){if(!t&&!e&&!n)throw new Error(\"Missing required arguments\");if(!d.string(e))throw new TypeError(\"Second argument must be a String\");if(!d.fn(n))throw new TypeError(\"Third argument must be a Function\");if(d.node(t))return s=e,f=n,(u=t).addEventListener(s,f),{destroy:function(){u.removeEventListener(s,f)}};if(d.nodeList(t))return a=t,c=e,l=n,Array.prototype.forEach.call(a,function(t){t.addEventListener(c,l)}),{destroy:function(){Array.prototype.forEach.call(a,function(t){t.removeEventListener(c,l)})}};if(d.string(t))return o=t,r=e,i=n,h(document.body,o,r,i);throw new TypeError(\"First argument must be a String, HTMLElement, HTMLCollection, or NodeList\");var o,r,i,a,c,l,u,s,f}},function(t,n){n.node=function(t){return void 0!==t&&t instanceof HTMLElement&&1===t.nodeType},n.nodeList=function(t){var e=Object.prototype.toString.call(t);return void 0!==t&&(\"[object NodeList]\"===e||\"[object HTMLCollection]\"===e)&&\"length\"in t&&(0===t.length||n.node(t[0]))},n.string=function(t){return\"string\"==typeof t||t instanceof String},n.fn=function(t){return\"[object Function]\"===Object.prototype.toString.call(t)}},function(t,e,n){var a=n(5);function i(t,e,n,o,r){var i=function(e,n,t,o){return function(t){t.delegateTarget=a(t.target,n),t.delegateTarget&&o.call(e,t)}}.apply(this,arguments);return t.addEventListener(n,i,r),{destroy:function(){t.removeEventListener(n,i,r)}}}t.exports=function(t,e,n,o,r){return\"function\"==typeof t.addEventListener?i.apply(null,arguments):\"function\"==typeof n?i.bind(null,document).apply(null,arguments):(\"string\"==typeof t&&(t=document.querySelectorAll(t)),Array.prototype.map.call(t,function(t){return i(t,e,n,o,r)}))}},function(t,e){if(\"undefined\"!=typeof Element&&!Element.prototype.matches){var n=Element.prototype;n.matches=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector}t.exports=function(t,e){for(;t&&9!==t.nodeType;){if(\"function\"==typeof t.matches&&t.matches(e))return t;t=t.parentNode}}},function(t,e,n){\"use strict\";n.r(e);var o=n(0),r=n.n(o),i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t};function a(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function c(t){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,c),this.resolveOptions(t),this.initSelection()}var l=(function(t,e,n){return e&&a(t.prototype,e),n&&a(t,n),t}(c,[{key:\"resolveOptions\",value:function(t){var e=0<arguments.length&&void 0!==t?t:{};this.action=e.action,this.container=e.container,this.emitter=e.emitter,this.target=e.target,this.text=e.text,this.trigger=e.trigger,this.selectedText=\"\"}},{key:\"initSelection\",value:function(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:\"selectFake\",value:function(){var t=this,e=\"rtl\"==document.documentElement.getAttribute(\"dir\");this.removeFake(),this.fakeHandlerCallback=function(){return t.removeFake()},this.fakeHandler=this.container.addEventListener(\"click\",this.fakeHandlerCallback)||!0,this.fakeElem=document.createElement(\"textarea\"),this.fakeElem.style.fontSize=\"12pt\",this.fakeElem.style.border=\"0\",this.fakeElem.style.padding=\"0\",this.fakeElem.style.margin=\"0\",this.fakeElem.style.position=\"absolute\",this.fakeElem.style[e?\"right\":\"left\"]=\"-9999px\";var n=window.pageYOffset||document.documentElement.scrollTop;this.fakeElem.style.top=n+\"px\",this.fakeElem.setAttribute(\"readonly\",\"\"),this.fakeElem.value=this.text,this.container.appendChild(this.fakeElem),this.selectedText=r()(this.fakeElem),this.copyText()}},{key:\"removeFake\",value:function(){this.fakeHandler&&(this.container.removeEventListener(\"click\",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(this.container.removeChild(this.fakeElem),this.fakeElem=null)}},{key:\"selectTarget\",value:function(){this.selectedText=r()(this.target),this.copyText()}},{key:\"copyText\",value:function(){var e=void 0;try{e=document.execCommand(this.action)}catch(t){e=!1}this.handleResult(e)}},{key:\"handleResult\",value:function(t){this.emitter.emit(t?\"success\":\"error\",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})}},{key:\"clearSelection\",value:function(){this.trigger&&this.trigger.focus(),document.activeElement.blur(),window.getSelection().removeAllRanges()}},{key:\"destroy\",value:function(){this.removeFake()}},{key:\"action\",set:function(t){var e=0<arguments.length&&void 0!==t?t:\"copy\";if(this._action=e,\"copy\"!==this._action&&\"cut\"!==this._action)throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"')},get:function(){return this._action}},{key:\"target\",set:function(t){if(void 0!==t){if(!t||\"object\"!==(void 0===t?\"undefined\":i(t))||1!==t.nodeType)throw new Error('Invalid \"target\" value, use a valid Element');if(\"copy\"===this.action&&t.hasAttribute(\"disabled\"))throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');if(\"cut\"===this.action&&(t.hasAttribute(\"readonly\")||t.hasAttribute(\"disabled\")))throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');this._target=t}},get:function(){return this._target}}]),c),u=n(1),s=n.n(u),f=n(2),d=n.n(f),h=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},p=function(t,e,n){return e&&y(t.prototype,e),n&&y(t,n),t};function y(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}var m=(function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(v,s.a),p(v,[{key:\"resolveOptions\",value:function(t){var e=0<arguments.length&&void 0!==t?t:{};this.action=\"function\"==typeof e.action?e.action:this.defaultAction,this.target=\"function\"==typeof e.target?e.target:this.defaultTarget,this.text=\"function\"==typeof e.text?e.text:this.defaultText,this.container=\"object\"===h(e.container)?e.container:document.body}},{key:\"listenClick\",value:function(t){var e=this;this.listener=d()(t,\"click\",function(t){return e.onClick(t)})}},{key:\"onClick\",value:function(t){var e=t.delegateTarget||t.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new l({action:this.action(e),target:this.target(e),text:this.text(e),container:this.container,trigger:e,emitter:this})}},{key:\"defaultAction\",value:function(t){return b(\"action\",t)}},{key:\"defaultTarget\",value:function(t){var e=b(\"target\",t);if(e)return document.querySelector(e)}},{key:\"defaultText\",value:function(t){return b(\"text\",t)}},{key:\"destroy\",value:function(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}],[{key:\"isSupported\",value:function(t){var e=0<arguments.length&&void 0!==t?t:[\"copy\",\"cut\"],n=\"string\"==typeof e?[e]:e,o=!!document.queryCommandSupported;return n.forEach(function(t){o=o&&!!document.queryCommandSupported(t)}),o}}]),v);function v(t,e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,v);var n=function(t,e){if(!t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!e||\"object\"!=typeof e&&\"function\"!=typeof e?t:e}(this,(v.__proto__||Object.getPrototypeOf(v)).call(this));return n.resolveOptions(e),n.listenClick(t),n}function b(t,e){var n=\"data-clipboard-\"+t;if(e.hasAttribute(n))return e.getAttribute(n)}e.default=m}],r.c=o,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,\"a\",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p=\"\",r(r.s=6).default;function r(t){if(o[t])return o[t].exports;var e=o[t]={i:t,l:!1,exports:{}};return n[t].call(e.exports,e,e.exports,r),e.l=!0,e.exports}var n,o});","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","// Generated by CoffeeScript 1.12.7\n(function() {\n \"use strict\";\n exports.stripBOM = function(str) {\n if (str[0] === '\\uFEFF') {\n return str.substring(1);\n } else {\n return str;\n }\n };\n\n}).call(this);\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar decode_json_1 = __importDefault(require(\"./maps/decode.json\"));\n// modified version of https://github.com/mathiasbynens/he/blob/master/src/he.js#L94-L119\nfunction decodeCodePoint(codePoint) {\n if ((codePoint >= 0xd800 && codePoint <= 0xdfff) || codePoint > 0x10ffff) {\n return \"\\uFFFD\";\n }\n if (codePoint in decode_json_1.default) {\n codePoint = decode_json_1.default[codePoint];\n }\n var output = \"\";\n if (codePoint > 0xffff) {\n codePoint -= 0x10000;\n output += String.fromCharCode(((codePoint >>> 10) & 0x3ff) | 0xd800);\n codePoint = 0xdc00 | (codePoint & 0x3ff);\n }\n output += String.fromCharCode(codePoint);\n return output;\n}\nexports.default = decodeCodePoint;\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","exports.f = Object.getOwnPropertySymbols;\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, WriterState, XMLDOMImplementation, XMLDocument, XMLDocumentCB, XMLStreamWriter, XMLStringWriter, assign, isFunction, ref;\n\n ref = require('./Utility'), assign = ref.assign, isFunction = ref.isFunction;\n\n XMLDOMImplementation = require('./XMLDOMImplementation');\n\n XMLDocument = require('./XMLDocument');\n\n XMLDocumentCB = require('./XMLDocumentCB');\n\n XMLStringWriter = require('./XMLStringWriter');\n\n XMLStreamWriter = require('./XMLStreamWriter');\n\n NodeType = require('./NodeType');\n\n WriterState = require('./WriterState');\n\n module.exports.create = function(name, xmldec, doctype, options) {\n var doc, root;\n if (name == null) {\n throw new Error(\"Root element needs a name.\");\n }\n options = assign({}, xmldec, doctype, options);\n doc = new XMLDocument(options);\n root = doc.element(name);\n if (!options.headless) {\n doc.declaration(options);\n if ((options.pubID != null) || (options.sysID != null)) {\n doc.dtd(options);\n }\n }\n return root;\n };\n\n module.exports.begin = function(options, onData, onEnd) {\n var ref1;\n if (isFunction(options)) {\n ref1 = [options, onData], onData = ref1[0], onEnd = ref1[1];\n options = {};\n }\n if (onData) {\n return new XMLDocumentCB(options, onData, onEnd);\n } else {\n return new XMLDocument(options);\n }\n };\n\n module.exports.stringWriter = function(options) {\n return new XMLStringWriter(options);\n };\n\n module.exports.streamWriter = function(stream, options) {\n return new XMLStreamWriter(stream, options);\n };\n\n module.exports.implementation = new XMLDOMImplementation();\n\n module.exports.nodeType = NodeType;\n\n module.exports.writerState = WriterState;\n\n}).call(this);\n","// Styles\nimport \"../../../src/components/VApp/VApp.sass\"; // Mixins\n\nimport Themeable from '../../mixins/themeable'; // Utilities\n\nimport mixins from '../../util/mixins';\nimport { getSlot } from '../../util/helpers';\n/* @vue/component */\n\nexport default mixins(Themeable).extend({\n name: 'v-app',\n props: {\n dark: {\n type: Boolean,\n default: undefined\n },\n id: {\n type: String,\n default: 'app'\n },\n light: {\n type: Boolean,\n default: undefined\n }\n },\n computed: {\n isDark() {\n return this.$vuetify.theme.dark;\n }\n\n },\n\n beforeCreate() {\n if (!this.$vuetify || this.$vuetify === this.$root) {\n throw new Error('Vuetify is not properly initialized, see https://v2.vuetifyjs.com/getting-started/quick-start#bootstrapping-the-vuetify-object');\n }\n },\n\n render(h) {\n const wrapper = h('div', {\n staticClass: 'v-application--wrap'\n }, getSlot(this));\n return h('div', {\n staticClass: 'v-application',\n class: {\n 'v-application--is-rtl': this.$vuetify.rtl,\n 'v-application--is-ltr': !this.$vuetify.rtl,\n ...this.themeClasses\n },\n attrs: {\n 'data-app': true\n },\n domProps: {\n id: this.id\n }\n }, [wrapper]);\n }\n\n});\n//# sourceMappingURL=VApp.js.map","import Vue from 'vue';\n/* @vue/component */\n\nconst Themeable = Vue.extend().extend({\n name: 'themeable',\n\n provide() {\n return {\n theme: this.themeableProvide\n };\n },\n\n inject: {\n theme: {\n default: {\n isDark: false\n }\n }\n },\n props: {\n dark: {\n type: Boolean,\n default: null\n },\n light: {\n type: Boolean,\n default: null\n }\n },\n\n data() {\n return {\n themeableProvide: {\n isDark: false\n }\n };\n },\n\n computed: {\n appIsDark() {\n return this.$vuetify.theme.dark || false;\n },\n\n isDark() {\n if (this.dark === true) {\n // explicitly dark\n return true;\n } else if (this.light === true) {\n // explicitly light\n return false;\n } else {\n // inherit from parent, or default false if there is none\n return this.theme.isDark;\n }\n },\n\n themeClasses() {\n return {\n 'theme--dark': this.isDark,\n 'theme--light': !this.isDark\n };\n },\n\n /** Used by menus and dialogs, inherits from v-app instead of the parent */\n rootIsDark() {\n if (this.dark === true) {\n // explicitly dark\n return true;\n } else if (this.light === true) {\n // explicitly light\n return false;\n } else {\n // inherit from v-app\n return this.appIsDark;\n }\n },\n\n rootThemeClasses() {\n return {\n 'theme--dark': this.rootIsDark,\n 'theme--light': !this.rootIsDark\n };\n }\n\n },\n watch: {\n isDark: {\n handler(newVal, oldVal) {\n if (newVal !== oldVal) {\n this.themeableProvide.isDark = this.isDark;\n }\n },\n\n immediate: true\n }\n }\n});\nexport default Themeable;\nexport function functionalThemeClasses(context) {\n const vm = { ...context.props,\n ...context.injections\n };\n const isDark = Themeable.options.computed.isDark.call(vm);\n return Themeable.options.computed.themeClasses.call({\n isDark\n });\n}\n//# sourceMappingURL=index.js.map","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n\n'use strict';\n\nmodule.exports = PassThrough;\n\nvar Transform = require('./_stream_transform');\n\n/*<replacement>*/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/*</replacement>*/\n\nutil.inherits(PassThrough, Transform);\n\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n\n Transform.call(this, options);\n}\n\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","/**\n * vee-validate v2.2.15\n * (c) 2019 Abdelrahman Awad\n * @license MIT\n */\n// \n\nvar isTextInput = function (el) {\n return includes(['text', 'password', 'search', 'email', 'tel', 'url', 'textarea', 'number'], el.type);\n};\n\nvar isCheckboxOrRadioInput = function (el) {\n return includes(['radio', 'checkbox'], el.type);\n};\n\nvar isDateInput = function (el) {\n return includes(['date', 'week', 'month', 'datetime-local', 'time'], el.type);\n};\n\n/**\n * Gets the data attribute. the name must be kebab-case.\n */\nvar getDataAttribute = function (el, name) { return el.getAttribute((\"data-vv-\" + name)); };\n\nvar isNaN$1 = function (value) {\n if ('isNaN' in Number) {\n return Number.isNaN(value);\n }\n\n // eslint-disable-next-line\n return typeof(value) === 'number' && value !== value;\n};\n\n/**\n * Checks if the values are either null or undefined.\n */\nvar isNullOrUndefined = function () {\n var values = [], len = arguments.length;\n while ( len-- ) values[ len ] = arguments[ len ];\n\n return values.every(function (value) {\n return value === null || value === undefined;\n });\n};\n\n/**\n * Creates the default flags object.\n */\nvar createFlags = function () { return ({\n untouched: true,\n touched: false,\n dirty: false,\n pristine: true,\n valid: null,\n invalid: null,\n validated: false,\n pending: false,\n required: false,\n changed: false\n}); };\n\n/**\n * Shallow object comparison.\n */\nvar isEqual = function (lhs, rhs) {\n if (lhs instanceof RegExp && rhs instanceof RegExp) {\n return isEqual(lhs.source, rhs.source) && isEqual(lhs.flags, rhs.flags);\n }\n\n if (Array.isArray(lhs) && Array.isArray(rhs)) {\n if (lhs.length !== rhs.length) { return false; }\n\n for (var i = 0; i < lhs.length; i++) {\n if (!isEqual(lhs[i], rhs[i])) {\n return false;\n }\n }\n\n return true;\n }\n\n // if both are objects, compare each key recursively.\n if (isObject(lhs) && isObject(rhs)) {\n return Object.keys(lhs).every(function (key) {\n return isEqual(lhs[key], rhs[key]);\n }) && Object.keys(rhs).every(function (key) {\n return isEqual(lhs[key], rhs[key]);\n });\n }\n\n if (isNaN$1(lhs) && isNaN$1(rhs)) {\n return true;\n }\n\n return lhs === rhs;\n};\n\n/**\n * Determines the input field scope.\n */\nvar getScope = function (el) {\n var scope = getDataAttribute(el, 'scope');\n if (isNullOrUndefined(scope)) {\n var form = getForm(el);\n\n if (form) {\n scope = getDataAttribute(form, 'scope');\n }\n }\n\n return !isNullOrUndefined(scope) ? scope : null;\n};\n\n/**\n * Get the closest form element.\n */\nvar getForm = function (el) {\n if (isNullOrUndefined(el)) { return null; }\n\n if (el.tagName === 'FORM') { return el; }\n\n if (!isNullOrUndefined(el.form)) { return el.form; }\n\n return !isNullOrUndefined(el.parentNode) ? getForm(el.parentNode) : null;\n};\n\n/**\n * Gets the value in an object safely.\n */\nvar getPath = function (path, target, def) {\n if ( def === void 0 ) def = undefined;\n\n if (!path || !target) { return def; }\n\n var value = target;\n path.split('.').every(function (prop) {\n if (prop in value) {\n value = value[prop];\n\n return true;\n }\n\n value = def;\n\n return false;\n });\n\n return value;\n};\n\n/**\n * Checks if path exists within an object.\n */\nvar hasPath = function (path, target) {\n var obj = target;\n var previousPath = null;\n var isNullOrNonObject = false;\n var isValidPath = path.split('.').reduce(function (reducer, prop) {\n if (obj == null || typeof obj !== 'object') {\n isNullOrNonObject = true;\n return reducer && false;\n }\n\n if (prop in obj) {\n obj = obj[prop];\n previousPath = previousPath === null ? prop : previousPath + '.' + prop;\n\n return reducer && true;\n }\n\n return reducer && false;\n }, true);\n\n if (process.env.NODE_ENV !== 'production') {\n if (isNullOrNonObject) {\n throw new Error(previousPath + ' is not an object');\n }\n }\n\n return isValidPath;\n};\n\n/**\n * Parses a rule string expression.\n */\nvar parseRule = function (rule) {\n var params = [];\n var name = rule.split(':')[0];\n\n if (includes(rule, ':')) {\n params = rule.split(':').slice(1).join(':').split(',');\n }\n\n return { name: name, params: params };\n};\n\n/**\n * Debounces a function.\n */\nvar debounce = function (fn, wait, token) {\n if ( wait === void 0 ) wait = 0;\n if ( token === void 0 ) token = { cancelled: false };\n\n if (wait === 0) {\n return fn;\n }\n\n var timeout;\n\n return function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var later = function () {\n timeout = null;\n\n // check if the fn call was cancelled.\n if (!token.cancelled) { fn.apply(void 0, args); }\n };\n\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (!timeout) { fn.apply(void 0, args); }\n };\n};\n\n/**\n * Appends a rule definition to a list of rules.\n */\nvar appendRule = function (rule, rules) {\n if (!rules) {\n return normalizeRules(rule);\n }\n\n if (!rule) {\n return normalizeRules(rules);\n }\n\n if (typeof rules === 'string') {\n rules = normalizeRules(rules);\n }\n\n return assign({}, rules, normalizeRules(rule));\n};\n\n/**\n * Normalizes the given rules expression.\n */\nvar normalizeRules = function (rules) {\n // if falsy value return an empty object.\n if (!rules) {\n return {};\n }\n\n if (isObject(rules)) {\n // $FlowFixMe\n return Object.keys(rules).reduce(function (prev, curr) {\n var params = [];\n // $FlowFixMe\n if (rules[curr] === true) {\n params = [];\n } else if (Array.isArray(rules[curr])) {\n params = rules[curr];\n } else if (isObject(rules[curr])) {\n params = rules[curr];\n } else {\n params = [rules[curr]];\n }\n\n // $FlowFixMe\n if (rules[curr] !== false) {\n prev[curr] = params;\n }\n\n return prev;\n }, {});\n }\n\n if (typeof rules !== 'string') {\n warn('rules must be either a string or an object.');\n return {};\n }\n\n return rules.split('|').reduce(function (prev, rule) {\n var parsedRule = parseRule(rule);\n if (!parsedRule.name) {\n return prev;\n }\n\n prev[parsedRule.name] = parsedRule.params;\n return prev;\n }, {});\n};\n\n/**\n * Emits a warning to the console.\n */\nvar warn = function (message) {\n console.warn((\"[vee-validate] \" + message)); // eslint-disable-line\n};\n\n/**\n * Creates a branded error object.\n */\nvar createError = function (message) { return new Error((\"[vee-validate] \" + message)); };\n\n/**\n * Checks if the value is an object.\n */\nvar isObject = function (obj) { return obj !== null && obj && typeof obj === 'object' && ! Array.isArray(obj); };\n\n/**\n * Checks if a function is callable.\n */\nvar isCallable = function (func) { return typeof func === 'function'; };\n\n/**\n * Check if element has the css class on it.\n */\nvar hasClass = function (el, className) {\n if (el.classList) {\n return el.classList.contains(className);\n }\n\n return !!el.className.match(new RegExp((\"(\\\\s|^)\" + className + \"(\\\\s|$)\")));\n};\n\n/**\n * Adds the provided css className to the element.\n */\nvar addClass = function (el, className) {\n if (el.classList) {\n el.classList.add(className);\n return;\n }\n\n if (!hasClass(el, className)) {\n el.className += \" \" + className;\n }\n};\n\n/**\n * Remove the provided css className from the element.\n */\nvar removeClass = function (el, className) {\n if (el.classList) {\n el.classList.remove(className);\n return;\n }\n\n if (hasClass(el, className)) {\n var reg = new RegExp((\"(\\\\s|^)\" + className + \"(\\\\s|$)\"));\n el.className = el.className.replace(reg, ' ');\n }\n};\n\n/**\n * Adds or removes a class name on the input depending on the status flag.\n */\nvar toggleClass = function (el, className, status) {\n if (!el || !className) { return; }\n\n if (Array.isArray(className)) {\n className.forEach(function (item) { return toggleClass(el, item, status); });\n return;\n }\n\n if (status) {\n return addClass(el, className);\n }\n\n removeClass(el, className);\n};\n\n/**\n * Converts an array-like object to array, provides a simple polyfill for Array.from\n */\nvar toArray = function (arrayLike) {\n if (isCallable(Array.from)) {\n return Array.from(arrayLike);\n }\n\n var array = [];\n var length = arrayLike.length;\n /* istanbul ignore next */\n for (var i = 0; i < length; i++) {\n array.push(arrayLike[i]);\n }\n\n /* istanbul ignore next */\n return array;\n};\n\n/**\n * Converts an array-like object to array and place other elements in an array\n */\nvar ensureArray = function (arrayLike) {\n if (Array.isArray(arrayLike)) {\n return [].concat( arrayLike );\n }\n var array = toArray(arrayLike);\n return isEmptyArray(array) ? [arrayLike] : array;\n};\n\n/**\n * Assign polyfill from the mdn.\n */\nvar assign = function (target) {\n var others = [], len = arguments.length - 1;\n while ( len-- > 0 ) others[ len ] = arguments[ len + 1 ];\n\n /* istanbul ignore else */\n if (isCallable(Object.assign)) {\n return Object.assign.apply(Object, [ target ].concat( others ));\n }\n\n /* istanbul ignore next */\n if (target == null) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n\n /* istanbul ignore next */\n var to = Object(target);\n /* istanbul ignore next */\n others.forEach(function (arg) {\n // Skip over if undefined or null\n if (arg != null) {\n Object.keys(arg).forEach(function (key) {\n to[key] = arg[key];\n });\n }\n });\n /* istanbul ignore next */\n return to;\n};\n\nvar id = 0;\nvar idTemplate = '{id}';\n\n/**\n * Generates a unique id.\n */\nvar uniqId = function () {\n // handle too many uses of uniqId, although unlikely.\n if (id >= 9999) {\n id = 0;\n // shift the template.\n idTemplate = idTemplate.replace('{id}', '_{id}');\n }\n\n id++;\n var newId = idTemplate.replace('{id}', String(id));\n\n return newId;\n};\n\nvar findIndex = function (arrayLike, predicate) {\n var array = Array.isArray(arrayLike) ? arrayLike : toArray(arrayLike);\n for (var i = 0; i < array.length; i++) {\n if (predicate(array[i])) {\n return i;\n }\n }\n\n return -1;\n};\n\n/**\n * finds the first element that satisfies the predicate callback, polyfills array.find\n */\nvar find = function (arrayLike, predicate) {\n var array = Array.isArray(arrayLike) ? arrayLike : toArray(arrayLike);\n var idx = findIndex(array, predicate);\n\n return idx === -1 ? undefined : array[idx];\n};\n\nvar isBuiltInComponent = function (vnode) {\n if (!vnode) {\n return false;\n }\n\n var tag = vnode.componentOptions.tag;\n\n return /^(keep-alive|transition|transition-group)$/.test(tag);\n};\n\nvar makeDelayObject = function (events, delay, delayConfig) {\n if (typeof delay === 'number') {\n return events.reduce(function (prev, e) {\n prev[e] = delay;\n return prev;\n }, {});\n }\n\n return events.reduce(function (prev, e) {\n if (typeof delay === 'object' && e in delay) {\n prev[e] = delay[e];\n return prev;\n }\n\n if (typeof delayConfig === 'number') {\n prev[e] = delayConfig;\n return prev;\n }\n\n prev[e] = (delayConfig && delayConfig[e]) || 0;\n\n return prev;\n }, {});\n};\n\nvar deepParseInt = function (input) {\n if (typeof input === 'number') { return input; }\n\n if (typeof input === 'string') { return parseInt(input); }\n\n var map = {};\n for (var element in input) {\n map[element] = parseInt(input[element]);\n }\n\n return map;\n};\n\nvar merge = function (target, source) {\n if (! (isObject(target) && isObject(source))) {\n return target;\n }\n\n Object.keys(source).forEach(function (key) {\n var obj, obj$1;\n\n if (isObject(source[key])) {\n if (! target[key]) {\n assign(target, ( obj = {}, obj[key] = {}, obj ));\n }\n\n merge(target[key], source[key]);\n return;\n }\n\n assign(target, ( obj$1 = {}, obj$1[key] = source[key], obj$1 ));\n });\n\n return target;\n};\n\nvar fillRulesFromElement = function (el, rules) {\n if (el.required) {\n rules = appendRule('required', rules);\n }\n\n if (isTextInput(el)) {\n if (el.type === 'email') {\n rules = appendRule((\"email\" + (el.multiple ? ':multiple' : '')), rules);\n }\n\n if (el.pattern) {\n rules = appendRule({ regex: el.pattern }, rules);\n }\n\n // 524288 is the max on some browsers and test environments.\n if (el.maxLength >= 0 && el.maxLength < 524288) {\n rules = appendRule((\"max:\" + (el.maxLength)), rules);\n }\n\n if (el.minLength > 0) {\n rules = appendRule((\"min:\" + (el.minLength)), rules);\n }\n\n if (el.type === 'number') {\n rules = appendRule('decimal', rules);\n if (el.min !== '') {\n rules = appendRule((\"min_value:\" + (el.min)), rules);\n }\n\n if (el.max !== '') {\n rules = appendRule((\"max_value:\" + (el.max)), rules);\n }\n }\n\n return rules;\n }\n\n if (isDateInput(el)) {\n var timeFormat = el.step && Number(el.step) < 60 ? 'HH:mm:ss' : 'HH:mm';\n\n if (el.type === 'date') {\n return appendRule('date_format:yyyy-MM-dd', rules);\n }\n\n if (el.type === 'datetime-local') {\n return appendRule((\"date_format:yyyy-MM-ddT\" + timeFormat), rules);\n }\n\n if (el.type === 'month') {\n return appendRule('date_format:yyyy-MM', rules);\n }\n\n if (el.type === 'week') {\n return appendRule('date_format:yyyy-[W]WW', rules);\n }\n\n if (el.type === 'time') {\n return appendRule((\"date_format:\" + timeFormat), rules);\n }\n }\n\n return rules;\n};\n\nvar values = function (obj) {\n if (isCallable(Object.values)) {\n return Object.values(obj);\n }\n\n // fallback to keys()\n /* istanbul ignore next */\n return Object.keys(obj).map(function (k) { return obj[k]; });\n};\n\nvar parseSelector = function (selector) {\n var rule = null;\n if (includes(selector, ':')) {\n rule = selector.split(':').pop();\n selector = selector.replace((\":\" + rule), '');\n }\n\n if (selector[0] === '#') {\n return {\n id: selector.slice(1),\n rule: rule,\n name: null,\n scope: null\n };\n }\n\n var scope = null;\n var name = selector;\n if (includes(selector, '.')) {\n var parts = selector.split('.');\n scope = parts[0];\n name = parts.slice(1).join('.');\n }\n\n return {\n id: null,\n scope: scope,\n name: name,\n rule: rule\n };\n};\n\nvar includes = function (collection, item) {\n return collection.indexOf(item) !== -1;\n};\n\nvar isEmptyArray = function (arr) {\n return Array.isArray(arr) && arr.length === 0;\n};\n\nvar defineNonReactive = function (obj, prop, value) {\n Object.defineProperty(obj, prop, {\n configurable: false,\n writable: true,\n value: value\n });\n};\n\n// \n\nvar LOCALE = 'en';\n\nvar Dictionary = function Dictionary (dictionary) {\n if ( dictionary === void 0 ) dictionary = {};\n\n this.container = {};\n this.merge(dictionary);\n};\n\nvar prototypeAccessors = { locale: { configurable: true } };\n\nprototypeAccessors.locale.get = function () {\n return LOCALE;\n};\n\nprototypeAccessors.locale.set = function (value) {\n LOCALE = value || 'en';\n};\n\nDictionary.prototype.hasLocale = function hasLocale (locale) {\n return !!this.container[locale];\n};\n\nDictionary.prototype.setDateFormat = function setDateFormat (locale, format) {\n if (!this.container[locale]) {\n this.container[locale] = {};\n }\n\n this.container[locale].dateFormat = format;\n};\n\nDictionary.prototype.getDateFormat = function getDateFormat (locale) {\n if (!this.container[locale] || !this.container[locale].dateFormat) {\n return null;\n }\n\n return this.container[locale].dateFormat;\n};\n\nDictionary.prototype.getMessage = function getMessage (locale, key, data) {\n var message = null;\n if (!this.hasMessage(locale, key)) {\n message = this._getDefaultMessage(locale);\n } else {\n message = this.container[locale].messages[key];\n }\n\n return isCallable(message) ? message.apply(void 0, data) : message;\n};\n\n/**\n * Gets a specific message for field. falls back to the rule message.\n */\nDictionary.prototype.getFieldMessage = function getFieldMessage (locale, field, key, data) {\n if (!this.hasLocale(locale)) {\n return this.getMessage(locale, key, data);\n }\n\n var dict = this.container[locale].custom && this.container[locale].custom[field];\n if (!dict || !dict[key]) {\n return this.getMessage(locale, key, data);\n }\n\n var message = dict[key];\n return isCallable(message) ? message.apply(void 0, data) : message;\n};\n\nDictionary.prototype._getDefaultMessage = function _getDefaultMessage (locale) {\n if (this.hasMessage(locale, '_default')) {\n return this.container[locale].messages._default;\n }\n\n return this.container.en.messages._default;\n};\n\nDictionary.prototype.getAttribute = function getAttribute (locale, key, fallback) {\n if ( fallback === void 0 ) fallback = '';\n\n if (!this.hasAttribute(locale, key)) {\n return fallback;\n }\n\n return this.container[locale].attributes[key];\n};\n\nDictionary.prototype.hasMessage = function hasMessage (locale, key) {\n return !! (\n this.hasLocale(locale) &&\n this.container[locale].messages &&\n this.container[locale].messages[key]\n );\n};\n\nDictionary.prototype.hasAttribute = function hasAttribute (locale, key) {\n return !! (\n this.hasLocale(locale) &&\n this.container[locale].attributes &&\n this.container[locale].attributes[key]\n );\n};\n\nDictionary.prototype.merge = function merge$1 (dictionary) {\n merge(this.container, dictionary);\n};\n\nDictionary.prototype.setMessage = function setMessage (locale, key, message) {\n if (! this.hasLocale(locale)) {\n this.container[locale] = {\n messages: {},\n attributes: {}\n };\n }\n \n if (!this.container[locale].messages) {\n this.container[locale].messages = {};\n }\n\n this.container[locale].messages[key] = message;\n};\n\nDictionary.prototype.setAttribute = function setAttribute (locale, key, attribute) {\n if (! this.hasLocale(locale)) {\n this.container[locale] = {\n messages: {},\n attributes: {}\n };\n }\n\n this.container[locale].attributes[key] = attribute;\n};\n\nObject.defineProperties( Dictionary.prototype, prototypeAccessors );\n\nvar drivers = {\n default: new Dictionary({\n en: {\n messages: {},\n attributes: {},\n custom: {}\n }\n })\n};\n\nvar currentDriver = 'default';\n\nvar DictionaryResolver = function DictionaryResolver () {};\n\nDictionaryResolver._checkDriverName = function _checkDriverName (driver) {\n if (!driver) {\n throw createError('you must provide a name to the dictionary driver');\n }\n};\n\nDictionaryResolver.setDriver = function setDriver (driver, implementation) {\n if ( implementation === void 0 ) implementation = null;\n\n this._checkDriverName(driver);\n if (implementation) {\n drivers[driver] = implementation;\n }\n\n currentDriver = driver;\n};\n\nDictionaryResolver.getDriver = function getDriver () {\n return drivers[currentDriver];\n};\n\n// \n\nvar ErrorBag = function ErrorBag (errorBag, id) {\n if ( errorBag === void 0 ) errorBag = null;\n if ( id === void 0 ) id = null;\n\n this.vmId = id || null;\n // make this bag a mirror of the provided one, sharing the same items reference.\n if (errorBag && errorBag instanceof ErrorBag) {\n this.items = errorBag.items;\n } else {\n this.items = [];\n }\n};\n\nErrorBag.prototype[typeof Symbol === 'function' ? Symbol.iterator : '@@iterator'] = function () {\n var this$1 = this;\n\n var index = 0;\n return {\n next: function () {\n return { value: this$1.items[index++], done: index > this$1.items.length };\n }\n };\n};\n\n/**\n * Adds an error to the internal array.\n */\nErrorBag.prototype.add = function add (error) {\n var ref;\n\n (ref = this.items).push.apply(\n ref, this._normalizeError(error)\n );\n};\n\n/**\n * Normalizes passed errors to an error array.\n */\nErrorBag.prototype._normalizeError = function _normalizeError (error) {\n var this$1 = this;\n\n if (Array.isArray(error)) {\n return error.map(function (e) {\n e.scope = !isNullOrUndefined(e.scope) ? e.scope : null;\n e.vmId = !isNullOrUndefined(e.vmId) ? e.vmId : (this$1.vmId || null);\n\n return e;\n });\n }\n\n error.scope = !isNullOrUndefined(error.scope) ? error.scope : null;\n error.vmId = !isNullOrUndefined(error.vmId) ? error.vmId : (this.vmId || null);\n\n return [error];\n};\n\n/**\n * Regenrates error messages if they have a generator function.\n */\nErrorBag.prototype.regenerate = function regenerate () {\n this.items.forEach(function (i) {\n i.msg = isCallable(i.regenerate) ? i.regenerate() : i.msg;\n });\n};\n\n/**\n * Updates a field error with the new field scope.\n */\nErrorBag.prototype.update = function update (id, error) {\n var item = find(this.items, function (i) { return i.id === id; });\n if (!item) {\n return;\n }\n\n var idx = this.items.indexOf(item);\n this.items.splice(idx, 1);\n item.scope = error.scope;\n this.items.push(item);\n};\n\n/**\n * Gets all error messages from the internal array.\n */\nErrorBag.prototype.all = function all (scope) {\n var this$1 = this;\n\n var filterFn = function (item) {\n var matchesScope = true;\n var matchesVM = true;\n if (!isNullOrUndefined(scope)) {\n matchesScope = item.scope === scope;\n }\n\n if (!isNullOrUndefined(this$1.vmId)) {\n matchesVM = item.vmId === this$1.vmId;\n }\n\n return matchesVM && matchesScope;\n };\n\n return this.items.filter(filterFn).map(function (e) { return e.msg; });\n};\n\n/**\n * Checks if there are any errors in the internal array.\n */\nErrorBag.prototype.any = function any (scope) {\n var this$1 = this;\n\n var filterFn = function (item) {\n var matchesScope = true;\n var matchesVM = true;\n if (!isNullOrUndefined(scope)) {\n matchesScope = item.scope === scope;\n }\n\n if (!isNullOrUndefined(this$1.vmId)) {\n matchesVM = item.vmId === this$1.vmId;\n }\n\n return matchesVM && matchesScope;\n };\n\n return !!this.items.filter(filterFn).length;\n};\n\n/**\n * Removes all items from the internal array.\n */\nErrorBag.prototype.clear = function clear (scope) {\n var this$1 = this;\n\n var matchesVM = isNullOrUndefined(this.vmId) ? function () { return true; } : function (i) { return i.vmId === this$1.vmId; };\n var matchesScope = function (i) { return i.scope === scope; };\n if (arguments.length === 0) {\n matchesScope = function () { return true; };\n } else if (isNullOrUndefined(scope)) {\n scope = null;\n }\n\n for (var i = 0; i < this.items.length; ++i) {\n if (matchesVM(this.items[i]) && matchesScope(this.items[i])) {\n this.items.splice(i, 1);\n --i;\n }\n }\n};\n\n/**\n * Collects errors into groups or for a specific field.\n */\nErrorBag.prototype.collect = function collect (field, scope, map) {\n var this$1 = this;\n if ( map === void 0 ) map = true;\n\n var isSingleField = !isNullOrUndefined(field) && !field.includes('*');\n var groupErrors = function (items) {\n var errors = items.reduce(function (collection, error) {\n if (!isNullOrUndefined(this$1.vmId) && error.vmId !== this$1.vmId) {\n return collection;\n }\n\n if (!collection[error.field]) {\n collection[error.field] = [];\n }\n\n collection[error.field].push(map ? error.msg : error);\n\n return collection;\n }, {});\n\n // reduce the collection to be a single array.\n if (isSingleField) {\n return values(errors)[0] || [];\n }\n\n return errors;\n };\n\n if (isNullOrUndefined(field)) {\n return groupErrors(this.items);\n }\n\n var selector = isNullOrUndefined(scope) ? String(field) : (scope + \".\" + field);\n var ref = this._makeCandidateFilters(selector);\n var isPrimary = ref.isPrimary;\n var isAlt = ref.isAlt;\n\n var collected = this.items.reduce(function (prev, curr) {\n if (isPrimary(curr)) {\n prev.primary.push(curr);\n }\n\n if (isAlt(curr)) {\n prev.alt.push(curr);\n }\n\n return prev;\n }, { primary: [], alt: [] });\n\n collected = collected.primary.length ? collected.primary : collected.alt;\n\n return groupErrors(collected);\n};\n\n/**\n * Gets the internal array length.\n */\nErrorBag.prototype.count = function count () {\n var this$1 = this;\n\n if (this.vmId) {\n return this.items.filter(function (e) { return e.vmId === this$1.vmId; }).length;\n }\n\n return this.items.length;\n};\n\n/**\n * Finds and fetches the first error message for the specified field id.\n */\nErrorBag.prototype.firstById = function firstById (id) {\n var error = find(this.items, function (i) { return i.id === id; });\n\n return error ? error.msg : undefined;\n};\n\n/**\n * Gets the first error message for a specific field.\n */\nErrorBag.prototype.first = function first (field, scope) {\n if ( scope === void 0 ) scope = null;\n\n var selector = isNullOrUndefined(scope) ? field : (scope + \".\" + field);\n var match = this._match(selector);\n\n return match && match.msg;\n};\n\n/**\n * Returns the first error rule for the specified field\n */\nErrorBag.prototype.firstRule = function firstRule (field, scope) {\n var errors = this.collect(field, scope, false);\n\n return (errors.length && errors[0].rule) || undefined;\n};\n\n/**\n * Checks if the internal array has at least one error for the specified field.\n */\nErrorBag.prototype.has = function has (field, scope) {\n if ( scope === void 0 ) scope = null;\n\n return !!this.first(field, scope);\n};\n\n/**\n * Gets the first error message for a specific field and a rule.\n */\nErrorBag.prototype.firstByRule = function firstByRule (name, rule, scope) {\n if ( scope === void 0 ) scope = null;\n\n var error = this.collect(name, scope, false).filter(function (e) { return e.rule === rule; })[0];\n\n return (error && error.msg) || undefined;\n};\n\n/**\n * Gets the first error message for a specific field that not match the rule.\n */\nErrorBag.prototype.firstNot = function firstNot (name, rule, scope) {\n if ( rule === void 0 ) rule = 'required';\n if ( scope === void 0 ) scope = null;\n\n var error = this.collect(name, scope, false).filter(function (e) { return e.rule !== rule; })[0];\n\n return (error && error.msg) || undefined;\n};\n\n/**\n * Removes errors by matching against the id or ids.\n */\nErrorBag.prototype.removeById = function removeById (id) {\n var condition = function (item) { return item.id === id; };\n if (Array.isArray(id)) {\n condition = function (item) { return id.indexOf(item.id) !== -1; };\n }\n\n for (var i = 0; i < this.items.length; ++i) {\n if (condition(this.items[i])) {\n this.items.splice(i, 1);\n --i;\n }\n }\n};\n\n/**\n * Removes all error messages associated with a specific field.\n */\nErrorBag.prototype.remove = function remove (field, scope, vmId) {\n if (isNullOrUndefined(field)) {\n return;\n }\n\n var selector = isNullOrUndefined(scope) ? String(field) : (scope + \".\" + field);\n var ref = this._makeCandidateFilters(selector);\n var isPrimary = ref.isPrimary;\n var isAlt = ref.isAlt;\n var matches = function (item) { return isPrimary(item) || isAlt(item); };\n var shouldRemove = function (item) {\n if (isNullOrUndefined(vmId)) { return matches(item); }\n\n return matches(item) && item.vmId === vmId;\n };\n\n for (var i = 0; i < this.items.length; ++i) {\n if (shouldRemove(this.items[i])) {\n this.items.splice(i, 1);\n --i;\n }\n }\n};\n\nErrorBag.prototype._makeCandidateFilters = function _makeCandidateFilters (selector) {\n var this$1 = this;\n\n var matchesRule = function () { return true; };\n var matchesScope = function () { return true; };\n var matchesName = function () { return true; };\n var matchesVM = function () { return true; };\n\n var ref = parseSelector(selector);\n var id = ref.id;\n var rule = ref.rule;\n var scope = ref.scope;\n var name = ref.name;\n\n if (rule) {\n matchesRule = function (item) { return item.rule === rule; };\n }\n\n // match by id, can be combined with rule selection.\n if (id) {\n return {\n isPrimary: function (item) { return matchesRule(item) && (function (item) { return id === item.id; }); },\n isAlt: function () { return false; }\n };\n }\n\n if (isNullOrUndefined(scope)) {\n // if no scope specified, make sure the found error has no scope.\n matchesScope = function (item) { return isNullOrUndefined(item.scope); };\n } else {\n matchesScope = function (item) { return item.scope === scope; };\n }\n\n if (!isNullOrUndefined(name) && name !== '*') {\n matchesName = function (item) { return item.field === name; };\n }\n\n if (!isNullOrUndefined(this.vmId)) {\n matchesVM = function (item) { return item.vmId === this$1.vmId; };\n }\n\n // matches the first candidate.\n var isPrimary = function (item) {\n return matchesVM(item) && matchesName(item) && matchesRule(item) && matchesScope(item);\n };\n\n // matches a second candidate, which is a field with a name containing the '.' character.\n var isAlt = function (item) {\n return matchesVM(item) && matchesRule(item) && item.field === (scope + \".\" + name);\n };\n\n return {\n isPrimary: isPrimary,\n isAlt: isAlt\n };\n};\n\nErrorBag.prototype._match = function _match (selector) {\n if (isNullOrUndefined(selector)) {\n return undefined;\n }\n\n var ref = this._makeCandidateFilters(selector);\n var isPrimary = ref.isPrimary;\n var isAlt = ref.isAlt;\n\n return this.items.reduce(function (prev, item, idx, arr) {\n var isLast = idx === arr.length - 1;\n if (prev.primary) {\n return isLast ? prev.primary : prev;\n }\n\n if (isPrimary(item)) {\n prev.primary = item;\n }\n\n if (isAlt(item)) {\n prev.alt = item;\n }\n\n // keep going.\n if (!isLast) {\n return prev;\n }\n\n return prev.primary || prev.alt;\n }, {});\n};\n\nvar DEFAULT_CONFIG = {\n locale: 'en',\n delay: 0,\n errorBagName: 'errors',\n dictionary: null,\n fieldsBagName: 'fields',\n classes: false,\n classNames: null,\n events: 'input',\n inject: true,\n fastExit: true,\n aria: true,\n validity: false,\n mode: 'aggressive',\n useConstraintAttrs: true,\n i18n: null,\n i18nRootKey: 'validation'\n};\n\nvar currentConfig = assign({}, DEFAULT_CONFIG);\n\nvar resolveConfig = function (ctx) {\n var selfConfig = getPath('$options.$_veeValidate', ctx, {});\n\n return assign({}, currentConfig, selfConfig);\n};\n\nvar getConfig = function () { return currentConfig; };\n\nvar setConfig = function (newConf) {\n currentConfig = assign({}, currentConfig, newConf);\n};\n\n// VNode Utils\n\n// Gets the model object on the vnode.\nfunction findModel (vnode) {\n if (!vnode.data) {\n return null;\n }\n\n // Component Model\n if (vnode.data.model) {\n return vnode.data.model;\n }\n\n return !!(vnode.data.directives) && find(vnode.data.directives, function (d) { return d.name === 'model'; });\n}\n\nfunction extractChildren (vnode) {\n if (Array.isArray(vnode)) {\n return vnode;\n }\n\n if (Array.isArray(vnode.children)) {\n return vnode.children;\n }\n\n if (vnode.componentOptions && Array.isArray(vnode.componentOptions.children)) {\n return vnode.componentOptions.children;\n }\n\n return [];\n}\n\nfunction extractVNodes (vnode) {\n if (findModel(vnode)) {\n return [vnode];\n }\n\n var children = extractChildren(vnode);\n\n return children.reduce(function (nodes, node) {\n var candidates = extractVNodes(node);\n if (candidates.length) {\n nodes.push.apply(nodes, candidates);\n }\n\n return nodes;\n }, []);\n}\n\n// Resolves v-model config if exists.\nfunction findModelConfig (vnode) {\n if (!vnode.componentOptions) { return null; }\n\n return vnode.componentOptions.Ctor.options.model;\n}\n// Adds a listener to vnode listener object.\nfunction mergeVNodeListeners (obj, eventName, handler) {\n // Has a single listener, convert to array.\n if (isCallable(obj[eventName])) {\n var prevHandler = obj[eventName];\n obj[eventName] = [prevHandler];\n }\n\n // no listeners, create the array.\n if (isNullOrUndefined(obj[eventName])) {\n obj[eventName] = [];\n }\n\n obj[eventName].push(handler);\n}\n\n// Adds a listener to a native HTML vnode.\nfunction addNativeNodeListener (node, eventName, handler) {\n if (isNullOrUndefined(node.data.on)) {\n node.data.on = {};\n }\n\n mergeVNodeListeners(node.data.on, eventName, handler);\n}\n\n// Adds a listener to a Vue component vnode.\nfunction addComponentNodeListener (node, eventName, handler) {\n /* istanbul ignore next */\n if (!node.componentOptions.listeners) {\n node.componentOptions.listeners = {};\n }\n\n mergeVNodeListeners(node.componentOptions.listeners, eventName, handler);\n}\nfunction addVNodeListener (vnode, eventName, handler) {\n if (vnode.componentOptions) {\n addComponentNodeListener(vnode, eventName, handler);\n return;\n }\n\n addNativeNodeListener(vnode, eventName, handler);\n}\n// Determines if `change` should be used over `input` for listeners.\nfunction getInputEventName (vnode, model) {\n // Is a component.\n if (vnode.componentOptions) {\n var ref = findModelConfig(vnode) || { event: 'input' };\n var event = ref.event;\n\n return event;\n }\n\n // Lazy Models and select tag typically use change event\n if ((model && model.modifiers && model.modifiers.lazy) || vnode.tag === 'select') {\n return 'change';\n }\n\n // is a textual-type input.\n if (vnode.data.attrs && isTextInput({ type: vnode.data.attrs.type || 'text' })) {\n return 'input';\n }\n\n return 'change';\n}\n\nfunction normalizeSlots (slots, ctx) {\n return Object.keys(slots).reduce(function (arr, key) {\n slots[key].forEach(function (vnode) {\n if (!vnode.context) {\n slots[key].context = ctx;\n if (!vnode.data) {\n vnode.data = {};\n }\n vnode.data.slot = key;\n }\n });\n\n return arr.concat(slots[key]);\n }, []);\n}\nfunction createRenderless (h, children) {\n // Only render the first item of the node.\n if (Array.isArray(children) && children[0]) {\n return children[0];\n }\n\n // a single node.\n if (children) {\n return children;\n }\n\n // No slots, render nothing.\n return h();\n}\n\n/**\n * Generates the options required to construct a field.\n */\nvar Resolver = function Resolver () {};\n\nResolver.generate = function generate (el, binding, vnode) {\n var model = Resolver.resolveModel(binding, vnode);\n var options = resolveConfig(vnode.context);\n\n return {\n name: Resolver.resolveName(el, vnode),\n el: el,\n listen: !binding.modifiers.disable,\n bails: binding.modifiers.bails ? true : (binding.modifiers.continues === true ? false : undefined),\n scope: Resolver.resolveScope(el, binding, vnode),\n vm: vnode.context,\n expression: binding.value,\n component: vnode.componentInstance,\n classes: options.classes,\n classNames: options.classNames,\n getter: Resolver.resolveGetter(el, vnode, model),\n events: Resolver.resolveEvents(el, vnode) || options.events,\n model: model,\n delay: Resolver.resolveDelay(el, vnode, options),\n rules: Resolver.resolveRules(el, binding, vnode),\n immediate: !!binding.modifiers.initial || !!binding.modifiers.immediate,\n persist: !!binding.modifiers.persist,\n validity: options.validity && !vnode.componentInstance,\n aria: options.aria && !vnode.componentInstance,\n initialValue: Resolver.resolveInitialValue(vnode)\n };\n};\n\nResolver.getCtorConfig = function getCtorConfig (vnode) {\n if (!vnode.componentInstance) { return null; }\n\n var config = getPath('componentInstance.$options.$_veeValidate', vnode);\n\n return config;\n};\n\n/**\n * Resolves the rules defined on an element.\n */\nResolver.resolveRules = function resolveRules (el, binding, vnode) {\n var rules = '';\n if (!binding.value && (!binding || !binding.expression)) {\n rules = getDataAttribute(el, 'rules');\n }\n\n if (binding.value && includes(['string', 'object'], typeof binding.value.rules)) {\n rules = binding.value.rules;\n } else if (binding.value) {\n rules = binding.value;\n }\n\n if (vnode.componentInstance) {\n return rules;\n }\n\n // If validity is disabled, ignore field rules.\n var normalized = normalizeRules(rules);\n if (!getConfig().useConstraintAttrs) {\n return normalized;\n }\n\n return assign({}, fillRulesFromElement(el, {}), normalized);\n};\n\n/**\n * @param {*} vnode\n */\nResolver.resolveInitialValue = function resolveInitialValue (vnode) {\n var model = vnode.data.model || find(vnode.data.directives, function (d) { return d.name === 'model'; });\n\n return model && model.value;\n};\n\n/**\n * Resolves the delay value.\n * @param {*} el\n * @param {*} vnode\n * @param {Object} options\n */\nResolver.resolveDelay = function resolveDelay (el, vnode, options) {\n var delay = getDataAttribute(el, 'delay');\n var globalDelay = (options && 'delay' in options) ? options.delay : 0;\n\n if (!delay && vnode.componentInstance && vnode.componentInstance.$attrs) {\n delay = vnode.componentInstance.$attrs['data-vv-delay'];\n }\n\n if (!isObject(globalDelay)) {\n return deepParseInt(delay || globalDelay);\n }\n\n if (!isNullOrUndefined(delay)) {\n globalDelay.input = delay;\n }\n\n return deepParseInt(globalDelay);\n};\n\n/**\n * Resolves the events to validate in response to.\n * @param {*} el\n * @param {*} vnode\n */\nResolver.resolveEvents = function resolveEvents (el, vnode) {\n // resolve it from the root element.\n var events = getDataAttribute(el, 'validate-on');\n\n // resolve from data-vv-validate-on if its a vue component.\n if (!events && vnode.componentInstance && vnode.componentInstance.$attrs) {\n events = vnode.componentInstance.$attrs['data-vv-validate-on'];\n }\n\n // resolve it from $_veeValidate options.\n if (!events && vnode.componentInstance) {\n var config = Resolver.getCtorConfig(vnode);\n events = config && config.events;\n }\n\n if (!events && getConfig().events) {\n events = getConfig().events;\n }\n\n // resolve the model event if its configured for custom components.\n if (events && vnode.componentInstance && includes(events, 'input')) {\n var ref = vnode.componentInstance.$options.model || { event: 'input' };\n var event = ref.event;\n // if the prop was configured but not the model.\n if (!event) {\n return events;\n }\n\n events = events.replace('input', event);\n }\n\n return events;\n};\n\n/**\n * Resolves the scope for the field.\n * @param {*} el\n * @param {*} binding\n */\nResolver.resolveScope = function resolveScope (el, binding, vnode) {\n if ( vnode === void 0 ) vnode = {};\n\n var scope = null;\n if (vnode.componentInstance && isNullOrUndefined(scope)) {\n scope = vnode.componentInstance.$attrs && vnode.componentInstance.$attrs['data-vv-scope'];\n }\n\n return !isNullOrUndefined(scope) ? scope : getScope(el);\n};\n\n/**\n * Checks if the node directives contains a v-model or a specified arg.\n * Args take priority over models.\n *\n * @return {Object}\n */\nResolver.resolveModel = function resolveModel (binding, vnode) {\n if (binding.arg) {\n return { expression: binding.arg };\n }\n\n var model = findModel(vnode);\n if (!model) {\n return null;\n }\n\n // https://github.com/vuejs/vue/blob/dev/src/core/util/lang.js#L26\n var watchable = !/[^\\w.$]/.test(model.expression) && hasPath(model.expression, vnode.context);\n var lazy = !!(model.modifiers && model.modifiers.lazy);\n\n if (!watchable) {\n return { expression: null, lazy: lazy };\n }\n\n return { expression: model.expression, lazy: lazy };\n};\n\n/**\n * Resolves the field name to trigger validations.\n * @return {String} The field name.\n */\nResolver.resolveName = function resolveName (el, vnode) {\n var name = getDataAttribute(el, 'name');\n\n if (!name && !vnode.componentInstance) {\n return el.name;\n }\n\n if (!name && vnode.componentInstance && vnode.componentInstance.$attrs) {\n name = vnode.componentInstance.$attrs['data-vv-name'] || vnode.componentInstance.$attrs['name'];\n }\n\n if (!name && vnode.componentInstance) {\n var config = Resolver.getCtorConfig(vnode);\n if (config && isCallable(config.name)) {\n var boundGetter = config.name.bind(vnode.componentInstance);\n\n return boundGetter();\n }\n\n return vnode.componentInstance.name;\n }\n\n return name;\n};\n\n/**\n * Returns a value getter input type.\n */\nResolver.resolveGetter = function resolveGetter (el, vnode, model) {\n if (model && model.expression) {\n return function () {\n return getPath(model.expression, vnode.context);\n };\n }\n\n if (vnode.componentInstance) {\n var path = getDataAttribute(el, 'value-path') || (vnode.componentInstance.$attrs && vnode.componentInstance.$attrs['data-vv-value-path']);\n if (path) {\n return function () {\n return getPath(path, vnode.componentInstance);\n };\n }\n\n var config = Resolver.getCtorConfig(vnode);\n if (config && isCallable(config.value)) {\n var boundGetter = config.value.bind(vnode.componentInstance);\n\n return function () {\n return boundGetter();\n };\n }\n\n var ref = vnode.componentInstance.$options.model || { prop: 'value' };\n var prop = ref.prop;\n\n return function () {\n return vnode.componentInstance[prop];\n };\n }\n\n switch (el.type) {\n case 'checkbox': return function () {\n var els = document.querySelectorAll((\"input[name=\\\"\" + (el.name) + \"\\\"]\"));\n\n els = toArray(els).filter(function (el) { return el.checked; });\n if (!els.length) { return undefined; }\n\n return els.map(function (checkbox) { return checkbox.value; });\n };\n case 'radio': return function () {\n var els = document.querySelectorAll((\"input[name=\\\"\" + (el.name) + \"\\\"]\"));\n var elm = find(els, function (el) { return el.checked; });\n\n return elm && elm.value;\n };\n case 'file': return function (context) {\n return toArray(el.files);\n };\n case 'select-multiple': return function () {\n return toArray(el.options).filter(function (opt) { return opt.selected; }).map(function (opt) { return opt.value; });\n };\n default: return function () {\n return el && el.value;\n };\n }\n};\n\nvar RULES = {};\n\nvar RuleContainer = function RuleContainer () {};\n\nvar staticAccessors = { rules: { configurable: true } };\n\nRuleContainer.add = function add (name, ref) {\n var validate = ref.validate;\n var options = ref.options;\n var paramNames = ref.paramNames;\n\n RULES[name] = {\n validate: validate,\n options: options,\n paramNames: paramNames\n };\n};\n\nstaticAccessors.rules.get = function () {\n return RULES;\n};\n\nRuleContainer.has = function has (name) {\n return !!RULES[name];\n};\n\nRuleContainer.isImmediate = function isImmediate (name) {\n return !!(RULES[name] && RULES[name].options.immediate);\n};\n\nRuleContainer.isRequireRule = function isRequireRule (name) {\n return !!(RULES[name] && RULES[name].options.computesRequired);\n};\n\nRuleContainer.isTargetRule = function isTargetRule (name) {\n return !!(RULES[name] && RULES[name].options.hasTarget);\n};\n\nRuleContainer.remove = function remove (ruleName) {\n delete RULES[ruleName];\n};\n\nRuleContainer.getParamNames = function getParamNames (ruleName) {\n return RULES[ruleName] && RULES[ruleName].paramNames;\n};\n\nRuleContainer.getOptions = function getOptions (ruleName) {\n return RULES[ruleName] && RULES[ruleName].options;\n};\n\nRuleContainer.getValidatorMethod = function getValidatorMethod (ruleName) {\n return RULES[ruleName] ? RULES[ruleName].validate : null;\n};\n\nObject.defineProperties( RuleContainer, staticAccessors );\n\n// \n\nvar isEvent = function (evt) {\n return (typeof Event !== 'undefined' && isCallable(Event) && evt instanceof Event) || (evt && evt.srcElement);\n};\n\nvar normalizeEvents = function (evts) {\n if (!evts) { return []; }\n\n return (typeof evts === 'string' ? evts.split('|') : evts);\n};\n\nvar supportsPassive = true;\n\nvar detectPassiveSupport = function () {\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 supportsPassive = false;\n }\n return supportsPassive;\n};\n\nvar addEventListener = function (el, eventName, cb) {\n el.addEventListener(eventName, cb, supportsPassive ? { passive: true } : false);\n};\n\n// \n\nvar DEFAULT_OPTIONS = {\n targetOf: null,\n immediate: false,\n persist: false,\n scope: null,\n listen: true,\n name: null,\n rules: {},\n vm: null,\n classes: false,\n validity: true,\n aria: true,\n events: 'input|blur',\n delay: 0,\n classNames: {\n touched: 'touched', // the control has been blurred\n untouched: 'untouched', // the control hasn't been blurred\n valid: 'valid', // model is valid\n invalid: 'invalid', // model is invalid\n pristine: 'pristine', // control has not been interacted with\n dirty: 'dirty' // control has been interacted with\n }\n};\n\nvar Field = function Field (options) {\n if ( options === void 0 ) options = {};\n\n this.id = uniqId();\n this.el = options.el;\n this.updated = false;\n this.vmId = options.vmId;\n defineNonReactive(this, 'dependencies', []);\n defineNonReactive(this, 'watchers', []);\n defineNonReactive(this, 'events', []);\n this.delay = 0;\n this.rules = {};\n this.forceRequired = false;\n this._cacheId(options);\n this.classNames = assign({}, DEFAULT_OPTIONS.classNames);\n options = assign({}, DEFAULT_OPTIONS, options);\n this._delay = !isNullOrUndefined(options.delay) ? options.delay : 0; // cache initial delay\n this.validity = options.validity;\n this.aria = options.aria;\n this.flags = options.flags || createFlags();\n defineNonReactive(this, 'vm', options.vm);\n defineNonReactive(this, 'componentInstance', options.component);\n this.ctorConfig = this.componentInstance ? getPath('$options.$_veeValidate', this.componentInstance) : undefined;\n this.update(options);\n // set initial value.\n this.initialValue = this.value;\n this.updated = false;\n};\n\nvar prototypeAccessors$1 = { validator: { configurable: true },isRequired: { configurable: true },isDisabled: { configurable: true },alias: { configurable: true },value: { configurable: true },bails: { configurable: true },rejectsFalse: { configurable: true } };\n\nprototypeAccessors$1.validator.get = function () {\n if (!this.vm || !this.vm.$validator) {\n return { validate: function () { return Promise.resolve(true); } };\n }\n\n return this.vm.$validator;\n};\n\nprototypeAccessors$1.isRequired.get = function () {\n return !!this.rules.required || this.forceRequired;\n};\n\nprototypeAccessors$1.isDisabled.get = function () {\n return !!(this.el && this.el.disabled);\n};\n\n/**\n * Gets the display name (user-friendly name).\n */\nprototypeAccessors$1.alias.get = function () {\n if (this._alias) {\n return this._alias;\n }\n\n var alias = null;\n if (this.ctorConfig && this.ctorConfig.alias) {\n alias = isCallable(this.ctorConfig.alias) ? this.ctorConfig.alias.call(this.componentInstance) : this.ctorConfig.alias;\n }\n\n if (!alias && this.el) {\n alias = getDataAttribute(this.el, 'as');\n }\n\n if (!alias && this.componentInstance) {\n return this.componentInstance.$attrs && this.componentInstance.$attrs['data-vv-as'];\n }\n\n return alias;\n};\n\n/**\n * Gets the input value.\n */\n\nprototypeAccessors$1.value.get = function () {\n if (!isCallable(this.getter)) {\n return undefined;\n }\n\n return this.getter();\n};\n\nprototypeAccessors$1.bails.get = function () {\n return this._bails;\n};\n\n/**\n * If the field rejects false as a valid value for the required rule.\n */\n\nprototypeAccessors$1.rejectsFalse.get = function () {\n if (this.componentInstance && this.ctorConfig) {\n return !!this.ctorConfig.rejectsFalse;\n }\n\n if (!this.el) {\n return false;\n }\n\n return this.el.type === 'checkbox';\n};\n\n/**\n * Determines if the instance matches the options provided.\n */\nField.prototype.matches = function matches (options) {\n var this$1 = this;\n\n if (!options) {\n return true;\n }\n\n if (options.id) {\n return this.id === options.id;\n }\n\n var matchesComponentId = isNullOrUndefined(options.vmId) ? function () { return true; } : function (id) { return id === this$1.vmId; };\n if (!matchesComponentId(options.vmId)) {\n return false;\n }\n\n if (options.name === undefined && options.scope === undefined) {\n return true;\n }\n\n if (options.scope === undefined) {\n return this.name === options.name;\n }\n\n if (options.name === undefined) {\n return this.scope === options.scope;\n }\n\n return options.name === this.name && options.scope === this.scope;\n};\n\n/**\n * Caches the field id.\n */\nField.prototype._cacheId = function _cacheId (options) {\n if (this.el && !options.targetOf) {\n this.el._veeValidateId = this.id;\n }\n};\n\n/**\n * Keeps a reference of the most current validation run.\n */\nField.prototype.waitFor = function waitFor (pendingPromise) {\n this._waitingFor = pendingPromise;\n};\n\nField.prototype.isWaitingFor = function isWaitingFor (promise) {\n return this._waitingFor === promise;\n};\n\n/**\n * Updates the field with changed data.\n */\nField.prototype.update = function update (options) {\n var this$1 = this;\n\n this.targetOf = options.targetOf || null;\n this.immediate = options.immediate || this.immediate || false;\n this.persist = options.persist || this.persist || false;\n\n // update errors scope if the field scope was changed.\n if (!isNullOrUndefined(options.scope) && options.scope !== this.scope && isCallable(this.validator.update)) {\n this.validator.update(this.id, { scope: options.scope });\n }\n this.scope = !isNullOrUndefined(options.scope) ? options.scope\n : !isNullOrUndefined(this.scope) ? this.scope : null;\n this.name = (!isNullOrUndefined(options.name) ? String(options.name) : options.name) || this.name || null;\n this.rules = options.rules !== undefined ? normalizeRules(options.rules) : this.rules;\n this._bails = options.bails !== undefined ? options.bails : this._bails;\n this.model = options.model || this.model;\n this.listen = options.listen !== undefined ? options.listen : this.listen;\n this.classes = (options.classes || this.classes || false) && !this.componentInstance;\n this.classNames = isObject(options.classNames) ? merge(this.classNames, options.classNames) : this.classNames;\n this.getter = isCallable(options.getter) ? options.getter : this.getter;\n this._alias = options.alias || this._alias;\n this.events = (options.events) ? normalizeEvents(options.events) : this.events;\n this.delay = makeDelayObject(this.events, options.delay || this.delay, this._delay);\n this.updateDependencies();\n this.addActionListeners();\n\n if (process.env.NODE_ENV !== 'production' && !this.name && !this.targetOf) {\n warn('A field is missing a \"name\" or \"data-vv-name\" attribute');\n }\n\n // update required flag flags\n if (options.rules !== undefined) {\n this.flags.required = this.isRequired;\n }\n\n if (Object.keys(options.rules || {}).length === 0 && this.updated) {\n var resetFlag = this.flags.validated;\n this.validator.validate((\"#\" + (this.id))).then(function () {\n this$1.flags.validated = resetFlag;\n });\n }\n\n // validate if it was validated before and field was updated and there was a rules mutation.\n if (this.flags.validated && options.rules !== undefined && this.updated) {\n this.validator.validate((\"#\" + (this.id)));\n }\n\n this.updated = true;\n this.addValueListeners();\n\n // no need to continue.\n if (!this.el) {\n return;\n }\n this.updateClasses();\n this.updateAriaAttrs();\n};\n\n/**\n * Resets field flags and errors.\n */\nField.prototype.reset = function reset () {\n var this$1 = this;\n\n if (this._cancellationToken) {\n this._cancellationToken.cancelled = true;\n delete this._cancellationToken;\n }\n\n var defaults = createFlags();\n Object.keys(this.flags).filter(function (flag) { return flag !== 'required'; }).forEach(function (flag) {\n this$1.flags[flag] = defaults[flag];\n });\n\n // update initial value\n this.initialValue = this.value;\n this.flags.changed = false;\n\n this.addValueListeners();\n this.addActionListeners();\n this.updateClasses(true);\n this.updateAriaAttrs();\n this.updateCustomValidity();\n};\n\n/**\n * Sets the flags and their negated counterparts, and updates the classes and re-adds action listeners.\n */\nField.prototype.setFlags = function setFlags (flags) {\n var this$1 = this;\n\n var negated = {\n pristine: 'dirty',\n dirty: 'pristine',\n valid: 'invalid',\n invalid: 'valid',\n touched: 'untouched',\n untouched: 'touched'\n };\n\n Object.keys(flags).forEach(function (flag) {\n this$1.flags[flag] = flags[flag];\n // if it has a negation and was not specified, set it as well.\n if (negated[flag] && flags[negated[flag]] === undefined) {\n this$1.flags[negated[flag]] = !flags[flag];\n }\n });\n\n if (\n flags.untouched !== undefined ||\n flags.touched !== undefined ||\n flags.dirty !== undefined ||\n flags.pristine !== undefined\n ) {\n this.addActionListeners();\n }\n this.updateClasses();\n this.updateAriaAttrs();\n this.updateCustomValidity();\n};\n\n/**\n * Determines if the field requires references to target fields.\n*/\nField.prototype.updateDependencies = function updateDependencies () {\n var this$1 = this;\n\n // reset dependencies.\n this.dependencies.forEach(function (d) { return d.field.destroy(); });\n this.dependencies = [];\n\n // we get the selectors for each field.\n var fields = Object.keys(this.rules).reduce(function (prev, r) {\n if (RuleContainer.isTargetRule(r)) {\n prev.push({ selector: this$1.rules[r][0], name: r });\n }\n\n return prev;\n }, []);\n\n if (!fields.length || !this.vm || !this.vm.$el) { return; }\n\n // must be contained within the same component, so we use the vm root element constrain our dom search.\n fields.forEach(function (ref$1) {\n var selector = ref$1.selector;\n var name = ref$1.name;\n\n var ref = this$1.vm.$refs[selector];\n var el = Array.isArray(ref) ? ref[0] : ref;\n if (!el) {\n return;\n }\n\n var options = {\n vm: this$1.vm,\n classes: this$1.classes,\n classNames: this$1.classNames,\n delay: this$1.delay,\n scope: this$1.scope,\n events: this$1.events.join('|'),\n immediate: this$1.immediate,\n targetOf: this$1.id\n };\n\n // probably a component.\n if (isCallable(el.$watch)) {\n options.component = el;\n options.el = el.$el;\n options.getter = Resolver.resolveGetter(el.$el, el.$vnode);\n } else {\n options.el = el;\n options.getter = Resolver.resolveGetter(el, {});\n }\n\n this$1.dependencies.push({ name: name, field: new Field(options) });\n });\n};\n\n/**\n * Removes listeners.\n */\nField.prototype.unwatch = function unwatch (tag) {\n if ( tag === void 0 ) tag = null;\n\n if (!tag) {\n this.watchers.forEach(function (w) { return w.unwatch(); });\n this.watchers = [];\n return;\n }\n\n this.watchers.filter(function (w) { return tag.test(w.tag); }).forEach(function (w) { return w.unwatch(); });\n this.watchers = this.watchers.filter(function (w) { return !tag.test(w.tag); });\n};\n\n/**\n * Updates the element classes depending on each field flag status.\n */\nField.prototype.updateClasses = function updateClasses (isReset) {\n var this$1 = this;\n if ( isReset === void 0 ) isReset = false;\n\n if (!this.classes || this.isDisabled) { return; }\n var applyClasses = function (el) {\n toggleClass(el, this$1.classNames.dirty, this$1.flags.dirty);\n toggleClass(el, this$1.classNames.pristine, this$1.flags.pristine);\n toggleClass(el, this$1.classNames.touched, this$1.flags.touched);\n toggleClass(el, this$1.classNames.untouched, this$1.flags.untouched);\n\n // remove valid/invalid classes on reset.\n if (isReset) {\n toggleClass(el, this$1.classNames.valid, false);\n toggleClass(el, this$1.classNames.invalid, false);\n }\n\n // make sure we don't set any classes if the state is undetermined.\n if (!isNullOrUndefined(this$1.flags.valid) && this$1.flags.validated) {\n toggleClass(el, this$1.classNames.valid, this$1.flags.valid);\n }\n\n if (!isNullOrUndefined(this$1.flags.invalid) && this$1.flags.validated) {\n toggleClass(el, this$1.classNames.invalid, this$1.flags.invalid);\n }\n };\n\n if (!isCheckboxOrRadioInput(this.el)) {\n applyClasses(this.el);\n return;\n }\n\n var els = document.querySelectorAll((\"input[name=\\\"\" + (this.el.name) + \"\\\"]\"));\n toArray(els).forEach(applyClasses);\n};\n\n/**\n * Adds the listeners required for automatic classes and some flags.\n */\nField.prototype.addActionListeners = function addActionListeners () {\n var this$1 = this;\n\n // remove previous listeners.\n this.unwatch(/class/);\n\n if (!this.el) { return; }\n\n var onBlur = function () {\n this$1.flags.touched = true;\n this$1.flags.untouched = false;\n if (this$1.classes) {\n toggleClass(this$1.el, this$1.classNames.touched, true);\n toggleClass(this$1.el, this$1.classNames.untouched, false);\n }\n\n // only needed once.\n this$1.unwatch(/^class_blur$/);\n };\n\n var inputEvent = isTextInput(this.el) ? 'input' : 'change';\n var onInput = function () {\n this$1.flags.dirty = true;\n this$1.flags.pristine = false;\n if (this$1.classes) {\n toggleClass(this$1.el, this$1.classNames.pristine, false);\n toggleClass(this$1.el, this$1.classNames.dirty, true);\n }\n\n // only needed once.\n this$1.unwatch(/^class_input$/);\n };\n\n if (this.componentInstance && isCallable(this.componentInstance.$once)) {\n this.componentInstance.$once('input', onInput);\n this.componentInstance.$once('blur', onBlur);\n this.watchers.push({\n tag: 'class_input',\n unwatch: function () {\n this$1.componentInstance.$off('input', onInput);\n }\n });\n this.watchers.push({\n tag: 'class_blur',\n unwatch: function () {\n this$1.componentInstance.$off('blur', onBlur);\n }\n });\n return;\n }\n\n if (!this.el) { return; }\n\n addEventListener(this.el, inputEvent, onInput);\n // Checkboxes and radio buttons on Mac don't emit blur naturally, so we listen on click instead.\n var blurEvent = isCheckboxOrRadioInput(this.el) ? 'change' : 'blur';\n addEventListener(this.el, blurEvent, onBlur);\n this.watchers.push({\n tag: 'class_input',\n unwatch: function () {\n this$1.el.removeEventListener(inputEvent, onInput);\n }\n });\n\n this.watchers.push({\n tag: 'class_blur',\n unwatch: function () {\n this$1.el.removeEventListener(blurEvent, onBlur);\n }\n });\n};\n\nField.prototype.checkValueChanged = function checkValueChanged () {\n // handle some people initialize the value to null, since text inputs have empty string value.\n if (this.initialValue === null && this.value === '' && isTextInput(this.el)) {\n return false;\n }\n\n return this.value !== this.initialValue;\n};\n\n/**\n * Determines the suitable primary event to listen for.\n */\nField.prototype._determineInputEvent = function _determineInputEvent () {\n // if its a custom component, use the customized model event or the input event.\n if (this.componentInstance) {\n return (this.componentInstance.$options.model && this.componentInstance.$options.model.event) || 'input';\n }\n\n if (this.model && this.model.lazy) {\n return 'change';\n }\n\n if (isTextInput(this.el)) {\n return 'input';\n }\n\n return 'change';\n};\n\n/**\n * Determines the list of events to listen to.\n */\nField.prototype._determineEventList = function _determineEventList (defaultInputEvent) {\n var this$1 = this;\n\n // if no event is configured, or it is a component or a text input then respect the user choice.\n if (!this.events.length || this.componentInstance || isTextInput(this.el)) {\n return [].concat( this.events ).map(function (evt) {\n if (evt === 'input' && this$1.model && this$1.model.lazy) {\n return 'change';\n }\n\n return evt;\n });\n }\n\n // force suitable event for non-text type fields.\n return this.events.map(function (e) {\n if (e === 'input') {\n return defaultInputEvent;\n }\n\n return e;\n });\n};\n\n/**\n * Adds the listeners required for validation.\n */\nField.prototype.addValueListeners = function addValueListeners () {\n var this$1 = this;\n\n this.unwatch(/^input_.+/);\n if (!this.listen || !this.el) { return; }\n\n var token = { cancelled: false };\n var fn = this.targetOf ? function () {\n var target = this$1.validator._resolveField((\"#\" + (this$1.targetOf)));\n if (target && target.flags.validated) {\n this$1.validator.validate((\"#\" + (this$1.targetOf)));\n }\n } : function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n // if its a DOM event, resolve the value, otherwise use the first parameter as the value.\n if (args.length === 0 || isEvent(args[0])) {\n args[0] = this$1.value;\n }\n\n this$1.flags.pending = true;\n this$1._cancellationToken = token;\n this$1.validator.validate((\"#\" + (this$1.id)), args[0]);\n };\n\n var inputEvent = this._determineInputEvent();\n var events = this._determineEventList(inputEvent);\n\n // if on input validation is requested.\n if (includes(events, inputEvent)) {\n var ctx = null;\n var expression = null;\n var watchCtxVm = false;\n // if its watchable from the context vm.\n if (this.model && this.model.expression) {\n ctx = this.vm;\n expression = this.model.expression;\n watchCtxVm = true;\n }\n\n // watch it from the custom component vm instead.\n if (!expression && this.componentInstance && this.componentInstance.$options.model) {\n ctx = this.componentInstance;\n expression = this.componentInstance.$options.model.prop || 'value';\n }\n\n if (ctx && expression) {\n var debouncedFn = debounce(fn, this.delay[inputEvent], token);\n var unwatch = ctx.$watch(expression, debouncedFn);\n this.watchers.push({\n tag: 'input_model',\n unwatch: function () {\n this$1.vm.$nextTick(function () {\n unwatch();\n });\n }\n });\n\n // filter out input event when we are watching from the context vm.\n if (watchCtxVm) {\n events = events.filter(function (e) { return e !== inputEvent; });\n }\n }\n }\n\n // Add events.\n events.forEach(function (e) {\n var debouncedFn = debounce(fn, this$1.delay[e], token);\n\n this$1._addComponentEventListener(e, debouncedFn);\n this$1._addHTMLEventListener(e, debouncedFn);\n });\n};\n\nField.prototype._addComponentEventListener = function _addComponentEventListener (evt, validate) {\n var this$1 = this;\n\n if (!this.componentInstance) { return; }\n\n this.componentInstance.$on(evt, validate);\n this.watchers.push({\n tag: 'input_vue',\n unwatch: function () {\n this$1.componentInstance.$off(evt, validate);\n }\n });\n};\n\nField.prototype._addHTMLEventListener = function _addHTMLEventListener (evt, validate) {\n var this$1 = this;\n\n if (!this.el || this.componentInstance) { return; }\n\n // listen for the current element.\n var addListener = function (el) {\n addEventListener(el, evt, validate);\n this$1.watchers.push({\n tag: 'input_native',\n unwatch: function () {\n el.removeEventListener(evt, validate);\n }\n });\n };\n\n addListener(this.el);\n if (!isCheckboxOrRadioInput(this.el)) {\n return;\n }\n\n var els = document.querySelectorAll((\"input[name=\\\"\" + (this.el.name) + \"\\\"]\"));\n toArray(els).forEach(function (el) {\n // skip if it is added by v-validate and is not the current element.\n if (el._veeValidateId && el !== this$1.el) {\n return;\n }\n\n addListener(el);\n });\n};\n\n/**\n * Updates aria attributes on the element.\n */\nField.prototype.updateAriaAttrs = function updateAriaAttrs () {\n var this$1 = this;\n\n if (!this.aria || !this.el || !isCallable(this.el.setAttribute)) { return; }\n\n var applyAriaAttrs = function (el) {\n el.setAttribute('aria-required', this$1.isRequired ? 'true' : 'false');\n el.setAttribute('aria-invalid', this$1.flags.invalid ? 'true' : 'false');\n };\n\n if (!isCheckboxOrRadioInput(this.el)) {\n applyAriaAttrs(this.el);\n return;\n }\n\n var els = document.querySelectorAll((\"input[name=\\\"\" + (this.el.name) + \"\\\"]\"));\n toArray(els).forEach(applyAriaAttrs);\n};\n\n/**\n * Updates the custom validity for the field.\n */\nField.prototype.updateCustomValidity = function updateCustomValidity () {\n if (!this.validity || !this.el || !isCallable(this.el.setCustomValidity) || !this.validator.errors) { return; }\n\n this.el.setCustomValidity(this.flags.valid ? '' : (this.validator.errors.firstById(this.id) || ''));\n};\n\n/**\n * Removes all listeners.\n */\nField.prototype.destroy = function destroy () {\n // ignore the result of any ongoing validation.\n if (this._cancellationToken) {\n this._cancellationToken.cancelled = true;\n }\n\n this.unwatch();\n this.dependencies.forEach(function (d) { return d.field.destroy(); });\n this.dependencies = [];\n};\n\nObject.defineProperties( Field.prototype, prototypeAccessors$1 );\n\n// \n\nvar FieldBag = function FieldBag (items) {\n if ( items === void 0 ) items = [];\n\n this.items = items || [];\n this.itemsById = this.items.reduce(function (itemsById, item) {\n itemsById[item.id] = item;\n return itemsById;\n }, {});\n};\n\nvar prototypeAccessors$2 = { length: { configurable: true } };\n\nFieldBag.prototype[typeof Symbol === 'function' ? Symbol.iterator : '@@iterator'] = function () {\n var this$1 = this;\n\n var index = 0;\n return {\n next: function () {\n return { value: this$1.items[index++], done: index > this$1.items.length };\n }\n };\n};\n\n/**\n * Gets the current items length.\n */\n\nprototypeAccessors$2.length.get = function () {\n return this.items.length;\n};\n\n/**\n * Finds the first field that matches the provided matcher object.\n */\nFieldBag.prototype.find = function find$1 (matcher) {\n return find(this.items, function (item) { return item.matches(matcher); });\n};\n\n/**\n * Finds the field with the given id, using a plain object as a map to link\n * ids to items faster than by looping over the array and matching.\n */\nFieldBag.prototype.findById = function findById (id) {\n return this.itemsById[id] || null;\n};\n\n/**\n * Filters the items down to the matched fields.\n */\nFieldBag.prototype.filter = function filter (matcher) {\n // multiple matchers to be tried.\n if (Array.isArray(matcher)) {\n return this.items.filter(function (item) { return matcher.some(function (m) { return item.matches(m); }); });\n }\n\n return this.items.filter(function (item) { return item.matches(matcher); });\n};\n\n/**\n * Maps the field items using the mapping function.\n */\nFieldBag.prototype.map = function map (mapper) {\n return this.items.map(mapper);\n};\n\n/**\n * Finds and removes the first field that matches the provided matcher object, returns the removed item.\n */\nFieldBag.prototype.remove = function remove (matcher) {\n var item = null;\n if (matcher instanceof Field) {\n item = matcher;\n } else {\n item = this.find(matcher);\n }\n\n if (!item) { return null; }\n\n var index = this.items.indexOf(item);\n this.items.splice(index, 1);\n delete this.itemsById[item.id];\n\n return item;\n};\n\n/**\n * Adds a field item to the list.\n */\nFieldBag.prototype.push = function push (item) {\n if (! (item instanceof Field)) {\n throw createError('FieldBag only accepts instances of Field that has an id defined.');\n }\n\n if (!item.id) {\n throw createError('Field id must be defined.');\n }\n\n if (this.findById(item.id)) {\n throw createError((\"Field with id \" + (item.id) + \" is already added.\"));\n }\n\n this.items.push(item);\n this.itemsById[item.id] = item;\n};\n\nObject.defineProperties( FieldBag.prototype, prototypeAccessors$2 );\n\nvar ScopedValidator = function ScopedValidator (base, vm) {\n this.id = vm._uid;\n this._base = base;\n this._paused = false;\n\n // create a mirror bag with limited component scope.\n this.errors = new ErrorBag(base.errors, this.id);\n};\n\nvar prototypeAccessors$3 = { flags: { configurable: true },rules: { configurable: true },fields: { configurable: true },dictionary: { configurable: true },locale: { configurable: true } };\n\nprototypeAccessors$3.flags.get = function () {\n var this$1 = this;\n\n return this._base.fields.items.filter(function (f) { return f.vmId === this$1.id; }).reduce(function (acc, field) {\n if (field.scope) {\n if (!acc[(\"$\" + (field.scope))]) {\n acc[(\"$\" + (field.scope))] = {};\n }\n\n acc[(\"$\" + (field.scope))][field.name] = field.flags;\n }\n\n acc[field.name] = field.flags;\n\n return acc;\n }, {});\n};\n\nprototypeAccessors$3.rules.get = function () {\n return this._base.rules;\n};\n\nprototypeAccessors$3.fields.get = function () {\n return new FieldBag(this._base.fields.filter({ vmId: this.id }));\n};\n\nprototypeAccessors$3.dictionary.get = function () {\n return this._base.dictionary;\n};\n\nprototypeAccessors$3.locale.get = function () {\n return this._base.locale;\n};\n\nprototypeAccessors$3.locale.set = function (val) {\n this._base.locale = val;\n};\n\nScopedValidator.prototype.localize = function localize () {\n var ref;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n return (ref = this._base).localize.apply(ref, args);\n};\n\nScopedValidator.prototype.update = function update () {\n var ref;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n return (ref = this._base).update.apply(ref, args);\n};\n\nScopedValidator.prototype.attach = function attach (opts) {\n var attachOpts = assign({}, opts, { vmId: this.id });\n\n return this._base.attach(attachOpts);\n};\n\nScopedValidator.prototype.pause = function pause () {\n this._paused = true;\n};\n\nScopedValidator.prototype.resume = function resume () {\n this._paused = false;\n};\n\nScopedValidator.prototype.remove = function remove (ruleName) {\n return this._base.remove(ruleName);\n};\n\nScopedValidator.prototype.detach = function detach (name, scope) {\n return this._base.detach(name, scope, this.id);\n};\n\nScopedValidator.prototype.extend = function extend () {\n var ref;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n return (ref = this._base).extend.apply(ref, args);\n};\n\nScopedValidator.prototype.validate = function validate (descriptor, value, opts) {\n if ( opts === void 0 ) opts = {};\n\n if (this._paused) { return Promise.resolve(true); }\n\n return this._base.validate(descriptor, value, assign({}, { vmId: this.id }, opts || {}));\n};\n\nScopedValidator.prototype.verify = function verify () {\n var ref;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n return (ref = this._base).verify.apply(ref, args);\n};\n\nScopedValidator.prototype.validateAll = function validateAll (values, opts) {\n if ( opts === void 0 ) opts = {};\n\n if (this._paused) { return Promise.resolve(true); }\n\n return this._base.validateAll(values, assign({}, { vmId: this.id }, opts || {}));\n};\n\nScopedValidator.prototype.validateScopes = function validateScopes (opts) {\n if ( opts === void 0 ) opts = {};\n\n if (this._paused) { return Promise.resolve(true); }\n\n return this._base.validateScopes(assign({}, { vmId: this.id }, opts || {}));\n};\n\nScopedValidator.prototype.destroy = function destroy () {\n delete this.id;\n delete this._base;\n};\n\nScopedValidator.prototype.reset = function reset (matcher) {\n return this._base.reset(Object.assign({}, matcher || {}, { vmId: this.id }));\n};\n\nScopedValidator.prototype.flag = function flag () {\n var ref;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n return (ref = this._base).flag.apply(ref, args.concat( [this.id] ));\n};\n\nScopedValidator.prototype._resolveField = function _resolveField () {\n var ref;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n return (ref = this._base)._resolveField.apply(ref, args);\n};\n\nObject.defineProperties( ScopedValidator.prototype, prototypeAccessors$3 );\n\nvar VALIDATOR = null;\n\nvar getValidator = function () {\n return VALIDATOR;\n};\n\nvar setValidator = function (value) {\n VALIDATOR = value;\n\n return value;\n};\n\n// \n\n/**\n * Checks if a parent validator instance was requested.\n */\nvar requestsValidator = function (injections) {\n if (isObject(injections) && injections.$validator) {\n return true;\n }\n\n return false;\n};\n\nvar mixin = {\n provide: function provide () {\n if (this.$validator && !isBuiltInComponent(this.$vnode)) {\n return {\n $validator: this.$validator\n };\n }\n\n return {};\n },\n beforeCreate: function beforeCreate () {\n // if built in do nothing.\n if (isBuiltInComponent(this.$vnode) || this.$options.$__veeInject === false) {\n return;\n }\n\n // if its a root instance set the config if it exists.\n if (!this.$parent) {\n setConfig(this.$options.$_veeValidate || {});\n }\n\n var options = resolveConfig(this);\n\n // if its a root instance, inject anyways, or if it requested a new instance.\n if (!this.$parent || (this.$options.$_veeValidate && /new/.test(this.$options.$_veeValidate.validator))) {\n this.$validator = new ScopedValidator(getValidator(), this);\n }\n\n var requested = requestsValidator(this.$options.inject);\n\n // if automatic injection is enabled and no instance was requested.\n if (! this.$validator && options.inject && !requested) {\n this.$validator = new ScopedValidator(getValidator(), this);\n }\n\n // don't inject errors or fieldBag as no validator was resolved.\n if (!requested && !this.$validator) {\n return;\n }\n\n // There is a validator but it isn't injected, mark as reactive.\n if (!requested && this.$validator) {\n var Vue = this.$options._base; // the vue constructor.\n Vue.util.defineReactive(this.$validator, 'errors', this.$validator.errors);\n }\n\n if (!this.$options.computed) {\n this.$options.computed = {};\n }\n\n this.$options.computed[options.errorBagName || 'errors'] = function errorBagGetter () {\n return this.$validator.errors;\n };\n this.$options.computed[options.fieldsBagName || 'fields'] = function fieldBagGetter () {\n return this.$validator.fields.items.reduce(function (acc, field) {\n if (field.scope) {\n if (!acc[(\"$\" + (field.scope))]) {\n acc[(\"$\" + (field.scope))] = {};\n }\n\n acc[(\"$\" + (field.scope))][field.name] = field.flags;\n\n return acc;\n }\n\n acc[field.name] = field.flags;\n\n return acc;\n }, {});\n };\n },\n beforeDestroy: function beforeDestroy () {\n if (this.$validator && this._uid === this.$validator.id) {\n this.$validator.errors.clear(); // remove errors generated by this component.\n }\n }\n};\n\n// \n\n/**\n * Finds the requested field by id from the context object.\n */\nfunction findField (el, context) {\n if (!context || !context.$validator) {\n return null;\n }\n\n return context.$validator.fields.findById(el._veeValidateId);\n}\nvar directive = {\n bind: function bind (el, binding, vnode) {\n var validator = vnode.context.$validator;\n if (!validator) {\n if (process.env.NODE_ENV !== 'production') {\n warn(\"No validator instance is present on vm, did you forget to inject '$validator'?\");\n }\n\n return;\n }\n\n var fieldOptions = Resolver.generate(el, binding, vnode);\n validator.attach(fieldOptions);\n },\n inserted: function inserted (el, binding, vnode) {\n var field = findField(el, vnode.context);\n var scope = Resolver.resolveScope(el, binding, vnode);\n\n // skip if scope hasn't changed.\n if (!field || scope === field.scope) { return; }\n\n // only update scope.\n field.update({ scope: scope });\n\n // allows the field to re-evaluated once more in the update hook.\n field.updated = false;\n },\n update: function update (el, binding, vnode) {\n var field = findField(el, vnode.context);\n\n // make sure we don't do unneccasary work if no important change was done.\n if (!field || (field.updated && isEqual(binding.value, binding.oldValue))) { return; }\n var scope = Resolver.resolveScope(el, binding, vnode);\n var rules = Resolver.resolveRules(el, binding, vnode);\n\n field.update({\n scope: scope,\n rules: rules\n });\n },\n unbind: function unbind (el, binding, ref) {\n var context = ref.context;\n\n var field = findField(el, context);\n if (!field) { return; }\n\n context.$validator.detach(field);\n }\n};\n\n// \n\nvar Validator = function Validator (validations, options, pluginContainer) {\n if ( options === void 0 ) options = { fastExit: true };\n if ( pluginContainer === void 0 ) pluginContainer = null;\n\n this.errors = new ErrorBag();\n this.fields = new FieldBag();\n this._createFields(validations);\n this.paused = false;\n this.fastExit = !isNullOrUndefined(options && options.fastExit) ? options.fastExit : true;\n this.$vee = pluginContainer || {\n _vm: {\n $nextTick: function (cb) { return isCallable(cb) ? cb() : Promise.resolve(); },\n $emit: function () {},\n $off: function () {}\n }\n };\n};\n\nvar prototypeAccessors$4 = { rules: { configurable: true },dictionary: { configurable: true },flags: { configurable: true },locale: { configurable: true } };\nvar staticAccessors$1 = { rules: { configurable: true },dictionary: { configurable: true },locale: { configurable: true } };\n\n/**\n * @deprecated\n */\nstaticAccessors$1.rules.get = function () {\n if (process.env.NODE_ENV !== 'production') {\n warn('this accessor will be deprecated, use `import { rules } from \"vee-validate\"` instead.');\n }\n\n return RuleContainer.rules;\n};\n\n/**\n * @deprecated\n */\nprototypeAccessors$4.rules.get = function () {\n if (process.env.NODE_ENV !== 'production') {\n warn('this accessor will be deprecated, use `import { rules } from \"vee-validate\"` instead.');\n }\n\n return RuleContainer.rules;\n};\n\nprototypeAccessors$4.dictionary.get = function () {\n return DictionaryResolver.getDriver();\n};\n\nstaticAccessors$1.dictionary.get = function () {\n return DictionaryResolver.getDriver();\n};\n\nprototypeAccessors$4.flags.get = function () {\n return this.fields.items.reduce(function (acc, field) {\n var obj;\n\n if (field.scope) {\n acc[(\"$\" + (field.scope))] = ( obj = {}, obj[field.name] = field.flags, obj );\n\n return acc;\n }\n\n acc[field.name] = field.flags;\n\n return acc;\n }, {});\n};\n\n/**\n * Getter for the current locale.\n */\nprototypeAccessors$4.locale.get = function () {\n return Validator.locale;\n};\n\n/**\n * Setter for the validator locale.\n */\nprototypeAccessors$4.locale.set = function (value) {\n Validator.locale = value;\n};\n\nstaticAccessors$1.locale.get = function () {\n return DictionaryResolver.getDriver().locale;\n};\n\n/**\n * Setter for the validator locale.\n */\nstaticAccessors$1.locale.set = function (value) {\n var hasChanged = value !== DictionaryResolver.getDriver().locale;\n DictionaryResolver.getDriver().locale = value;\n if (hasChanged && Validator.$vee && Validator.$vee._vm) {\n Validator.$vee._vm.$emit('localeChanged');\n }\n};\n\n/**\n * Static constructor.\n * @deprecated\n */\nValidator.create = function create (validations, options) {\n if (process.env.NODE_ENV !== 'production') {\n warn('Please use `new` to create new validator instances.');\n }\n\n return new Validator(validations, options);\n};\n\n/**\n * Adds a custom validator to the list of validation rules.\n */\nValidator.extend = function extend (name, validator, options) {\n if ( options === void 0 ) options = {};\n\n Validator._guardExtend(name, validator);\n // rules imported from the minimal bundle\n // will have the options embedded in them\n var mergedOpts = validator.options || {};\n Validator._merge(name, {\n validator: validator,\n paramNames: (options && options.paramNames) || validator.paramNames,\n options: assign({ hasTarget: false, immediate: true }, mergedOpts, options || {})\n });\n};\n\n/**\n * Removes a rule from the list of validators.\n * @deprecated\n */\nValidator.remove = function remove (name) {\n if (process.env.NODE_ENV !== 'production') {\n warn('this method will be deprecated, you can still override your rules with `extend`');\n }\n\n RuleContainer.remove(name);\n};\n\n/**\n * Adds and sets the current locale for the validator.\n*/\nValidator.prototype.localize = function localize (lang, dictionary) {\n Validator.localize(lang, dictionary);\n};\n\n/**\n * Adds and sets the current locale for the validator.\n */\nValidator.localize = function localize (lang, dictionary) {\n var obj;\n\n if (isObject(lang)) {\n DictionaryResolver.getDriver().merge(lang);\n return;\n }\n\n // merge the dictionary.\n if (dictionary) {\n var locale = lang || dictionary.name;\n dictionary = assign({}, dictionary);\n DictionaryResolver.getDriver().merge(( obj = {}, obj[locale] = dictionary, obj ));\n }\n\n if (lang) {\n // set the locale.\n Validator.locale = lang;\n }\n};\n\n/**\n * Registers a field to be validated.\n */\nValidator.prototype.attach = function attach (fieldOpts) {\n var this$1 = this;\n\n // We search for a field with the same name & scope, having persist enabled\n var oldFieldMatcher = { name: fieldOpts.name, scope: fieldOpts.scope, persist: true };\n var oldField = fieldOpts.persist ? this.fields.find(oldFieldMatcher) : null;\n\n if (oldField) {\n // We keep the flags of the old field, then we remove its instance\n fieldOpts.flags = oldField.flags;\n oldField.destroy();\n this.fields.remove(oldField);\n }\n\n // fixes initial value detection with v-model and select elements.\n var value = fieldOpts.initialValue;\n var field = new Field(fieldOpts);\n this.fields.push(field);\n\n // validate the field initially\n if (field.immediate) {\n this.$vee._vm.$nextTick(function () { return this$1.validate((\"#\" + (field.id)), value || field.value, { vmId: fieldOpts.vmId }); });\n } else {\n this._validate(field, value || field.value, { initial: true }).then(function (result) {\n field.flags.valid = result.valid;\n field.flags.invalid = !result.valid;\n });\n }\n\n return field;\n};\n\n/**\n * Sets the flags on a field.\n */\nValidator.prototype.flag = function flag (name, flags, uid) {\n if ( uid === void 0 ) uid = null;\n\n var field = this._resolveField(name, undefined, uid);\n if (!field || !flags) {\n return;\n }\n\n field.setFlags(flags);\n};\n\n/**\n * Removes a field from the validator.\n */\nValidator.prototype.detach = function detach (name, scope, uid) {\n var field = isCallable(name.destroy) ? name : this._resolveField(name, scope, uid);\n if (!field) { return; }\n\n // We destroy/remove the field & error instances if it's not a `persist` one\n if (!field.persist) {\n field.destroy();\n this.errors.remove(field.name, field.scope, field.vmId);\n this.fields.remove(field);\n }\n};\n\n/**\n * Adds a custom validator to the list of validation rules.\n */\nValidator.prototype.extend = function extend (name, validator, options) {\n if ( options === void 0 ) options = {};\n\n Validator.extend(name, validator, options);\n};\n\nValidator.prototype.reset = function reset (matcher) {\n var this$1 = this;\n\n // two ticks\n return this.$vee._vm.$nextTick().then(function () {\n return this$1.$vee._vm.$nextTick();\n }).then(function () {\n this$1.fields.filter(matcher).forEach(function (field) {\n field.waitFor(null);\n field.reset(); // reset field flags.\n this$1.errors.remove(field.name, field.scope, matcher && matcher.vmId);\n });\n });\n};\n\n/**\n * Updates a field, updating both errors and flags.\n */\nValidator.prototype.update = function update (id, ref) {\n var scope = ref.scope;\n\n var field = this._resolveField((\"#\" + id));\n if (!field) { return; }\n\n // remove old scope.\n this.errors.update(id, { scope: scope });\n};\n\n/**\n * Removes a rule from the list of validators.\n * @deprecated\n */\nValidator.prototype.remove = function remove (name) {\n Validator.remove(name);\n};\n\n/**\n * Validates a value against a registered field validations.\n */\nValidator.prototype.validate = function validate (fieldDescriptor, value, ref) {\n var this$1 = this;\n if ( ref === void 0 ) ref = {};\n var silent = ref.silent;\n var vmId = ref.vmId;\n\n if (this.paused) { return Promise.resolve(true); }\n\n // overload to validate all.\n if (isNullOrUndefined(fieldDescriptor)) {\n return this.validateScopes({ silent: silent, vmId: vmId });\n }\n\n // overload to validate scope-less fields.\n if (fieldDescriptor === '*') {\n return this.validateAll(undefined, { silent: silent, vmId: vmId });\n }\n\n // if scope validation was requested.\n if (/^(.+)\\.\\*$/.test(fieldDescriptor)) {\n var matched = fieldDescriptor.match(/^(.+)\\.\\*$/)[1];\n return this.validateAll(matched);\n }\n\n var field = this._resolveField(fieldDescriptor);\n if (!field) {\n return this._handleFieldNotFound(fieldDescriptor);\n }\n\n if (!silent) { field.flags.pending = true; }\n if (value === undefined) {\n value = field.value;\n }\n\n var validationPromise = this._validate(field, value);\n field.waitFor(validationPromise);\n\n return validationPromise.then(function (result) {\n if (!silent && field.isWaitingFor(validationPromise)) {\n // allow next validation to mutate the state.\n field.waitFor(null);\n this$1._handleValidationResults([result], vmId);\n }\n\n return result.valid;\n });\n};\n\n/**\n * Pauses the validator.\n */\nValidator.prototype.pause = function pause () {\n this.paused = true;\n\n return this;\n};\n\n/**\n * Resumes the validator.\n */\nValidator.prototype.resume = function resume () {\n this.paused = false;\n\n return this;\n};\n\n/**\n * Validates each value against the corresponding field validations.\n */\nValidator.prototype.validateAll = function validateAll (values, ref) {\n var this$1 = this;\n if ( ref === void 0 ) ref = {};\n var silent = ref.silent;\n var vmId = ref.vmId;\n\n if (this.paused) { return Promise.resolve(true); }\n\n var matcher = null;\n var providedValues = false;\n\n if (typeof values === 'string') {\n matcher = { scope: values, vmId: vmId };\n } else if (isObject(values)) {\n matcher = Object.keys(values).map(function (key) {\n return { name: key, vmId: vmId, scope: null };\n });\n providedValues = true;\n } else if (Array.isArray(values)) {\n matcher = values.map(function (key) {\n return typeof key === 'object' ? Object.assign({ vmId: vmId }, key) : { name: key, vmId: vmId };\n });\n } else {\n matcher = { scope: null, vmId: vmId };\n }\n\n return Promise.all(\n this.fields.filter(matcher).map(function (field) { return this$1._validate(field, providedValues ? values[field.name] : field.value); })\n ).then(function (results) {\n if (!silent) {\n this$1._handleValidationResults(results, vmId);\n }\n\n return results.every(function (t) { return t.valid; });\n });\n};\n\n/**\n * Validates all scopes.\n */\nValidator.prototype.validateScopes = function validateScopes (ref) {\n var this$1 = this;\n if ( ref === void 0 ) ref = {};\n var silent = ref.silent;\n var vmId = ref.vmId;\n\n if (this.paused) { return Promise.resolve(true); }\n\n return Promise.all(\n this.fields.filter({ vmId: vmId }).map(function (field) { return this$1._validate(field, field.value); })\n ).then(function (results) {\n if (!silent) {\n this$1._handleValidationResults(results, vmId);\n }\n\n return results.every(function (t) { return t.valid; });\n });\n};\n\n/**\n * Validates a value against the rules.\n */\nValidator.prototype.verify = function verify (value, rules, options) {\n if ( options === void 0 ) options = {};\n\n var field = {\n name: (options && options.name) || '{field}',\n rules: normalizeRules(rules),\n bails: getPath('bails', options, true),\n forceRequired: false,\n get isRequired () {\n return !!this.rules.required || this.forceRequired;\n }\n };\n\n var targetRules = Object.keys(field.rules).filter(RuleContainer.isTargetRule);\n if (targetRules.length && options && isObject(options.values)) {\n field.dependencies = targetRules.map(function (rule) {\n var ref = field.rules[rule];\n var targetKey = ref[0];\n\n return {\n name: rule,\n field: { value: options.values[targetKey] }\n };\n });\n }\n\n return this._validate(field, value).then(function (result) {\n var errors = [];\n var ruleMap = {};\n result.errors.forEach(function (e) {\n errors.push(e.msg);\n ruleMap[e.rule] = e.msg;\n });\n\n return {\n valid: result.valid,\n errors: errors,\n failedRules: ruleMap\n };\n });\n};\n\n/**\n * Perform cleanup.\n */\nValidator.prototype.destroy = function destroy () {\n this.$vee._vm.$off('localeChanged');\n};\n\n/**\n * Creates the fields to be validated.\n */\nValidator.prototype._createFields = function _createFields (validations) {\n var this$1 = this;\n\n if (!validations) { return; }\n\n Object.keys(validations).forEach(function (field) {\n var options = assign({}, { name: field, rules: validations[field] });\n this$1.attach(options);\n });\n};\n\n/**\n * Date rules need the existence of a format, so date_format must be supplied.\n */\nValidator.prototype._getDateFormat = function _getDateFormat (validations) {\n var format = null;\n if (validations.date_format && Array.isArray(validations.date_format)) {\n format = validations.date_format[0];\n }\n\n return format || DictionaryResolver.getDriver().getDateFormat(this.locale);\n};\n\n/**\n * Formats an error message for field and a rule.\n */\nValidator.prototype._formatErrorMessage = function _formatErrorMessage (field, rule, data, targetName) {\n if ( data === void 0 ) data = {};\n if ( targetName === void 0 ) targetName = null;\n\n var name = this._getFieldDisplayName(field);\n var params = this._getLocalizedParams(rule, targetName);\n\n return DictionaryResolver.getDriver().getFieldMessage(this.locale, field.name, rule.name, [name, params, data]);\n};\n\n/**\n * We need to convert any object param to an array format since the locales do not handle params as objects yet.\n */\nValidator.prototype._convertParamObjectToArray = function _convertParamObjectToArray (obj, ruleName) {\n if (Array.isArray(obj)) {\n return obj;\n }\n\n var paramNames = RuleContainer.getParamNames(ruleName);\n if (!paramNames || !isObject(obj)) {\n return obj;\n }\n\n return paramNames.reduce(function (prev, paramName) {\n if (paramName in obj) {\n prev.push(obj[paramName]);\n }\n\n return prev;\n }, []);\n};\n\n/**\n * Translates the parameters passed to the rule (mainly for target fields).\n */\nValidator.prototype._getLocalizedParams = function _getLocalizedParams (rule, targetName) {\n if ( targetName === void 0 ) targetName = null;\n\n var params = this._convertParamObjectToArray(rule.params, rule.name);\n if (rule.options.hasTarget && params && params[0]) {\n var localizedName = targetName || DictionaryResolver.getDriver().getAttribute(this.locale, params[0], params[0]);\n return [localizedName].concat(params.slice(1));\n }\n\n return params;\n};\n\n/**\n * Resolves an appropriate display name, first checking 'data-as' or the registered 'prettyName'\n */\nValidator.prototype._getFieldDisplayName = function _getFieldDisplayName (field) {\n return field.alias || DictionaryResolver.getDriver().getAttribute(this.locale, field.name, field.name);\n};\n\n/**\n * Converts an array of params to an object with named properties.\n * Only works if the rule is configured with a paramNames array.\n * Returns the same params if it cannot convert it.\n */\nValidator.prototype._convertParamArrayToObj = function _convertParamArrayToObj (params, ruleName) {\n var paramNames = RuleContainer.getParamNames(ruleName);\n if (!paramNames) {\n return params;\n }\n\n if (isObject(params)) {\n // check if the object is either a config object or a single parameter that is an object.\n var hasKeys = paramNames.some(function (name) { return Object.keys(params).indexOf(name) !== -1; });\n // if it has some of the keys, return it as is.\n if (hasKeys) {\n return params;\n }\n // otherwise wrap the object in an array.\n params = [params];\n }\n\n // Reduce the paramsNames to a param object.\n return params.reduce(function (prev, value, idx) {\n prev[paramNames[idx]] = value;\n\n return prev;\n }, {});\n};\n\n/**\n * Tests a single input value against a rule.\n */\nValidator.prototype._test = function _test (field, value, rule) {\n var this$1 = this;\n\n var validator = RuleContainer.getValidatorMethod(rule.name);\n var params = Array.isArray(rule.params) ? toArray(rule.params) : rule.params;\n if (!params) {\n params = [];\n }\n\n var targetName = null;\n if (!validator || typeof validator !== 'function') {\n return Promise.reject(createError((\"No such validator '\" + (rule.name) + \"' exists.\")));\n }\n\n // has field dependencies.\n if (rule.options.hasTarget && field.dependencies) {\n var target = find(field.dependencies, function (d) { return d.name === rule.name; });\n if (target) {\n targetName = target.field.alias;\n params = [target.field.value].concat(params.slice(1));\n }\n } else if (rule.name === 'required' && field.rejectsFalse) {\n // invalidate false if no args were specified and the field rejects false by default.\n params = params.length ? params : [true];\n }\n\n if (rule.options.isDate) {\n var dateFormat = this._getDateFormat(field.rules);\n if (rule.name !== 'date_format') {\n params.push(dateFormat);\n }\n }\n\n var result = validator(value, this._convertParamArrayToObj(params, rule.name));\n\n // If it is a promise.\n if (isCallable(result.then)) {\n return result.then(function (values) {\n var allValid = true;\n var data = {};\n if (Array.isArray(values)) {\n allValid = values.every(function (t) { return (isObject(t) ? t.valid : t); });\n } else { // Is a single object/boolean.\n allValid = isObject(values) ? values.valid : values;\n data = values.data;\n }\n\n return {\n valid: allValid,\n data: result.data,\n errors: allValid ? [] : [this$1._createFieldError(field, rule, data, targetName)]\n };\n });\n }\n\n if (!isObject(result)) {\n result = { valid: result, data: {} };\n }\n\n return {\n valid: result.valid,\n data: result.data,\n errors: result.valid ? [] : [this._createFieldError(field, rule, result.data, targetName)]\n };\n};\n\n/**\n * Merges a validator object into the RULES and Messages.\n */\nValidator._merge = function _merge (name, ref) {\n var validator = ref.validator;\n var options = ref.options;\n var paramNames = ref.paramNames;\n\n var validate = isCallable(validator) ? validator : validator.validate;\n if (validator.getMessage) {\n DictionaryResolver.getDriver().setMessage(Validator.locale, name, validator.getMessage);\n }\n\n RuleContainer.add(name, {\n validate: validate,\n options: options,\n paramNames: paramNames\n });\n};\n\n/**\n * Guards from extension violations.\n */\nValidator._guardExtend = function _guardExtend (name, validator) {\n if (isCallable(validator)) {\n return;\n }\n\n if (!isCallable(validator.validate)) {\n throw createError(\n (\"Extension Error: The validator '\" + name + \"' must be a function or have a 'validate' method.\")\n );\n }\n};\n\n/**\n * Creates a Field Error Object.\n */\nValidator.prototype._createFieldError = function _createFieldError (field, rule, data, targetName) {\n var this$1 = this;\n\n return {\n id: field.id,\n vmId: field.vmId,\n field: field.name,\n msg: this._formatErrorMessage(field, rule, data, targetName),\n rule: rule.name,\n scope: field.scope,\n regenerate: function () {\n return this$1._formatErrorMessage(field, rule, data, targetName);\n }\n };\n};\n\n/**\n * Tries different strategies to find a field.\n */\nValidator.prototype._resolveField = function _resolveField (name, scope, uid) {\n if (name[0] === '#') {\n return this.fields.findById(name.slice(1));\n }\n\n if (!isNullOrUndefined(scope)) {\n return this.fields.find({ name: name, scope: scope, vmId: uid });\n }\n\n if (includes(name, '.')) {\n var ref = name.split('.');\n var fieldScope = ref[0];\n var fieldName = ref.slice(1);\n var field = this.fields.find({ name: fieldName.join('.'), scope: fieldScope, vmId: uid });\n if (field) {\n return field;\n }\n }\n\n return this.fields.find({ name: name, scope: null, vmId: uid });\n};\n\n/**\n * Handles when a field is not found.\n */\nValidator.prototype._handleFieldNotFound = function _handleFieldNotFound (name, scope) {\n var fullName = isNullOrUndefined(scope) ? name : (\"\" + (!isNullOrUndefined(scope) ? scope + '.' : '') + name);\n\n return Promise.reject(createError(\n (\"Validating a non-existent field: \\\"\" + fullName + \"\\\". Use \\\"attach()\\\" first.\")\n ));\n};\n\n/**\n * Handles validation results.\n */\nValidator.prototype._handleValidationResults = function _handleValidationResults (results, vmId) {\n var this$1 = this;\n\n var matchers = results.map(function (result) { return ({ id: result.id }); });\n this.errors.removeById(matchers.map(function (m) { return m.id; }));\n // remove by name and scope to remove any custom errors added.\n results.forEach(function (result) {\n this$1.errors.remove(result.field, result.scope, vmId);\n });\n var allErrors = results.reduce(function (prev, curr) {\n prev.push.apply(prev, curr.errors);\n\n return prev;\n }, []);\n\n this.errors.add(allErrors);\n\n // handle flags.\n this.fields.filter(matchers).forEach(function (field) {\n var result = find(results, function (r) { return r.id === field.id; });\n field.setFlags({\n pending: false,\n valid: result.valid,\n validated: true\n });\n });\n};\n\nValidator.prototype._shouldSkip = function _shouldSkip (field, value) {\n // field is configured to run through the pipeline regardless\n if (field.bails === false) {\n return false;\n }\n\n // disabled fields are skipped if useConstraintAttrs is enabled in config\n if (field.isDisabled && getConfig().useConstraintAttrs) {\n return true;\n }\n\n // skip if the field is not required and has an empty value.\n return !field.isRequired && (isNullOrUndefined(value) || value === '' || isEmptyArray(value));\n};\n\nValidator.prototype._shouldBail = function _shouldBail (field) {\n // if the field was configured explicitly.\n if (field.bails !== undefined) {\n return field.bails;\n }\n\n return this.fastExit;\n};\n\n/**\n * Starts the validation process.\n */\nValidator.prototype._validate = function _validate (field, value, ref) {\n var this$1 = this;\n if ( ref === void 0 ) ref = {};\n var initial = ref.initial;\n\n var requireRules = Object.keys(field.rules).filter(RuleContainer.isRequireRule);\n\n field.forceRequired = false;\n requireRules.forEach(function (rule) {\n var ruleOptions = RuleContainer.getOptions(rule);\n var result = this$1._test(field, value, { name: rule, params: field.rules[rule], options: ruleOptions });\n\n if (isCallable(result.then)) { throw createError('Require rules cannot be async'); }\n if (!isObject(result)) { throw createError('Require rules has to return an object (see docs)'); }\n\n if (result.data.required === true) {\n field.forceRequired = true;\n }\n });\n\n if (this._shouldSkip(field, value)) {\n return Promise.resolve({ valid: true, id: field.id, field: field.name, scope: field.scope, errors: [] });\n }\n\n var promises = [];\n var errors = [];\n var isExitEarly = false;\n if (isCallable(field.checkValueChanged)) {\n field.flags.changed = field.checkValueChanged();\n }\n\n // use of '.some()' is to break iteration in middle by returning true\n Object.keys(field.rules).filter(function (rule) {\n if (!initial || !RuleContainer.has(rule)) { return true; }\n\n return RuleContainer.isImmediate(rule);\n }).some(function (rule) {\n var ruleOptions = RuleContainer.getOptions(rule);\n var result = this$1._test(field, value, { name: rule, params: field.rules[rule], options: ruleOptions });\n if (isCallable(result.then)) {\n promises.push(result);\n } else if (!result.valid && this$1._shouldBail(field)) {\n errors.push.apply(errors, result.errors);\n isExitEarly = true;\n } else {\n // promisify the result.\n promises.push(new Promise(function (resolve) { return resolve(result); }));\n }\n\n return isExitEarly;\n });\n\n if (isExitEarly) {\n return Promise.resolve({ valid: false, errors: errors, id: field.id, field: field.name, scope: field.scope });\n }\n\n return Promise.all(promises).then(function (results) {\n return results.reduce(function (prev, v) {\n var ref;\n\n if (!v.valid) {\n (ref = prev.errors).push.apply(ref, v.errors);\n }\n\n prev.valid = prev.valid && v.valid;\n\n return prev;\n }, { valid: true, errors: errors, id: field.id, field: field.name, scope: field.scope });\n });\n};\n\nObject.defineProperties( Validator.prototype, prototypeAccessors$4 );\nObject.defineProperties( Validator, staticAccessors$1 );\n\n// \n\nvar normalizeValue = function (value) {\n if (isObject(value)) {\n return Object.keys(value).reduce(function (prev, key) {\n prev[key] = normalizeValue(value[key]);\n\n return prev;\n }, {});\n }\n\n if (isCallable(value)) {\n return value('{0}', ['{1}', '{2}', '{3}']);\n }\n\n return value;\n};\n\nvar normalizeFormat = function (locale) {\n // normalize messages\n var dictionary = {};\n if (locale.messages) {\n dictionary.messages = normalizeValue(locale.messages);\n }\n\n if (locale.custom) {\n dictionary.custom = normalizeValue(locale.custom);\n }\n\n if (locale.attributes) {\n dictionary.attributes = locale.attributes;\n }\n\n if (!isNullOrUndefined(locale.dateFormat)) {\n dictionary.dateFormat = locale.dateFormat;\n }\n\n return dictionary;\n};\n\nvar I18nDictionary = function I18nDictionary (i18n, rootKey) {\n this.i18n = i18n;\n this.rootKey = rootKey;\n};\n\nvar prototypeAccessors$5 = { locale: { configurable: true } };\n\nprototypeAccessors$5.locale.get = function () {\n return this.i18n.locale;\n};\n\nprototypeAccessors$5.locale.set = function (value) {\n warn('Cannot set locale from the validator when using vue-i18n, use i18n.locale setter instead');\n};\n\nI18nDictionary.prototype.getDateFormat = function getDateFormat (locale) {\n return this.i18n.getDateTimeFormat(locale || this.locale);\n};\n\nI18nDictionary.prototype.setDateFormat = function setDateFormat (locale, value) {\n this.i18n.setDateTimeFormat(locale || this.locale, value);\n};\n\nI18nDictionary.prototype.getMessage = function getMessage (_, key, data) {\n var path = (this.rootKey) + \".messages.\" + key;\n var dataOptions = data;\n\n if (Array.isArray(data)) {\n dataOptions = [].concat.apply([], data);\n }\n\n if (this.i18n.te(path)) {\n return this.i18n.t(path, dataOptions);\n }\n\n // fallback to the fallback message\n if (this.i18n.te(path, this.i18n.fallbackLocale)) {\n return this.i18n.t(path, this.i18n.fallbackLocale, dataOptions);\n }\n\n // fallback to the root message\n return this.i18n.t(((this.rootKey) + \".messages._default\"), dataOptions);\n};\n\nI18nDictionary.prototype.getAttribute = function getAttribute (_, key, fallback) {\n if ( fallback === void 0 ) fallback = '';\n\n var path = (this.rootKey) + \".attributes.\" + key;\n if (this.i18n.te(path)) {\n return this.i18n.t(path);\n }\n\n return fallback;\n};\n\nI18nDictionary.prototype.getFieldMessage = function getFieldMessage (_, field, key, data) {\n var path = (this.rootKey) + \".custom.\" + field + \".\" + key;\n if (this.i18n.te(path)) {\n return this.i18n.t(path, data);\n }\n\n return this.getMessage(_, key, data);\n};\n\nI18nDictionary.prototype.merge = function merge$1 (dictionary) {\n var this$1 = this;\n\n Object.keys(dictionary).forEach(function (localeKey) {\n var obj;\n\n // i18n doesn't deep merge\n // first clone the existing locale (avoid mutations to locale)\n var clone = merge({}, getPath((localeKey + \".\" + (this$1.rootKey)), this$1.i18n.messages, {}));\n // Merge cloned locale with new one\n var locale = merge(clone, normalizeFormat(dictionary[localeKey]));\n this$1.i18n.mergeLocaleMessage(localeKey, ( obj = {}, obj[this$1.rootKey] = locale, obj ));\n if (locale.dateFormat) {\n this$1.i18n.setDateTimeFormat(localeKey, locale.dateFormat);\n }\n });\n};\n\nI18nDictionary.prototype.setMessage = function setMessage (locale, key, value) {\n var obj, obj$1;\n\n this.merge(( obj$1 = {}, obj$1[locale] = {\n messages: ( obj = {}, obj[key] = value, obj )\n }, obj$1 ));\n};\n\nI18nDictionary.prototype.setAttribute = function setAttribute (locale, key, value) {\n var obj, obj$1;\n\n this.merge(( obj$1 = {}, obj$1[locale] = {\n attributes: ( obj = {}, obj[key] = value, obj )\n }, obj$1 ));\n};\n\nObject.defineProperties( I18nDictionary.prototype, prototypeAccessors$5 );\n\nvar aggressive = function () { return ({\n on: ['input']\n}); };\n\nvar lazy = function () { return ({\n on: ['change']\n}); };\n\nvar eager = function (ref) {\n var errors = ref.errors;\n\n if (errors.length) {\n return {\n on: ['input']\n };\n }\n\n return {\n on: ['change', 'blur']\n };\n};\n\nvar passive = function () { return ({\n on: []\n}); };\n\nvar modes = {\n aggressive: aggressive,\n eager: eager,\n passive: passive,\n lazy: lazy\n};\n\n// \n\nvar Vue;\nvar pendingPlugins;\nvar pluginInstance;\n\nvar VeeValidate$1 = function VeeValidate (config, _Vue) {\n this.configure(config);\n pluginInstance = this;\n if (_Vue) {\n Vue = _Vue;\n }\n this._validator = setValidator(\n new Validator(null, { fastExit: config && config.fastExit }, this)\n );\n this._initVM(this.config);\n this._initI18n(this.config);\n};\n\nvar prototypeAccessors$6 = { i18nDriver: { configurable: true },config: { configurable: true } };\nvar staticAccessors$2 = { i18nDriver: { configurable: true },config: { configurable: true } };\n\nVeeValidate$1.setI18nDriver = function setI18nDriver (driver, instance) {\n DictionaryResolver.setDriver(driver, instance);\n};\n\nVeeValidate$1.configure = function configure (cfg) {\n setConfig(cfg);\n};\n\nVeeValidate$1.setMode = function setMode (mode, implementation) {\n setConfig({ mode: mode });\n if (!implementation) {\n return;\n }\n\n if (!isCallable(implementation)) {\n throw new Error('A mode implementation must be a function');\n }\n\n modes[mode] = implementation;\n};\n\nVeeValidate$1.use = function use (plugin, options) {\n if ( options === void 0 ) options = {};\n\n if (!isCallable(plugin)) {\n return warn('The plugin must be a callable function');\n }\n\n // Don't install plugins until vee-validate is installed.\n if (!pluginInstance) {\n if (!pendingPlugins) {\n pendingPlugins = [];\n }\n pendingPlugins.push({ plugin: plugin, options: options });\n return;\n }\n\n plugin({ Validator: Validator, ErrorBag: ErrorBag, Rules: Validator.rules }, options);\n};\nVeeValidate$1.install = function install (_Vue, opts) {\n if (Vue && _Vue === Vue) {\n if (process.env.NODE_ENV !== 'production') {\n warn('already installed, Vue.use(VeeValidate) should only be called once.');\n }\n return;\n }\n\n Vue = _Vue;\n pluginInstance = new VeeValidate$1(opts);\n // inject the plugin container statically into the validator class\n Validator.$vee = pluginInstance;\n\n detectPassiveSupport();\n\n Vue.mixin(mixin);\n Vue.directive('validate', directive);\n if (pendingPlugins) {\n pendingPlugins.forEach(function (ref) {\n var plugin = ref.plugin;\n var options = ref.options;\n\n VeeValidate$1.use(plugin, options);\n });\n pendingPlugins = null;\n }\n};\n\nprototypeAccessors$6.i18nDriver.get = function () {\n return DictionaryResolver.getDriver();\n};\n\nstaticAccessors$2.i18nDriver.get = function () {\n return DictionaryResolver.getDriver();\n};\n\nprototypeAccessors$6.config.get = function () {\n return getConfig();\n};\n\nstaticAccessors$2.config.get = function () {\n return getConfig();\n};\n\nVeeValidate$1.prototype._initVM = function _initVM (config) {\n var this$1 = this;\n\n this._vm = new Vue({\n data: function () { return ({\n errors: this$1._validator.errors,\n fields: this$1._validator.fields\n }); }\n });\n};\n\nVeeValidate$1.prototype._initI18n = function _initI18n (config) {\n var this$1 = this;\n\n var dictionary = config.dictionary;\n var i18n = config.i18n;\n var i18nRootKey = config.i18nRootKey;\n var locale = config.locale;\n var onLocaleChanged = function () {\n if (dictionary) {\n this$1.i18nDriver.merge(dictionary);\n }\n\n this$1._validator.errors.regenerate();\n };\n\n // i18 is being used for localization.\n if (i18n) {\n VeeValidate$1.setI18nDriver('i18n', new I18nDictionary(i18n, i18nRootKey));\n i18n._vm.$watch('locale', onLocaleChanged);\n } else if (typeof window !== 'undefined') {\n this._vm.$on('localeChanged', onLocaleChanged);\n }\n\n if (dictionary) {\n this.i18nDriver.merge(dictionary);\n }\n\n if (locale && !i18n) {\n this._validator.localize(locale);\n }\n};\n\nVeeValidate$1.prototype.configure = function configure (cfg) {\n setConfig(cfg);\n};\n\nObject.defineProperties( VeeValidate$1.prototype, prototypeAccessors$6 );\nObject.defineProperties( VeeValidate$1, staticAccessors$2 );\n\nVeeValidate$1.mixin = mixin;\nVeeValidate$1.directive = directive;\nVeeValidate$1.Validator = Validator;\nVeeValidate$1.ErrorBag = ErrorBag;\n\n/**\n * Formates file size.\n *\n * @param {Number|String} size\n */\nvar formatFileSize = function (size) {\n var units = ['Byte', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n var threshold = 1024;\n size = Number(size) * threshold;\n var i = size === 0 ? 0 : Math.floor(Math.log(size) / Math.log(threshold));\n return (((size / Math.pow(threshold, i)).toFixed(2) * 1) + \" \" + (units[i]));\n};\n\n/**\n * Checks if vee-validate is defined globally.\n */\nvar isDefinedGlobally = function () {\n return typeof VeeValidate !== 'undefined';\n};\n\nvar obj;\n\nvar messages = {\n _default: function (field) { return (\"The \" + field + \" value is not valid\"); },\n after: function (field, ref) {\n var target = ref[0];\n var inclusion = ref[1];\n\n return (\"The \" + field + \" must be after \" + (inclusion ? 'or equal to ' : '') + target);\n},\n alpha: function (field) { return (\"The \" + field + \" field may only contain alphabetic characters\"); },\n alpha_dash: function (field) { return (\"The \" + field + \" field may contain alpha-numeric characters as well as dashes and underscores\"); },\n alpha_num: function (field) { return (\"The \" + field + \" field may only contain alpha-numeric characters\"); },\n alpha_spaces: function (field) { return (\"The \" + field + \" field may only contain alphabetic characters as well as spaces\"); },\n before: function (field, ref) {\n var target = ref[0];\n var inclusion = ref[1];\n\n return (\"The \" + field + \" must be before \" + (inclusion ? 'or equal to ' : '') + target);\n},\n between: function (field, ref) {\n var min = ref[0];\n var max = ref[1];\n\n return (\"The \" + field + \" field must be between \" + min + \" and \" + max);\n},\n confirmed: function (field) { return (\"The \" + field + \" confirmation does not match\"); },\n credit_card: function (field) { return (\"The \" + field + \" field is invalid\"); },\n date_between: function (field, ref) {\n var min = ref[0];\n var max = ref[1];\n\n return (\"The \" + field + \" must be between \" + min + \" and \" + max);\n},\n date_format: function (field, ref) {\n var format = ref[0];\n\n return (\"The \" + field + \" must be in the format \" + format);\n},\n decimal: function (field, ref) {\n if ( ref === void 0 ) ref = [];\n var decimals = ref[0]; if ( decimals === void 0 ) decimals = '*';\n\n return (\"The \" + field + \" field must be numeric and may contain\" + (!decimals || decimals === '*' ? '' : ' ' + decimals) + \" decimal points\");\n},\n digits: function (field, ref) {\n var length = ref[0];\n\n return (\"The \" + field + \" field must be numeric and contains exactly \" + length + \" digits\");\n},\n dimensions: function (field, ref) {\n var width = ref[0];\n var height = ref[1];\n\n return (\"The \" + field + \" field must be \" + width + \" pixels by \" + height + \" pixels\");\n},\n email: function (field) { return (\"The \" + field + \" field must be a valid email\"); },\n excluded: function (field) { return (\"The \" + field + \" field must be a valid value\"); },\n ext: function (field) { return (\"The \" + field + \" field must be a valid file\"); },\n image: function (field) { return (\"The \" + field + \" field must be an image\"); },\n included: function (field) { return (\"The \" + field + \" field must be a valid value\"); },\n integer: function (field) { return (\"The \" + field + \" field must be an integer\"); },\n ip: function (field) { return (\"The \" + field + \" field must be a valid ip address\"); },\n ip_or_fqdn: function (field) { return (\"The \" + field + \" field must be a valid ip address or FQDN\"); },\n length: function (field, ref) {\n var length = ref[0];\n var max = ref[1];\n\n if (max) {\n return (\"The \" + field + \" length must be between \" + length + \" and \" + max);\n }\n\n return (\"The \" + field + \" length must be \" + length);\n },\n max: function (field, ref) {\n var length = ref[0];\n\n return (\"The \" + field + \" field may not be greater than \" + length + \" characters\");\n},\n max_value: function (field, ref) {\n var max = ref[0];\n\n return (\"The \" + field + \" field must be \" + max + \" or less\");\n},\n mimes: function (field) { return (\"The \" + field + \" field must have a valid file type\"); },\n min: function (field, ref) {\n var length = ref[0];\n\n return (\"The \" + field + \" field must be at least \" + length + \" characters\");\n},\n min_value: function (field, ref) {\n var min = ref[0];\n\n return (\"The \" + field + \" field must be \" + min + \" or more\");\n},\n numeric: function (field) { return (\"The \" + field + \" field may only contain numeric characters\"); },\n regex: function (field) { return (\"The \" + field + \" field format is invalid\"); },\n required: function (field) { return (\"The \" + field + \" field is required\"); },\n required_if: function (field, ref) {\n var target = ref[0];\n\n return (\"The \" + field + \" field is required when the \" + target + \" field has this value\");\n},\n size: function (field, ref) {\n var size = ref[0];\n\n return (\"The \" + field + \" size must be less than \" + (formatFileSize(size)));\n},\n url: function (field) { return (\"The \" + field + \" field is not a valid URL\"); }\n};\n\nvar locale = {\n name: 'en',\n messages: messages,\n attributes: {}\n};\n\nif (isDefinedGlobally()) {\n // eslint-disable-next-line\n VeeValidate.Validator.localize(( obj = {}, obj[locale.name] = locale, obj ));\n}\n\nfunction toInteger (dirtyNumber) {\n if (dirtyNumber === null || dirtyNumber === true || dirtyNumber === false) {\n return NaN\n }\n\n var number = Number(dirtyNumber);\n\n if (isNaN(number)) {\n return number\n }\n\n return number < 0 ? Math.ceil(number) : Math.floor(number)\n}\n\nvar MILLISECONDS_IN_MINUTE = 60000;\n\n/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\nfunction getTimezoneOffsetInMilliseconds (dirtyDate) {\n var date = new Date(dirtyDate.getTime());\n var baseTimezoneOffset = date.getTimezoneOffset();\n date.setSeconds(0, 0);\n var millisecondsPartOfTimezoneOffset = date.getTime() % MILLISECONDS_IN_MINUTE;\n\n return baseTimezoneOffset * MILLISECONDS_IN_MINUTE + millisecondsPartOfTimezoneOffset\n}\n\nvar MILLISECONDS_IN_HOUR = 3600000;\nvar MILLISECONDS_IN_MINUTE$1 = 60000;\nvar DEFAULT_ADDITIONAL_DIGITS = 2;\n\nvar patterns = {\n dateTimeDelimeter: /[T ]/,\n plainTime: /:/,\n timeZoneDelimeter: /[Z ]/i,\n\n // year tokens\n YY: /^(\\d{2})$/,\n YYY: [\n /^([+-]\\d{2})$/, // 0 additional digits\n /^([+-]\\d{3})$/, // 1 additional digit\n /^([+-]\\d{4})$/ // 2 additional digits\n ],\n YYYY: /^(\\d{4})/,\n YYYYY: [\n /^([+-]\\d{4})/, // 0 additional digits\n /^([+-]\\d{5})/, // 1 additional digit\n /^([+-]\\d{6})/ // 2 additional digits\n ],\n\n // date tokens\n MM: /^-(\\d{2})$/,\n DDD: /^-?(\\d{3})$/,\n MMDD: /^-?(\\d{2})-?(\\d{2})$/,\n Www: /^-?W(\\d{2})$/,\n WwwD: /^-?W(\\d{2})-?(\\d{1})$/,\n\n HH: /^(\\d{2}([.,]\\d*)?)$/,\n HHMM: /^(\\d{2}):?(\\d{2}([.,]\\d*)?)$/,\n HHMMSS: /^(\\d{2}):?(\\d{2}):?(\\d{2}([.,]\\d*)?)$/,\n\n // timezone tokens\n timezone: /([Z+-].*)$/,\n timezoneZ: /^(Z)$/,\n timezoneHH: /^([+-])(\\d{2})$/,\n timezoneHHMM: /^([+-])(\\d{2}):?(\\d{2})$/\n};\n\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If an argument is a string, the function tries to parse it.\n * Function accepts complete ISO 8601 formats as well as partial implementations.\n * ISO 8601: http://en.wikipedia.org/wiki/ISO_8601\n * If the function cannot parse the string or the values are invalid, it returns Invalid Date.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n * All *date-fns* functions will throw `RangeError` if `options.additionalDigits` is not 0, 1, 2 or undefined.\n *\n * @param {Date|String|Number} argument - the value to convert\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\n * @param {0|1|2} [options.additionalDigits=2] - the additional number of digits in the extended year format\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // Convert string '2014-02-11T11:30:30' to date:\n * var result = toDate('2014-02-11T11:30:30')\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert string '+02014101' to date,\n * // if the additional number of digits in the extended year format is 1:\n * var result = toDate('+02014101', {additionalDigits: 1})\n * //=> Fri Apr 11 2014 00:00:00\n */\nfunction toDate (argument, dirtyOptions) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present')\n }\n\n if (argument === null) {\n return new Date(NaN)\n }\n\n var options = dirtyOptions || {};\n\n var additionalDigits = options.additionalDigits == null ? DEFAULT_ADDITIONAL_DIGITS : toInteger(options.additionalDigits);\n if (additionalDigits !== 2 && additionalDigits !== 1 && additionalDigits !== 0) {\n throw new RangeError('additionalDigits must be 0, 1 or 2')\n }\n\n // Clone the date\n if (argument instanceof Date ||\n (typeof argument === 'object' && Object.prototype.toString.call(argument) === '[object Date]')\n ) {\n // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n return new Date(argument.getTime())\n } else if (typeof argument === 'number' || Object.prototype.toString.call(argument) === '[object Number]') {\n return new Date(argument)\n } else if (!(typeof argument === 'string' || Object.prototype.toString.call(argument) === '[object String]')) {\n return new Date(NaN)\n }\n\n var dateStrings = splitDateString(argument);\n\n var parseYearResult = parseYear(dateStrings.date, additionalDigits);\n var year = parseYearResult.year;\n var restDateString = parseYearResult.restDateString;\n\n var date = parseDate(restDateString, year);\n\n if (isNaN(date)) {\n return new Date(NaN)\n }\n\n if (date) {\n var timestamp = date.getTime();\n var time = 0;\n var offset;\n\n if (dateStrings.time) {\n time = parseTime(dateStrings.time);\n\n if (isNaN(time)) {\n return new Date(NaN)\n }\n }\n\n if (dateStrings.timezone) {\n offset = parseTimezone(dateStrings.timezone);\n if (isNaN(offset)) {\n return new Date(NaN)\n }\n } else {\n // get offset accurate to hour in timezones that change offset\n offset = getTimezoneOffsetInMilliseconds(new Date(timestamp + time));\n offset = getTimezoneOffsetInMilliseconds(new Date(timestamp + time + offset));\n }\n\n return new Date(timestamp + time + offset)\n } else {\n return new Date(NaN)\n }\n}\n\nfunction splitDateString (dateString) {\n var dateStrings = {};\n var array = dateString.split(patterns.dateTimeDelimeter);\n var timeString;\n\n if (patterns.plainTime.test(array[0])) {\n dateStrings.date = null;\n timeString = array[0];\n } else {\n dateStrings.date = array[0];\n timeString = array[1];\n if (patterns.timeZoneDelimeter.test(dateStrings.date)) {\n dateStrings.date = dateString.split(patterns.timeZoneDelimeter)[0];\n timeString = dateString.substr(dateStrings.date.length, dateString.length);\n }\n }\n\n if (timeString) {\n var token = patterns.timezone.exec(timeString);\n if (token) {\n dateStrings.time = timeString.replace(token[1], '');\n dateStrings.timezone = token[1];\n } else {\n dateStrings.time = timeString;\n }\n }\n\n return dateStrings\n}\n\nfunction parseYear (dateString, additionalDigits) {\n var patternYYY = patterns.YYY[additionalDigits];\n var patternYYYYY = patterns.YYYYY[additionalDigits];\n\n var token;\n\n // YYYY or ±YYYYY\n token = patterns.YYYY.exec(dateString) || patternYYYYY.exec(dateString);\n if (token) {\n var yearString = token[1];\n return {\n year: parseInt(yearString, 10),\n restDateString: dateString.slice(yearString.length)\n }\n }\n\n // YY or ±YYY\n token = patterns.YY.exec(dateString) || patternYYY.exec(dateString);\n if (token) {\n var centuryString = token[1];\n return {\n year: parseInt(centuryString, 10) * 100,\n restDateString: dateString.slice(centuryString.length)\n }\n }\n\n // Invalid ISO-formatted year\n return {\n year: null\n }\n}\n\nfunction parseDate (dateString, year) {\n // Invalid ISO-formatted year\n if (year === null) {\n return null\n }\n\n var token;\n var date;\n var month;\n var week;\n\n // YYYY\n if (dateString.length === 0) {\n date = new Date(0);\n date.setUTCFullYear(year);\n return date\n }\n\n // YYYY-MM\n token = patterns.MM.exec(dateString);\n if (token) {\n date = new Date(0);\n month = parseInt(token[1], 10) - 1;\n\n if (!validateDate(year, month)) {\n return new Date(NaN)\n }\n\n date.setUTCFullYear(year, month);\n return date\n }\n\n // YYYY-DDD or YYYYDDD\n token = patterns.DDD.exec(dateString);\n if (token) {\n date = new Date(0);\n var dayOfYear = parseInt(token[1], 10);\n\n if (!validateDayOfYearDate(year, dayOfYear)) {\n return new Date(NaN)\n }\n\n date.setUTCFullYear(year, 0, dayOfYear);\n return date\n }\n\n // YYYY-MM-DD or YYYYMMDD\n token = patterns.MMDD.exec(dateString);\n if (token) {\n date = new Date(0);\n month = parseInt(token[1], 10) - 1;\n var day = parseInt(token[2], 10);\n\n if (!validateDate(year, month, day)) {\n return new Date(NaN)\n }\n\n date.setUTCFullYear(year, month, day);\n return date\n }\n\n // YYYY-Www or YYYYWww\n token = patterns.Www.exec(dateString);\n if (token) {\n week = parseInt(token[1], 10) - 1;\n\n if (!validateWeekDate(year, week)) {\n return new Date(NaN)\n }\n\n return dayOfISOWeekYear(year, week)\n }\n\n // YYYY-Www-D or YYYYWwwD\n token = patterns.WwwD.exec(dateString);\n if (token) {\n week = parseInt(token[1], 10) - 1;\n var dayOfWeek = parseInt(token[2], 10) - 1;\n\n if (!validateWeekDate(year, week, dayOfWeek)) {\n return new Date(NaN)\n }\n\n return dayOfISOWeekYear(year, week, dayOfWeek)\n }\n\n // Invalid ISO-formatted date\n return null\n}\n\nfunction parseTime (timeString) {\n var token;\n var hours;\n var minutes;\n\n // hh\n token = patterns.HH.exec(timeString);\n if (token) {\n hours = parseFloat(token[1].replace(',', '.'));\n\n if (!validateTime(hours)) {\n return NaN\n }\n\n return (hours % 24) * MILLISECONDS_IN_HOUR\n }\n\n // hh:mm or hhmm\n token = patterns.HHMM.exec(timeString);\n if (token) {\n hours = parseInt(token[1], 10);\n minutes = parseFloat(token[2].replace(',', '.'));\n\n if (!validateTime(hours, minutes)) {\n return NaN\n }\n\n return (hours % 24) * MILLISECONDS_IN_HOUR +\n minutes * MILLISECONDS_IN_MINUTE$1\n }\n\n // hh:mm:ss or hhmmss\n token = patterns.HHMMSS.exec(timeString);\n if (token) {\n hours = parseInt(token[1], 10);\n minutes = parseInt(token[2], 10);\n var seconds = parseFloat(token[3].replace(',', '.'));\n\n if (!validateTime(hours, minutes, seconds)) {\n return NaN\n }\n\n return (hours % 24) * MILLISECONDS_IN_HOUR +\n minutes * MILLISECONDS_IN_MINUTE$1 +\n seconds * 1000\n }\n\n // Invalid ISO-formatted time\n return null\n}\n\nfunction parseTimezone (timezoneString) {\n var token;\n var absoluteOffset;\n\n // Z\n token = patterns.timezoneZ.exec(timezoneString);\n if (token) {\n return 0\n }\n\n var hours;\n\n // ±hh\n token = patterns.timezoneHH.exec(timezoneString);\n if (token) {\n hours = parseInt(token[2], 10);\n\n if (!validateTimezone()) {\n return NaN\n }\n\n absoluteOffset = hours * MILLISECONDS_IN_HOUR;\n return (token[1] === '+') ? -absoluteOffset : absoluteOffset\n }\n\n // ±hh:mm or ±hhmm\n token = patterns.timezoneHHMM.exec(timezoneString);\n if (token) {\n hours = parseInt(token[2], 10);\n var minutes = parseInt(token[3], 10);\n\n if (!validateTimezone(hours, minutes)) {\n return NaN\n }\n\n absoluteOffset = hours * MILLISECONDS_IN_HOUR + minutes * MILLISECONDS_IN_MINUTE$1;\n return (token[1] === '+') ? -absoluteOffset : absoluteOffset\n }\n\n return 0\n}\n\nfunction dayOfISOWeekYear (isoWeekYear, week, day) {\n week = week || 0;\n day = day || 0;\n var date = new Date(0);\n date.setUTCFullYear(isoWeekYear, 0, 4);\n var fourthOfJanuaryDay = date.getUTCDay() || 7;\n var diff = week * 7 + day + 1 - fourthOfJanuaryDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date\n}\n\n// Validation functions\n\nvar DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nvar DAYS_IN_MONTH_LEAP_YEAR = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n\nfunction isLeapYearIndex (year) {\n return year % 400 === 0 || (year % 4 === 0 && year % 100 !== 0)\n}\n\nfunction validateDate (year, month, date) {\n if (month < 0 || month > 11) {\n return false\n }\n\n if (date != null) {\n if (date < 1) {\n return false\n }\n\n var isLeapYear = isLeapYearIndex(year);\n if (isLeapYear && date > DAYS_IN_MONTH_LEAP_YEAR[month]) {\n return false\n }\n if (!isLeapYear && date > DAYS_IN_MONTH[month]) {\n return false\n }\n }\n\n return true\n}\n\nfunction validateDayOfYearDate (year, dayOfYear) {\n if (dayOfYear < 1) {\n return false\n }\n\n var isLeapYear = isLeapYearIndex(year);\n if (isLeapYear && dayOfYear > 366) {\n return false\n }\n if (!isLeapYear && dayOfYear > 365) {\n return false\n }\n\n return true\n}\n\nfunction validateWeekDate (year, week, day) {\n if (week < 0 || week > 52) {\n return false\n }\n\n if (day != null && (day < 0 || day > 6)) {\n return false\n }\n\n return true\n}\n\nfunction validateTime (hours, minutes, seconds) {\n if (hours != null && (hours < 0 || hours >= 25)) {\n return false\n }\n\n if (minutes != null && (minutes < 0 || minutes >= 60)) {\n return false\n }\n\n if (seconds != null && (seconds < 0 || seconds >= 60)) {\n return false\n }\n\n return true\n}\n\nfunction validateTimezone (hours, minutes) {\n if (minutes != null && (minutes < 0 || minutes > 59)) {\n return false\n }\n\n return true\n}\n\n/**\n * @name addMilliseconds\n * @category Millisecond Helpers\n * @summary Add the specified number of milliseconds to the given date.\n *\n * @description\n * Add the specified number of milliseconds to the given date.\n *\n * @param {Date|String|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be added\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * @returns {Date} the new date with the milliseconds added\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // Add 750 milliseconds to 10 July 2014 12:45:30.000:\n * var result = addMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:30.750\n */\nfunction addMilliseconds (dirtyDate, dirtyAmount, dirtyOptions) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present')\n }\n\n var timestamp = toDate(dirtyDate, dirtyOptions).getTime();\n var amount = toInteger(dirtyAmount);\n return new Date(timestamp + amount)\n}\n\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @param {*} date - the date to check\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * @returns {Boolean} the date is valid\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // For the valid date:\n * var result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertable into a date:\n * var result = isValid('2014-02-31')\n * //=> true\n *\n * @example\n * // For the invalid date:\n * var result = isValid(new Date(''))\n * //=> false\n */\nfunction isValid (dirtyDate, dirtyOptions) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present')\n }\n\n var date = toDate(dirtyDate, dirtyOptions);\n return !isNaN(date)\n}\n\nvar formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'less than a second',\n other: 'less than {{count}} seconds'\n },\n\n xSeconds: {\n one: '1 second',\n other: '{{count}} seconds'\n },\n\n halfAMinute: 'half a minute',\n\n lessThanXMinutes: {\n one: 'less than a minute',\n other: 'less than {{count}} minutes'\n },\n\n xMinutes: {\n one: '1 minute',\n other: '{{count}} minutes'\n },\n\n aboutXHours: {\n one: 'about 1 hour',\n other: 'about {{count}} hours'\n },\n\n xHours: {\n one: '1 hour',\n other: '{{count}} hours'\n },\n\n xDays: {\n one: '1 day',\n other: '{{count}} days'\n },\n\n aboutXMonths: {\n one: 'about 1 month',\n other: 'about {{count}} months'\n },\n\n xMonths: {\n one: '1 month',\n other: '{{count}} months'\n },\n\n aboutXYears: {\n one: 'about 1 year',\n other: 'about {{count}} years'\n },\n\n xYears: {\n one: '1 year',\n other: '{{count}} years'\n },\n\n overXYears: {\n one: 'over 1 year',\n other: 'over {{count}} years'\n },\n\n almostXYears: {\n one: 'almost 1 year',\n other: 'almost {{count}} years'\n }\n};\n\nfunction formatDistance (token, count, options) {\n options = options || {};\n\n var result;\n if (typeof formatDistanceLocale[token] === 'string') {\n result = formatDistanceLocale[token];\n } else if (count === 1) {\n result = formatDistanceLocale[token].one;\n } else {\n result = formatDistanceLocale[token].other.replace('{{count}}', count);\n }\n\n if (options.addSuffix) {\n if (options.comparison > 0) {\n return 'in ' + result\n } else {\n return result + ' ago'\n }\n }\n\n return result\n}\n\nfunction buildFormatLongFn (args) {\n return function (dirtyOptions) {\n var options = dirtyOptions || {};\n var width = options.width ? String(options.width) : args.defaultWidth;\n var format = args.formats[width] || args.formats[args.defaultWidth];\n return format\n }\n}\n\nvar dateFormats = {\n full: 'EEEE, MMMM do, y',\n long: 'MMMM do, y',\n medium: 'MMM d, y',\n short: 'MM/dd/yyyy'\n};\n\nvar timeFormats = {\n full: 'h:mm:ss a zzzz',\n long: 'h:mm:ss a z',\n medium: 'h:mm:ss a',\n short: 'h:mm a'\n};\n\nvar dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\n\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\n\nvar formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: 'P'\n};\n\nfunction formatRelative (token, date, baseDate, options) {\n return formatRelativeLocale[token]\n}\n\nfunction buildLocalizeFn (args) {\n return function (dirtyIndex, dirtyOptions) {\n var options = dirtyOptions || {};\n var width = options.width ? String(options.width) : args.defaultWidth;\n var context = options.context ? String(options.context) : 'standalone';\n\n var valuesArray;\n if (context === 'formatting' && args.formattingValues) {\n valuesArray = args.formattingValues[width] || args.formattingValues[args.defaultFormattingWidth];\n } else {\n valuesArray = args.values[width] || args.values[args.defaultWidth];\n }\n var index = args.argumentCallback ? args.argumentCallback(dirtyIndex) : dirtyIndex;\n return valuesArray[index]\n }\n}\n\nvar eraValues = {\n narrow: ['B', 'A'],\n abbreviated: ['BC', 'AD'],\n wide: ['Before Christ', 'Anno Domini']\n};\n\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n wide: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter']\n};\n\n// Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n wide: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']\n};\n\nvar dayValues = {\n narrow: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\n short: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n abbreviated: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n wide: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']\n};\n\nvar dayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n }\n};\n\nfunction ordinalNumber (dirtyNumber, dirtyOptions) {\n var number = Number(dirtyNumber);\n\n // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`:\n //\n // var options = dirtyOptions || {}\n // var unit = String(options.unit)\n //\n // where `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'\n\n var rem100 = number % 100;\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + 'st'\n case 2:\n return number + 'nd'\n case 3:\n return number + 'rd'\n }\n }\n return number + 'th'\n}\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function (quarter) {\n return Number(quarter) - 1\n }\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaulFormattingWidth: 'wide'\n })\n};\n\nfunction buildMatchPatternFn (args) {\n return function (dirtyString, dirtyOptions) {\n var string = String(dirtyString);\n var options = dirtyOptions || {};\n\n var matchResult = string.match(args.matchPattern);\n if (!matchResult) {\n return null\n }\n var matchedString = matchResult[0];\n\n var parseResult = string.match(args.parsePattern);\n if (!parseResult) {\n return null\n }\n var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0];\n value = options.valueCallback ? options.valueCallback(value) : value;\n\n return {\n value: value,\n rest: string.slice(matchedString.length)\n }\n }\n}\n\nfunction buildMatchFn (args) {\n return function (dirtyString, dirtyOptions) {\n var string = String(dirtyString);\n var options = dirtyOptions || {};\n var width = options.width;\n\n var matchPattern = (width && args.matchPatterns[width]) || args.matchPatterns[args.defaultMatchWidth];\n var matchResult = string.match(matchPattern);\n\n if (!matchResult) {\n return null\n }\n var matchedString = matchResult[0];\n\n var parsePatterns = (width && args.parsePatterns[width]) || args.parsePatterns[args.defaultParseWidth];\n\n var value;\n if (Object.prototype.toString.call(parsePatterns) === '[object Array]') {\n value = parsePatterns.findIndex(function (pattern) {\n return pattern.test(string)\n });\n } else {\n value = findKey(parsePatterns, function (pattern) {\n return pattern.test(string)\n });\n }\n\n value = args.valueCallback ? args.valueCallback(value) : value;\n value = options.valueCallback ? options.valueCallback(value) : value;\n\n return {\n value: value,\n rest: string.slice(matchedString.length)\n }\n }\n}\n\nfunction findKey (object, predicate) {\n for (var key in object) {\n if (object.hasOwnProperty(key) && predicate(object[key])) {\n return key\n }\n }\n}\n\nvar matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\n\nvar matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i\n};\nvar parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i]\n};\n\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\n\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\n\nvar matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i\n};\nvar parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\n};\n\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i\n }\n};\n\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function (value) {\n return parseInt(value, 10)\n }\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function (index) {\n return index + 1\n }\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\n\n/**\n * @type {Locale}\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp]{@link https://github.com/kossnocorp}\n * @author Lesha Koss [@leshakoss]{@link https://github.com/leshakoss}\n */\nvar locale$1 = {\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0 /* Sunday */,\n firstWeekContainsDate: 1\n }\n};\n\nvar MILLISECONDS_IN_DAY = 86400000;\n\n// This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\nfunction getUTCDayOfYear (dirtyDate, dirtyOptions) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present')\n }\n\n var date = toDate(dirtyDate, dirtyOptions);\n var timestamp = date.getTime();\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n var startOfYearTimestamp = date.getTime();\n var difference = timestamp - startOfYearTimestamp;\n return Math.floor(difference / MILLISECONDS_IN_DAY) + 1\n}\n\n// This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\nfunction startOfUTCISOWeek (dirtyDate, dirtyOptions) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present')\n }\n\n var weekStartsOn = 1;\n\n var date = toDate(dirtyDate, dirtyOptions);\n var day = date.getUTCDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n\n date.setUTCDate(date.getUTCDate() - diff);\n date.setUTCHours(0, 0, 0, 0);\n return date\n}\n\n// This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\nfunction getUTCISOWeekYear (dirtyDate, dirtyOptions) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present')\n }\n\n var date = toDate(dirtyDate, dirtyOptions);\n var year = date.getUTCFullYear();\n\n var fourthOfJanuaryOfNextYear = new Date(0);\n fourthOfJanuaryOfNextYear.setUTCFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setUTCHours(0, 0, 0, 0);\n var startOfNextYear = startOfUTCISOWeek(fourthOfJanuaryOfNextYear, dirtyOptions);\n\n var fourthOfJanuaryOfThisYear = new Date(0);\n fourthOfJanuaryOfThisYear.setUTCFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setUTCHours(0, 0, 0, 0);\n var startOfThisYear = startOfUTCISOWeek(fourthOfJanuaryOfThisYear, dirtyOptions);\n\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year\n } else {\n return year - 1\n }\n}\n\n// This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\nfunction startOfUTCISOWeekYear (dirtyDate, dirtyOptions) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present')\n }\n\n var year = getUTCISOWeekYear(dirtyDate, dirtyOptions);\n var fourthOfJanuary = new Date(0);\n fourthOfJanuary.setUTCFullYear(year, 0, 4);\n fourthOfJanuary.setUTCHours(0, 0, 0, 0);\n var date = startOfUTCISOWeek(fourthOfJanuary, dirtyOptions);\n return date\n}\n\nvar MILLISECONDS_IN_WEEK = 604800000;\n\n// This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\nfunction getUTCISOWeek (dirtyDate, dirtyOptions) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present')\n }\n\n var date = toDate(dirtyDate, dirtyOptions);\n var diff = startOfUTCISOWeek(date, dirtyOptions).getTime() - startOfUTCISOWeekYear(date, dirtyOptions).getTime();\n\n // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1\n}\n\n// This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\nfunction startOfUTCWeek (dirtyDate, dirtyOptions) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present')\n }\n\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn;\n var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : toInteger(localeWeekStartsOn);\n var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : toInteger(options.weekStartsOn);\n\n // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively')\n }\n\n var date = toDate(dirtyDate, options);\n var day = date.getUTCDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n\n date.setUTCDate(date.getUTCDate() - diff);\n date.setUTCHours(0, 0, 0, 0);\n return date\n}\n\n// This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\nfunction getUTCWeekYear (dirtyDate, dirtyOptions) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present')\n }\n\n var date = toDate(dirtyDate, dirtyOptions);\n var year = date.getUTCFullYear();\n\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeFirstWeekContainsDate = locale &&\n locale.options &&\n locale.options.firstWeekContainsDate;\n var defaultFirstWeekContainsDate =\n localeFirstWeekContainsDate == null\n ? 1\n : toInteger(localeFirstWeekContainsDate);\n var firstWeekContainsDate =\n options.firstWeekContainsDate == null\n ? defaultFirstWeekContainsDate\n : toInteger(options.firstWeekContainsDate);\n\n // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively')\n }\n\n var firstWeekOfNextYear = new Date(0);\n firstWeekOfNextYear.setUTCFullYear(year + 1, 0, firstWeekContainsDate);\n firstWeekOfNextYear.setUTCHours(0, 0, 0, 0);\n var startOfNextYear = startOfUTCWeek(firstWeekOfNextYear, dirtyOptions);\n\n var firstWeekOfThisYear = new Date(0);\n firstWeekOfThisYear.setUTCFullYear(year, 0, firstWeekContainsDate);\n firstWeekOfThisYear.setUTCHours(0, 0, 0, 0);\n var startOfThisYear = startOfUTCWeek(firstWeekOfThisYear, dirtyOptions);\n\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year\n } else {\n return year - 1\n }\n}\n\n// This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\nfunction startOfUTCWeekYear (dirtyDate, dirtyOptions) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present')\n }\n\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeFirstWeekContainsDate = locale &&\n locale.options &&\n locale.options.firstWeekContainsDate;\n var defaultFirstWeekContainsDate =\n localeFirstWeekContainsDate == null\n ? 1\n : toInteger(localeFirstWeekContainsDate);\n var firstWeekContainsDate =\n options.firstWeekContainsDate == null\n ? defaultFirstWeekContainsDate\n : toInteger(options.firstWeekContainsDate);\n\n var year = getUTCWeekYear(dirtyDate, dirtyOptions);\n var firstWeek = new Date(0);\n firstWeek.setUTCFullYear(year, 0, firstWeekContainsDate);\n firstWeek.setUTCHours(0, 0, 0, 0);\n var date = startOfUTCWeek(firstWeek, dirtyOptions);\n return date\n}\n\nvar MILLISECONDS_IN_WEEK$1 = 604800000;\n\n// This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\nfunction getUTCWeek (dirtyDate, dirtyOptions) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present')\n }\n\n var date = toDate(dirtyDate, dirtyOptions);\n var diff = startOfUTCWeek(date, dirtyOptions).getTime() - startOfUTCWeekYear(date, dirtyOptions).getTime();\n\n // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n return Math.round(diff / MILLISECONDS_IN_WEEK$1) + 1\n}\n\nvar dayPeriodEnum = {\n am: 'am',\n pm: 'pm',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n};\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O | Timezone (GMT) |\n * | p! | Long localized time | P! | Long localized date |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n * - `P` is long localized date format\n * - `p` is long localized time format\n */\n\nvar formatters = {\n // Era\n G: function (date, token, localize) {\n var era = date.getUTCFullYear() > 0 ? 1 : 0;\n switch (token) {\n // AD, BC\n case 'G':\n case 'GG':\n case 'GGG':\n return localize.era(era, {width: 'abbreviated'})\n // A, B\n case 'GGGGG':\n return localize.era(era, {width: 'narrow'})\n // Anno Domini, Before Christ\n case 'GGGG':\n default:\n return localize.era(era, {width: 'wide'})\n }\n },\n\n // Year\n y: function (date, token, localize, options) {\n // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens\n // | Year | y | yy | yyy | yyyy | yyyyy |\n // |----------|-------|----|-------|-------|-------|\n // | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n // | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n // | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n\n var signedYear = date.getUTCFullYear();\n\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n var year = signedYear > 0 ? signedYear : 1 - signedYear;\n\n // Two digit year\n if (token === 'yy') {\n var twoDigitYear = year % 100;\n return addLeadingZeros(twoDigitYear, 2)\n }\n\n // Ordinal number\n if (token === 'yo') {\n return localize.ordinalNumber(year, {unit: 'year'})\n }\n\n // Padding\n return addLeadingZeros(year, token.length)\n },\n\n // Local week-numbering year\n Y: function (date, token, localize, options) {\n var signedWeekYear = getUTCWeekYear(date, options);\n var weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear;\n\n // Two digit year\n if (token === 'YY') {\n var twoDigitYear = weekYear % 100;\n return addLeadingZeros(twoDigitYear, 2)\n }\n\n // Ordinal number\n if (token === 'Yo') {\n return localize.ordinalNumber(weekYear, {unit: 'year'})\n }\n\n // Padding\n return addLeadingZeros(weekYear, token.length)\n },\n\n // ISO week-numbering year\n R: function (date, token, localize, options) {\n var isoWeekYear = getUTCISOWeekYear(date, options);\n\n // Padding\n return addLeadingZeros(isoWeekYear, token.length)\n },\n\n // Extended year. This is a single number designating the year of this calendar system.\n // The main difference between `y` and `u` localizers are B.C. years:\n // | Year | `y` | `u` |\n // |------|-----|-----|\n // | AC 1 | 1 | 1 |\n // | BC 1 | 1 | 0 |\n // | BC 2 | 2 | -1 |\n // Also `yy` always returns the last two digits of a year,\n // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n u: function (date, token, localize, options) {\n var year = date.getUTCFullYear();\n return addLeadingZeros(year, token.length)\n },\n\n // Quarter\n Q: function (date, token, localize, options) {\n var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case 'Q':\n return String(quarter)\n // 01, 02, 03, 04\n case 'QQ':\n return addLeadingZeros(quarter, 2)\n // 1st, 2nd, 3rd, 4th\n case 'Qo':\n return localize.ordinalNumber(quarter, {unit: 'quarter'})\n // Q1, Q2, Q3, Q4\n case 'QQQ':\n return localize.quarter(quarter, {width: 'abbreviated', context: 'formatting'})\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case 'QQQQQ':\n return localize.quarter(quarter, {width: 'narrow', context: 'formatting'})\n // 1st quarter, 2nd quarter, ...\n case 'QQQQ':\n default:\n return localize.quarter(quarter, {width: 'wide', context: 'formatting'})\n }\n },\n\n // Stand-alone quarter\n q: function (date, token, localize, options) {\n var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case 'q':\n return String(quarter)\n // 01, 02, 03, 04\n case 'qq':\n return addLeadingZeros(quarter, 2)\n // 1st, 2nd, 3rd, 4th\n case 'qo':\n return localize.ordinalNumber(quarter, {unit: 'quarter'})\n // Q1, Q2, Q3, Q4\n case 'qqq':\n return localize.quarter(quarter, {width: 'abbreviated', context: 'standalone'})\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case 'qqqqq':\n return localize.quarter(quarter, {width: 'narrow', context: 'standalone'})\n // 1st quarter, 2nd quarter, ...\n case 'qqqq':\n default:\n return localize.quarter(quarter, {width: 'wide', context: 'standalone'})\n }\n },\n\n // Month\n M: function (date, token, localize, options) {\n var month = date.getUTCMonth();\n switch (token) {\n // 1, 2, ..., 12\n case 'M':\n return String(month + 1)\n // 01, 02, ..., 12\n case 'MM':\n return addLeadingZeros(month + 1, 2)\n // 1st, 2nd, ..., 12th\n case 'Mo':\n return localize.ordinalNumber(month + 1, {unit: 'month'})\n // Jan, Feb, ..., Dec\n case 'MMM':\n return localize.month(month, {width: 'abbreviated', context: 'formatting'})\n // J, F, ..., D\n case 'MMMMM':\n return localize.month(month, {width: 'narrow', context: 'formatting'})\n // January, February, ..., December\n case 'MMMM':\n default:\n return localize.month(month, {width: 'wide', context: 'formatting'})\n }\n },\n\n // Stand-alone month\n L: function (date, token, localize, options) {\n var month = date.getUTCMonth();\n switch (token) {\n // 1, 2, ..., 12\n case 'L':\n return String(month + 1)\n // 01, 02, ..., 12\n case 'LL':\n return addLeadingZeros(month + 1, 2)\n // 1st, 2nd, ..., 12th\n case 'Lo':\n return localize.ordinalNumber(month + 1, {unit: 'month'})\n // Jan, Feb, ..., Dec\n case 'LLL':\n return localize.month(month, {width: 'abbreviated', context: 'standalone'})\n // J, F, ..., D\n case 'LLLLL':\n return localize.month(month, {width: 'narrow', context: 'standalone'})\n // January, February, ..., December\n case 'LLLL':\n default:\n return localize.month(month, {width: 'wide', context: 'standalone'})\n }\n },\n\n // Local week of year\n w: function (date, token, localize, options) {\n var week = getUTCWeek(date, options);\n\n if (token === 'wo') {\n return localize.ordinalNumber(week, {unit: 'week'})\n }\n\n return addLeadingZeros(week, token.length)\n },\n\n // ISO week of year\n I: function (date, token, localize, options) {\n var isoWeek = getUTCISOWeek(date, options);\n\n if (token === 'Io') {\n return localize.ordinalNumber(isoWeek, {unit: 'week'})\n }\n\n return addLeadingZeros(isoWeek, token.length)\n },\n\n // Day of the month\n d: function (date, token, localize, options) {\n var dayOfMonth = date.getUTCDate();\n\n if (token === 'do') {\n return localize.ordinalNumber(dayOfMonth, {unit: 'date'})\n }\n\n return addLeadingZeros(dayOfMonth, token.length)\n },\n\n // Day of year\n D: function (date, token, localize, options) {\n var dayOfYear = getUTCDayOfYear(date, options);\n\n if (token === 'Do') {\n return localize.ordinalNumber(dayOfYear, {unit: 'dayOfYear'})\n }\n\n return addLeadingZeros(dayOfYear, token.length)\n },\n\n // Day of week\n E: function (date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n switch (token) {\n // Tue\n case 'E':\n case 'EE':\n case 'EEE':\n return localize.day(dayOfWeek, {width: 'abbreviated', context: 'formatting'})\n // T\n case 'EEEEE':\n return localize.day(dayOfWeek, {width: 'narrow', context: 'formatting'})\n // Tu\n case 'EEEEEE':\n return localize.day(dayOfWeek, {width: 'short', context: 'formatting'})\n // Tuesday\n case 'EEEE':\n default:\n return localize.day(dayOfWeek, {width: 'wide', context: 'formatting'})\n }\n },\n\n // Local day of week\n e: function (date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var localDayOfWeek = ((dayOfWeek - options.weekStartsOn + 8) % 7) || 7;\n switch (token) {\n // Numerical value (Nth day of week with current locale or weekStartsOn)\n case 'e':\n return String(localDayOfWeek)\n // Padded numerical value\n case 'ee':\n return addLeadingZeros(localDayOfWeek, 2)\n // 1st, 2nd, ..., 7th\n case 'eo':\n return localize.ordinalNumber(localDayOfWeek, {unit: 'day'})\n case 'eee':\n return localize.day(dayOfWeek, {width: 'abbreviated', context: 'formatting'})\n // T\n case 'eeeee':\n return localize.day(dayOfWeek, {width: 'narrow', context: 'formatting'})\n // Tu\n case 'eeeeee':\n return localize.day(dayOfWeek, {width: 'short', context: 'formatting'})\n // Tuesday\n case 'eeee':\n default:\n return localize.day(dayOfWeek, {width: 'wide', context: 'formatting'})\n }\n },\n\n // Stand-alone local day of week\n c: function (date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var localDayOfWeek = ((dayOfWeek - options.weekStartsOn + 8) % 7) || 7;\n switch (token) {\n // Numerical value (same as in `e`)\n case 'c':\n return String(localDayOfWeek)\n // Padded numberical value\n case 'cc':\n return addLeadingZeros(localDayOfWeek, token.length)\n // 1st, 2nd, ..., 7th\n case 'co':\n return localize.ordinalNumber(localDayOfWeek, {unit: 'day'})\n case 'ccc':\n return localize.day(dayOfWeek, {width: 'abbreviated', context: 'standalone'})\n // T\n case 'ccccc':\n return localize.day(dayOfWeek, {width: 'narrow', context: 'standalone'})\n // Tu\n case 'cccccc':\n return localize.day(dayOfWeek, {width: 'short', context: 'standalone'})\n // Tuesday\n case 'cccc':\n default:\n return localize.day(dayOfWeek, {width: 'wide', context: 'standalone'})\n }\n },\n\n // ISO day of week\n i: function (date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n switch (token) {\n // 2\n case 'i':\n return String(isoDayOfWeek)\n // 02\n case 'ii':\n return addLeadingZeros(isoDayOfWeek, token.length)\n // 2nd\n case 'io':\n return localize.ordinalNumber(isoDayOfWeek, {unit: 'day'})\n // Tue\n case 'iii':\n return localize.day(dayOfWeek, {width: 'abbreviated', context: 'formatting'})\n // T\n case 'iiiii':\n return localize.day(dayOfWeek, {width: 'narrow', context: 'formatting'})\n // Tu\n case 'iiiiii':\n return localize.day(dayOfWeek, {width: 'short', context: 'formatting'})\n // Tuesday\n case 'iiii':\n default:\n return localize.day(dayOfWeek, {width: 'wide', context: 'formatting'})\n }\n },\n\n // AM or PM\n a: function (date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue = (hours / 12) >= 1 ? 'pm' : 'am';\n\n switch (token) {\n case 'a':\n case 'aa':\n case 'aaa':\n return localize.dayPeriod(dayPeriodEnumValue, {width: 'abbreviated', context: 'formatting'})\n case 'aaaaa':\n return localize.dayPeriod(dayPeriodEnumValue, {width: 'narrow', context: 'formatting'})\n case 'aaaa':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {width: 'wide', context: 'formatting'})\n }\n },\n\n // AM, PM, midnight, noon\n b: function (date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue;\n if (hours === 12) {\n dayPeriodEnumValue = dayPeriodEnum.noon;\n } else if (hours === 0) {\n dayPeriodEnumValue = dayPeriodEnum.midnight;\n } else {\n dayPeriodEnumValue = (hours / 12) >= 1 ? 'pm' : 'am';\n }\n\n switch (token) {\n case 'b':\n case 'bb':\n case 'bbb':\n return localize.dayPeriod(dayPeriodEnumValue, {width: 'abbreviated', context: 'formatting'})\n case 'bbbbb':\n return localize.dayPeriod(dayPeriodEnumValue, {width: 'narrow', context: 'formatting'})\n case 'bbbb':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {width: 'wide', context: 'formatting'})\n }\n },\n\n // in the morning, in the afternoon, in the evening, at night\n B: function (date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue;\n if (hours >= 17) {\n dayPeriodEnumValue = dayPeriodEnum.evening;\n } else if (hours >= 12) {\n dayPeriodEnumValue = dayPeriodEnum.afternoon;\n } else if (hours >= 4) {\n dayPeriodEnumValue = dayPeriodEnum.morning;\n } else {\n dayPeriodEnumValue = dayPeriodEnum.night;\n }\n\n switch (token) {\n case 'B':\n case 'BB':\n case 'BBB':\n return localize.dayPeriod(dayPeriodEnumValue, {width: 'abbreviated', context: 'formatting'})\n case 'BBBBB':\n return localize.dayPeriod(dayPeriodEnumValue, {width: 'narrow', context: 'formatting'})\n case 'BBBB':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {width: 'wide', context: 'formatting'})\n }\n },\n\n // Hour [1-12]\n h: function (date, token, localize, options) {\n var hours = date.getUTCHours() % 12;\n\n if (hours === 0) {\n hours = 12;\n }\n\n if (token === 'ho') {\n return localize.ordinalNumber(hours, {unit: 'hour'})\n }\n\n return addLeadingZeros(hours, token.length)\n },\n\n // Hour [0-23]\n H: function (date, token, localize, options) {\n var hours = date.getUTCHours();\n\n if (token === 'Ho') {\n return localize.ordinalNumber(hours, {unit: 'hour'})\n }\n\n return addLeadingZeros(hours, token.length)\n },\n\n // Hour [0-11]\n K: function (date, token, localize, options) {\n var hours = date.getUTCHours() % 12;\n\n if (token === 'Ko') {\n return localize.ordinalNumber(hours, {unit: 'hour'})\n }\n\n return addLeadingZeros(hours, token.length)\n },\n\n // Hour [1-24]\n k: function (date, token, localize, options) {\n var hours = date.getUTCHours();\n\n if (hours === 0) {\n hours = 24;\n }\n\n if (token === 'ko') {\n return localize.ordinalNumber(hours, {unit: 'hour'})\n }\n\n return addLeadingZeros(hours, token.length)\n },\n\n // Minute\n m: function (date, token, localize, options) {\n var minutes = date.getUTCMinutes();\n\n if (token === 'mo') {\n return localize.ordinalNumber(minutes, {unit: 'minute'})\n }\n\n return addLeadingZeros(minutes, token.length)\n },\n\n // Second\n s: function (date, token, localize, options) {\n var seconds = date.getUTCSeconds();\n\n if (token === 'so') {\n return localize.ordinalNumber(seconds, {unit: 'second'})\n }\n\n return addLeadingZeros(seconds, token.length)\n },\n\n // Fraction of second\n S: function (date, token, localize, options) {\n var numberOfDigits = token.length;\n var milliseconds = date.getUTCMilliseconds();\n var fractionalSeconds = Math.floor(milliseconds * Math.pow(10, numberOfDigits - 3));\n return addLeadingZeros(fractionalSeconds, numberOfDigits)\n },\n\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function (date, token, localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n if (timezoneOffset === 0) {\n return 'Z'\n }\n\n switch (token) {\n // Hours and optional minutes\n case 'X':\n return formatTimezoneWithOptionalMinutes(timezoneOffset)\n\n // Hours, minutes and optional seconds without `:` delimeter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XX`\n case 'XXXX':\n case 'XX': // Hours and minutes without `:` delimeter\n return formatTimezone(timezoneOffset)\n\n // Hours, minutes and optional seconds with `:` delimeter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XXX`\n case 'XXXXX':\n case 'XXX': // Hours and minutes with `:` delimeter\n default:\n return formatTimezone(timezoneOffset, ':')\n }\n },\n\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function (date, token, localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n switch (token) {\n // Hours and optional minutes\n case 'x':\n return formatTimezoneWithOptionalMinutes(timezoneOffset)\n\n // Hours, minutes and optional seconds without `:` delimeter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xx`\n case 'xxxx':\n case 'xx': // Hours and minutes without `:` delimeter\n return formatTimezone(timezoneOffset)\n\n // Hours, minutes and optional seconds with `:` delimeter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xxx`\n case 'xxxxx':\n case 'xxx': // Hours and minutes with `:` delimeter\n default:\n return formatTimezone(timezoneOffset, ':')\n }\n },\n\n // Timezone (GMT)\n O: function (date, token, localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n switch (token) {\n // Short\n case 'O':\n case 'OO':\n case 'OOO':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':')\n // Long\n case 'OOOO':\n default:\n return 'GMT' + formatTimezone(timezoneOffset, ':')\n }\n },\n\n // Timezone (specific non-location)\n z: function (date, token, localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n switch (token) {\n // Short\n case 'z':\n case 'zz':\n case 'zzz':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':')\n // Long\n case 'zzzz':\n default:\n return 'GMT' + formatTimezone(timezoneOffset, ':')\n }\n },\n\n // Seconds timestamp\n t: function (date, token, localize, options) {\n var originalDate = options._originalDate || date;\n var timestamp = Math.floor(originalDate.getTime() / 1000);\n return addLeadingZeros(timestamp, token.length)\n },\n\n // Milliseconds timestamp\n T: function (date, token, localize, options) {\n var originalDate = options._originalDate || date;\n var timestamp = originalDate.getTime();\n return addLeadingZeros(timestamp, token.length)\n }\n};\n\nfunction addLeadingZeros (number, targetLength) {\n var sign = number < 0 ? '-' : '';\n var output = Math.abs(number).toString();\n while (output.length < targetLength) {\n output = '0' + output;\n }\n return sign + output\n}\n\nfunction formatTimezone (offset, dirtyDelimeter) {\n var delimeter = dirtyDelimeter || '';\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = addLeadingZeros(Math.floor(absOffset / 60), 2);\n var minutes = addLeadingZeros(absOffset % 60, 2);\n return sign + hours + delimeter + minutes\n}\n\nfunction formatTimezoneWithOptionalMinutes (offset, dirtyDelimeter) {\n if (offset % 60 === 0) {\n var sign = offset > 0 ? '-' : '+';\n return sign + addLeadingZeros(Math.abs(offset) / 60, 2)\n }\n return formatTimezone(offset, dirtyDelimeter)\n}\n\nfunction formatTimezoneShort (offset, dirtyDelimeter) {\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = Math.floor(absOffset / 60);\n var minutes = absOffset % 60;\n if (minutes === 0) {\n return sign + String(hours)\n }\n var delimeter = dirtyDelimeter || '';\n return sign + String(hours) + delimeter + addLeadingZeros(minutes, 2)\n}\n\nfunction dateLongFormatter (pattern, formatLong, options) {\n switch (pattern) {\n case 'P':\n return formatLong.date({width: 'short'})\n case 'PP':\n return formatLong.date({width: 'medium'})\n case 'PPP':\n return formatLong.date({width: 'long'})\n case 'PPPP':\n default:\n return formatLong.date({width: 'full'})\n }\n}\n\nfunction timeLongFormatter (pattern, formatLong, options) {\n switch (pattern) {\n case 'p':\n return formatLong.time({width: 'short'})\n case 'pp':\n return formatLong.time({width: 'medium'})\n case 'ppp':\n return formatLong.time({width: 'long'})\n case 'pppp':\n default:\n return formatLong.time({width: 'full'})\n }\n}\n\nfunction dateTimeLongFormatter (pattern, formatLong, options) {\n var matchResult = pattern.match(/(P+)(p+)?/);\n var datePattern = matchResult[1];\n var timePattern = matchResult[2];\n\n if (!timePattern) {\n return dateLongFormatter(pattern, formatLong)\n }\n\n var dateTimeFormat;\n\n switch (datePattern) {\n case 'P':\n dateTimeFormat = formatLong.dateTime({width: 'short'});\n break\n case 'PP':\n dateTimeFormat = formatLong.dateTime({width: 'medium'});\n break\n case 'PPP':\n dateTimeFormat = formatLong.dateTime({width: 'long'});\n break\n case 'PPPP':\n default:\n dateTimeFormat = formatLong.dateTime({width: 'full'});\n break\n }\n\n return dateTimeFormat\n .replace('{{date}}', dateLongFormatter(datePattern, formatLong))\n .replace('{{time}}', timeLongFormatter(timePattern, formatLong))\n}\n\nvar longFormatters = {\n p: timeLongFormatter,\n P: dateTimeLongFormatter\n};\n\n/**\n * @name subMilliseconds\n * @category Millisecond Helpers\n * @summary Subtract the specified number of milliseconds from the given date.\n *\n * @description\n * Subtract the specified number of milliseconds from the given date.\n *\n * @param {Date|String|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be subtracted\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * @returns {Date} the new date with the milliseconds subtracted\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // Subtract 750 milliseconds from 10 July 2014 12:45:30.000:\n * var result = subMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:29.250\n */\nfunction subMilliseconds (dirtyDate, dirtyAmount, dirtyOptions) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present')\n }\n\n var amount = toInteger(dirtyAmount);\n return addMilliseconds(dirtyDate, -amount, dirtyOptions)\n}\n\nvar protectedTokens = ['D', 'DD', 'YY', 'YYYY'];\n\nfunction isProtectedToken(token) {\n return protectedTokens.indexOf(token) !== -1\n}\n\nfunction throwProtectedError(token) {\n throw new RangeError(\n '`options.awareOfUnicodeTokens` must be set to `true` to use `' +\n token +\n '` token; see: https://git.io/fxCyr'\n )\n}\n\n// This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nvar formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\n// This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\nvar longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\n\nvar escapedStringRegExp = /^'(.*?)'?$/;\nvar doubleQuoteRegExp = /''/g;\n\n/**\n * @name format\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. The result may vary by locale.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://git.io/fxCyr\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n * (see the last example)\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit | Pattern | Result examples | Notes |\n * |---------------------------------|---------|-----------------------------------|-------|\n * | Era | G..GGG | AD, BC | |\n * | | GGGG | Anno Domini, Before Christ | 2 |\n * | | GGGGG | A, B | |\n * | Calendar year | y | 44, 1, 1900, 2017 | 5 |\n * | | yo | 44th, 1st, 0th, 17th | 5,7 |\n * | | yy | 44, 01, 00, 17 | 5 |\n * | | yyy | 044, 001, 1900, 2017 | 5 |\n * | | yyyy | 0044, 0001, 1900, 2017 | 5 |\n * | | yyyyy | ... | 3,5 |\n * | Local week-numbering year | Y | 44, 1, 1900, 2017 | 5 |\n * | | Yo | 44th, 1st, 1900th, 2017th | 5,7 |\n * | | YY | 44, 01, 00, 17 | 5,8 |\n * | | YYY | 044, 001, 1900, 2017 | 5 |\n * | | YYYY | 0044, 0001, 1900, 2017 | 5,8 |\n * | | YYYYY | ... | 3,5 |\n * | ISO week-numbering year | R | -43, 0, 1, 1900, 2017 | 5,7 |\n * | | RR | -43, 00, 01, 1900, 2017 | 5,7 |\n * | | RRR | -043, 000, 001, 1900, 2017 | 5,7 |\n * | | RRRR | -0043, 0000, 0001, 1900, 2017 | 5,7 |\n * | | RRRRR | ... | 3,5,7 |\n * | Extended year | u | -43, 0, 1, 1900, 2017 | 5 |\n * | | uu | -43, 01, 1900, 2017 | 5 |\n * | | uuu | -043, 001, 1900, 2017 | 5 |\n * | | uuuu | -0043, 0001, 1900, 2017 | 5 |\n * | | uuuuu | ... | 3,5 |\n * | Quarter (formatting) | Q | 1, 2, 3, 4 | |\n * | | Qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | QQ | 01, 02, 03, 04 | |\n * | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | q | 1, 2, 3, 4 | |\n * | | qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | qq | 01, 02, 03, 04 | |\n * | | qqq | Q1, Q2, Q3, Q4 | |\n * | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | qqqqq | 1, 2, 3, 4 | 4 |\n * | Month (formatting) | M | 1, 2, ..., 12 | |\n * | | Mo | 1st, 2nd, ..., 12th | 7 |\n * | | MM | 01, 02, ..., 12 | |\n * | | MMM | Jan, Feb, ..., Dec | |\n * | | MMMM | January, February, ..., December | 2 |\n * | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | L | 1, 2, ..., 12 | |\n * | | Lo | 1st, 2nd, ..., 12th | 7 |\n * | | LL | 01, 02, ..., 12 | |\n * | | LLL | Jan, Feb, ..., Dec | |\n * | | LLLL | January, February, ..., December | 2 |\n * | | LLLLL | J, F, ..., D | |\n * | Local week of year | w | 1, 2, ..., 53 | |\n * | | wo | 1st, 2nd, ..., 53th | 7 |\n * | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | I | 1, 2, ..., 53 | 7 |\n * | | Io | 1st, 2nd, ..., 53th | 7 |\n * | | II | 01, 02, ..., 53 | 7 |\n * | Day of month | d | 1, 2, ..., 31 | |\n * | | do | 1st, 2nd, ..., 31st | 7 |\n * | | dd | 01, 02, ..., 31 | |\n * | Day of year | D | 1, 2, ..., 365, 366 | 8 |\n * | | Do | 1st, 2nd, ..., 365th, 366th | 7 |\n * | | DD | 01, 02, ..., 365, 366 | 8 |\n * | | DDD | 001, 002, ..., 365, 366 | |\n * | | DDDD | ... | 3 |\n * | Day of week (formatting) | E..EEE | Mon, Tue, Wed, ..., Su | |\n * | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | EEEEE | M, T, W, T, F, S, S | |\n * | | EEEEEE | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | ISO day of week (formatting) | i | 1, 2, 3, ..., 7 | 7 |\n * | | io | 1st, 2nd, ..., 7th | 7 |\n * | | ii | 01, 02, ..., 07 | 7 |\n * | | iii | Mon, Tue, Wed, ..., Su | 7 |\n * | | iiii | Monday, Tuesday, ..., Sunday | 2,7 |\n * | | iiiii | M, T, W, T, F, S, S | 7 |\n * | | iiiiii | Mo, Tu, We, Th, Fr, Su, Sa | 7 |\n * | Local day of week (formatting) | e | 2, 3, 4, ..., 1 | |\n * | | eo | 2nd, 3rd, ..., 1st | 7 |\n * | | ee | 02, 03, ..., 01 | |\n * | | eee | Mon, Tue, Wed, ..., Su | |\n * | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | eeeee | M, T, W, T, F, S, S | |\n * | | eeeeee | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | Local day of week (stand-alone) | c | 2, 3, 4, ..., 1 | |\n * | | co | 2nd, 3rd, ..., 1st | 7 |\n * | | cc | 02, 03, ..., 01 | |\n * | | ccc | Mon, Tue, Wed, ..., Su | |\n * | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | ccccc | M, T, W, T, F, S, S | |\n * | | cccccc | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | AM, PM | a..aaa | AM, PM | |\n * | | aaaa | a.m., p.m. | 2 |\n * | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | b..bbb | AM, PM, noon, midnight | |\n * | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | bbbbb | a, p, n, mi | |\n * | Flexible day period | B..BBB | at night, in the morning, ... | |\n * | | BBBB | at night, in the morning, ... | 2 |\n * | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | h | 1, 2, ..., 11, 12 | |\n * | | ho | 1st, 2nd, ..., 11th, 12th | 7 |\n * | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | H | 0, 1, 2, ..., 23 | |\n * | | Ho | 0th, 1st, 2nd, ..., 23rd | 7 |\n * | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | K | 1, 2, ..., 11, 0 | |\n * | | Ko | 1st, 2nd, ..., 11th, 0th | 7 |\n * | | KK | 1, 2, ..., 11, 0 | |\n * | Hour [1-24] | k | 24, 1, 2, ..., 23 | |\n * | | ko | 24th, 1st, 2nd, ..., 23rd | 7 |\n * | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | m | 0, 1, ..., 59 | |\n * | | mo | 0th, 1st, ..., 59th | 7 |\n * | | mm | 00, 01, ..., 59 | |\n * | Second | s | 0, 1, ..., 59 | |\n * | | so | 0th, 1st, ..., 59th | 7 |\n * | | ss | 00, 01, ..., 59 | |\n * | Fraction of second | S | 0, 1, ..., 9 | |\n * | | SS | 00, 01, ..., 99 | |\n * | | SSS | 000, 0001, ..., 999 | |\n * | | SSSS | ... | 3 |\n * | Timezone (ISO-8601 w/ Z) | X | -08, +0530, Z | |\n * | | XX | -0800, +0530, Z | |\n * | | XXX | -08:00, +05:30, Z | |\n * | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | x | -08, +0530, +00 | |\n * | | xx | -0800, +0530, +0000 | |\n * | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Timezone (GMT) | O...OOO | GMT-8, GMT+5:30, GMT+0 | |\n * | | OOOO | GMT-08:00, GMT+05:30, GMT+00:00 | 2 |\n * | Timezone (specific non-locat.) | z...zzz | GMT-8, GMT+5:30, GMT+0 | 6 |\n * | | zzzz | GMT-08:00, GMT+05:30, GMT+00:00 | 2,6 |\n * | Seconds timestamp | t | 512969520 | 7 |\n * | | tt | ... | 3,7 |\n * | Milliseconds timestamp | T | 512969520900 | 7 |\n * | | TT | ... | 3,7 |\n * | Long localized date | P | 05/29/1453 | 7 |\n * | | PP | May 29, 1453 | 7 |\n * | | PPP | May 29th, 1453 | 7 |\n * | | PPPP | Sunday, May 29th, 1453 | 2,7 |\n * | Long localized time | p | 12:00 AM | 7 |\n * | | pp | 12:00:00 AM | 7 |\n * | | ppp | 12:00:00 AM GMT+2 | 7 |\n * | | pppp | 12:00:00 AM GMT+02:00 | 2,7 |\n * | Combination of date and time | Pp | 05/29/1453, 12:00 AM | 7 |\n * | | PPpp | May 29, 1453, 12:00:00 AM | 7 |\n * | | PPPppp | May 29th, 1453 at ... | 7 |\n * | | PPPPpppp| Sunday, May 29th, 1453 at ... | 2,7 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)\n * the output will be the same as default pattern for this unit, usually\n * the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units\n * are marked with \"2\" in the last column of the table.\n *\n * `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`\n *\n * `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`\n *\n * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).\n * The output will be padded with zeros to match the length of the pattern.\n *\n * `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`\n *\n * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 5. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` always returns the last two digits of a year,\n * while `uu` pads single digit years to 2 characters and returns other years unchanged:\n *\n * | Year | `yy` | `uu` |\n * |------|------|------|\n * | 1 | 01 | 01 |\n * | 14 | 14 | 14 |\n * | 376 | 76 | 376 |\n * | 1453 | 53 | 1453 |\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [getISOWeekYear]{@link https://date-fns.org/docs/getISOWeekYear}\n * and [getWeekYear]{@link https://date-fns.org/docs/getWeekYear}).\n *\n * 6. Specific non-location timezones are currently unavailable in `date-fns`,\n * so right now these tokens fall back to GMT timezones.\n *\n * 7. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `t`: seconds timestamp\n * - `T`: milliseconds timestamp\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 8. These tokens are often confused with others. See: https://git.io/fxCyr\n *\n * @param {Date|String|Number} date - the original date\n * @param {String} format - the string of tokens\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {Number} [options.firstWeekContainsDate=1] - the day of January, which is\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {Boolean} [options.awareOfUnicodeTokens=false] - if true, allows usage of Unicode tokens causes confusion:\n * - Some of the day of year tokens (`D`, `DD`) that are confused with the day of month tokens (`d`, `dd`).\n * - Some of the local week-numbering year tokens (`YY`, `YYYY`) that are confused with the calendar year tokens (`yy`, `yyyy`).\n * See: https://git.io/fxCyr\n * @returns {String} the formatted date string\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n * @throws {RangeError} `options.locale` must contain `localize` property\n * @throws {RangeError} `options.locale` must contain `formatLong` property\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n * @throws {RangeError} `options.awareOfUnicodeTokens` must be set to `true` to use `XX` token; see: https://git.io/fxCyr\n *\n * @example\n * // Represent 11 February 2014 in middle-endian format:\n * var result = format(\n * new Date(2014, 1, 11),\n * 'MM/dd/yyyy'\n * )\n * //=> '02/11/2014'\n *\n * @example\n * // Represent 2 July 2014 in Esperanto:\n * import { eoLocale } from 'date-fns/locale/eo'\n * var result = format(\n * new Date(2014, 6, 2),\n * \"do 'de' MMMM yyyy\",\n * {locale: eoLocale}\n * )\n * //=> '2-a de julio 2014'\n *\n * @example\n * // Escape string by single quote characters:\n * var result = format(\n * new Date(2014, 6, 2, 15),\n * \"h 'o''clock'\"\n * )\n * //=> \"3 o'clock\"\n */\nfunction format(dirtyDate, dirtyFormatStr, dirtyOptions) {\n if (arguments.length < 2) {\n throw new TypeError(\n '2 arguments required, but only ' + arguments.length + ' present'\n )\n }\n\n var formatStr = String(dirtyFormatStr);\n var options = dirtyOptions || {};\n\n var locale = options.locale || locale$1;\n\n var localeFirstWeekContainsDate =\n locale.options && locale.options.firstWeekContainsDate;\n var defaultFirstWeekContainsDate =\n localeFirstWeekContainsDate == null\n ? 1\n : toInteger(localeFirstWeekContainsDate);\n var firstWeekContainsDate =\n options.firstWeekContainsDate == null\n ? defaultFirstWeekContainsDate\n : toInteger(options.firstWeekContainsDate);\n\n // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError(\n 'firstWeekContainsDate must be between 1 and 7 inclusively'\n )\n }\n\n var localeWeekStartsOn = locale.options && locale.options.weekStartsOn;\n var defaultWeekStartsOn =\n localeWeekStartsOn == null ? 0 : toInteger(localeWeekStartsOn);\n var weekStartsOn =\n options.weekStartsOn == null\n ? defaultWeekStartsOn\n : toInteger(options.weekStartsOn);\n\n // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively')\n }\n\n if (!locale.localize) {\n throw new RangeError('locale must contain localize property')\n }\n\n if (!locale.formatLong) {\n throw new RangeError('locale must contain formatLong property')\n }\n\n var originalDate = toDate(dirtyDate, options);\n\n if (!isValid(originalDate, options)) {\n return 'Invalid Date'\n }\n\n // Convert the date in system timezone to the same date in UTC+00:00 timezone.\n // This ensures that when UTC functions will be implemented, locales will be compatible with them.\n // See an issue about UTC functions: https://github.com/date-fns/date-fns/issues/376\n var timezoneOffset = getTimezoneOffsetInMilliseconds(originalDate);\n var utcDate = subMilliseconds(originalDate, timezoneOffset, options);\n\n var formatterOptions = {\n firstWeekContainsDate: firstWeekContainsDate,\n weekStartsOn: weekStartsOn,\n locale: locale,\n _originalDate: originalDate\n };\n\n var result = formatStr\n .match(longFormattingTokensRegExp)\n .map(function(substring) {\n var firstCharacter = substring[0];\n if (firstCharacter === 'p' || firstCharacter === 'P') {\n var longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale.formatLong, formatterOptions)\n }\n return substring\n })\n .join('')\n .match(formattingTokensRegExp)\n .map(function(substring) {\n // Replace two single quote characters with one single quote character\n if (substring === \"''\") {\n return \"'\"\n }\n\n var firstCharacter = substring[0];\n if (firstCharacter === \"'\") {\n return cleanEscapedString(substring)\n }\n\n var formatter = formatters[firstCharacter];\n if (formatter) {\n if (!options.awareOfUnicodeTokens && isProtectedToken(substring)) {\n throwProtectedError(substring);\n }\n return formatter(utcDate, substring, locale.localize, formatterOptions)\n }\n\n return substring\n })\n .join('');\n\n return result\n}\n\nfunction cleanEscapedString(input) {\n return input.match(escapedStringRegExp)[1].replace(doubleQuoteRegExp, \"'\")\n}\n\n/**\n * @name isAfter\n * @category Common Helpers\n * @summary Is the first date after the second one?\n *\n * @description\n * Is the first date after the second one?\n *\n * @param {Date|String|Number} date - the date that should be after the other one to return true\n * @param {Date|String|Number} dateToCompare - the date to compare with\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * @returns {Boolean} the first date is after the second date\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // Is 10 July 1989 after 11 February 1987?\n * var result = isAfter(new Date(1989, 6, 10), new Date(1987, 1, 11))\n * //=> true\n */\nfunction isAfter (dirtyDate, dirtyDateToCompare, dirtyOptions) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present')\n }\n\n var date = toDate(dirtyDate, dirtyOptions);\n var dateToCompare = toDate(dirtyDateToCompare, dirtyOptions);\n return date.getTime() > dateToCompare.getTime()\n}\n\n/**\n * @name isBefore\n * @category Common Helpers\n * @summary Is the first date before the second one?\n *\n * @description\n * Is the first date before the second one?\n *\n * @param {Date|String|Number} date - the date that should be before the other one to return true\n * @param {Date|String|Number} dateToCompare - the date to compare with\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * @returns {Boolean} the first date is before the second date\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // Is 10 July 1989 before 11 February 1987?\n * var result = isBefore(new Date(1989, 6, 10), new Date(1987, 1, 11))\n * //=> false\n */\nfunction isBefore (dirtyDate, dirtyDateToCompare, dirtyOptions) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present')\n }\n\n var date = toDate(dirtyDate, dirtyOptions);\n var dateToCompare = toDate(dirtyDateToCompare, dirtyOptions);\n return date.getTime() < dateToCompare.getTime()\n}\n\n/**\n * @name isEqual\n * @category Common Helpers\n * @summary Are the given dates equal?\n *\n * @description\n * Are the given dates equal?\n *\n * @param {Date|String|Number} dateLeft - the first date to compare\n * @param {Date|String|Number} dateRight - the second date to compare\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * @returns {Boolean} the dates are equal\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // Are 2 July 2014 06:30:45.000 and 2 July 2014 06:30:45.500 equal?\n * var result = isEqual(\n * new Date(2014, 6, 2, 6, 30, 45, 0)\n * new Date(2014, 6, 2, 6, 30, 45, 500)\n * )\n * //=> false\n */\nfunction isEqual$1 (dirtyLeftDate, dirtyRightDate, dirtyOptions) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present')\n }\n\n var dateLeft = toDate(dirtyLeftDate, dirtyOptions);\n var dateRight = toDate(dirtyRightDate, dirtyOptions);\n return dateLeft.getTime() === dateRight.getTime()\n}\n\n// This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\nfunction setUTCDay (dirtyDate, dirtyDay, dirtyOptions) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present')\n }\n\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn;\n var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : toInteger(localeWeekStartsOn);\n var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : toInteger(options.weekStartsOn);\n\n // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively')\n }\n\n var date = toDate(dirtyDate, dirtyOptions);\n var day = toInteger(dirtyDay);\n\n var currentDay = date.getUTCDay();\n\n var remainder = day % 7;\n var dayIndex = (remainder + 7) % 7;\n\n var diff = (dayIndex < weekStartsOn ? 7 : 0) + day - currentDay;\n\n date.setUTCDate(date.getUTCDate() + diff);\n return date\n}\n\n// This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\nfunction setUTCWeek (dirtyDate, dirtyWeek, dirtyOptions) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present')\n }\n\n var date = toDate(dirtyDate, dirtyOptions);\n var week = toInteger(dirtyWeek);\n var diff = getUTCWeek(date, dirtyOptions) - week;\n date.setUTCDate(date.getUTCDate() - diff * 7);\n return date\n}\n\n// This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\nfunction setUTCISODay (dirtyDate, dirtyDay, dirtyOptions) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present')\n }\n\n var day = toInteger(dirtyDay);\n\n if (day % 7 === 0) {\n day = day - 7;\n }\n\n var weekStartsOn = 1;\n var date = toDate(dirtyDate, dirtyOptions);\n var currentDay = date.getUTCDay();\n\n var remainder = day % 7;\n var dayIndex = (remainder + 7) % 7;\n\n var diff = (dayIndex < weekStartsOn ? 7 : 0) + day - currentDay;\n\n date.setUTCDate(date.getUTCDate() + diff);\n return date\n}\n\n// This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\nfunction setUTCISOWeek (dirtyDate, dirtyISOWeek, dirtyOptions) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present')\n }\n\n var date = toDate(dirtyDate, dirtyOptions);\n var isoWeek = toInteger(dirtyISOWeek);\n var diff = getUTCISOWeek(date, dirtyOptions) - isoWeek;\n date.setUTCDate(date.getUTCDate() - diff * 7);\n return date\n}\n\nvar MILLISECONDS_IN_HOUR$1 = 3600000;\nvar MILLISECONDS_IN_MINUTE$2 = 60000;\nvar MILLISECONDS_IN_SECOND = 1000;\n\nvar numericPatterns = {\n month: /^(1[0-2]|0?\\d)/, // 0 to 12\n date: /^(3[0-1]|[0-2]?\\d)/, // 0 to 31\n dayOfYear: /^(36[0-6]|3[0-5]\\d|[0-2]?\\d?\\d)/, // 0 to 366\n week: /^(5[0-3]|[0-4]?\\d)/, // 0 to 53\n hour23h: /^(2[0-3]|[0-1]?\\d)/, // 0 to 23\n hour24h: /^(2[0-4]|[0-1]?\\d)/, // 0 to 24\n hour11h: /^(1[0-1]|0?\\d)/, // 0 to 11\n hour12h: /^(1[0-2]|0?\\d)/, // 0 to 12\n minute: /^[0-5]?\\d/, // 0 to 59\n second: /^[0-5]?\\d/, // 0 to 59\n\n singleDigit: /^\\d/, // 0 to 9\n twoDigits: /^\\d{1,2}/, // 0 to 99\n threeDigits: /^\\d{1,3}/, // 0 to 999\n fourDigits: /^\\d{1,4}/, // 0 to 9999\n\n anyDigitsSigned: /^-?\\d+/,\n singleDigitSigned: /^-?\\d/, // 0 to 9, -0 to -9\n twoDigitsSigned: /^-?\\d{1,2}/, // 0 to 99, -0 to -99\n threeDigitsSigned: /^-?\\d{1,3}/, // 0 to 999, -0 to -999\n fourDigitsSigned: /^-?\\d{1,4}/ // 0 to 9999, -0 to -9999\n};\n\nvar timezonePatterns = {\n basicOptionalMinutes: /^([+-])(\\d{2})(\\d{2})?|Z/,\n basic: /^([+-])(\\d{2})(\\d{2})|Z/,\n basicOptionalSeconds: /^([+-])(\\d{2})(\\d{2})((\\d{2}))?|Z/,\n extended: /^([+-])(\\d{2}):(\\d{2})|Z/,\n extendedOptionalSeconds: /^([+-])(\\d{2}):(\\d{2})(:(\\d{2}))?|Z/\n};\n\nfunction parseNumericPattern (pattern, string, valueCallback) {\n var matchResult = string.match(pattern);\n\n if (!matchResult) {\n return null\n }\n\n var value = parseInt(matchResult[0], 10);\n\n return {\n value: valueCallback ? valueCallback(value) : value,\n rest: string.slice(matchResult[0].length)\n }\n}\n\nfunction parseTimezonePattern (pattern, string) {\n var matchResult = string.match(pattern);\n\n if (!matchResult) {\n return null\n }\n\n // Input is 'Z'\n if (matchResult[0] === 'Z') {\n return {\n value: 0,\n rest: string.slice(1)\n }\n }\n\n var sign = matchResult[1] === '+' ? 1 : -1;\n var hours = matchResult[2] ? parseInt(matchResult[2], 10) : 0;\n var minutes = matchResult[3] ? parseInt(matchResult[3], 10) : 0;\n var seconds = matchResult[5] ? parseInt(matchResult[5], 10) : 0;\n\n return {\n value: sign * (\n hours * MILLISECONDS_IN_HOUR$1 +\n minutes * MILLISECONDS_IN_MINUTE$2 +\n seconds * MILLISECONDS_IN_SECOND\n ),\n rest: string.slice(matchResult[0].length)\n }\n}\n\nfunction parseAnyDigitsSigned (string, valueCallback) {\n return parseNumericPattern(numericPatterns.anyDigitsSigned, string, valueCallback)\n}\n\nfunction parseNDigits (n, string, valueCallback) {\n switch (n) {\n case 1:\n return parseNumericPattern(numericPatterns.singleDigit, string, valueCallback)\n case 2:\n return parseNumericPattern(numericPatterns.twoDigits, string, valueCallback)\n case 3:\n return parseNumericPattern(numericPatterns.threeDigits, string, valueCallback)\n case 4:\n return parseNumericPattern(numericPatterns.fourDigits, string, valueCallback)\n default:\n return parseNumericPattern(new RegExp('^\\\\d{1,' + n + '}'), string, valueCallback)\n }\n}\n\nfunction parseNDigitsSigned (n, string, valueCallback) {\n switch (n) {\n case 1:\n return parseNumericPattern(numericPatterns.singleDigitSigned, string, valueCallback)\n case 2:\n return parseNumericPattern(numericPatterns.twoDigitsSigned, string, valueCallback)\n case 3:\n return parseNumericPattern(numericPatterns.threeDigitsSigned, string, valueCallback)\n case 4:\n return parseNumericPattern(numericPatterns.fourDigitsSigned, string, valueCallback)\n default:\n return parseNumericPattern(new RegExp('^-?\\\\d{1,' + n + '}'), string, valueCallback)\n }\n}\n\nfunction dayPeriodEnumToHours (enumValue) {\n switch (enumValue) {\n case 'morning':\n return 4\n case 'evening':\n return 17\n case 'pm':\n case 'noon':\n case 'afternoon':\n return 12\n case 'am':\n case 'midnight':\n case 'night':\n default:\n return 0\n }\n}\n\nfunction normalizeTwoDigitYear (twoDigitYear, currentYear) {\n var isCommonEra = currentYear > 0;\n // Absolute number of the current year:\n // 1 -> 1 AC\n // 0 -> 1 BC\n // -1 -> 2 BC\n var absCurrentYear = isCommonEra ? currentYear : 1 - currentYear;\n\n var result;\n if (absCurrentYear <= 50) {\n result = twoDigitYear || 100;\n } else {\n var rangeEnd = absCurrentYear + 50;\n var rangeEndCentury = Math.floor(rangeEnd / 100) * 100;\n var isPreviousCentury = twoDigitYear >= rangeEnd % 100;\n result = twoDigitYear + rangeEndCentury - (isPreviousCentury ? 100 : 0);\n }\n\n return isCommonEra ? result : 1 - result\n}\n\nvar DAYS_IN_MONTH$1 = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nvar DAYS_IN_MONTH_LEAP_YEAR$1 = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n\n// User for validation\nfunction isLeapYearIndex$1 (year) {\n return year % 400 === 0 || (year % 4 === 0 && year % 100 !== 0)\n}\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O* | Timezone (GMT) |\n * | p | | P | |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z* | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `parse` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n */\nvar parsers = {\n // Era\n G: {\n priority: 140,\n parse: function (string, token, match, options) {\n switch (token) {\n // AD, BC\n case 'G':\n case 'GG':\n case 'GGG':\n return match.era(string, {width: 'abbreviated'}) ||\n match.era(string, {width: 'narrow'})\n // A, B\n case 'GGGGG':\n return match.era(string, {width: 'narrow'})\n // Anno Domini, Before Christ\n case 'GGGG':\n default:\n return match.era(string, {width: 'wide'}) ||\n match.era(string, {width: 'abbreviated'}) ||\n match.era(string, {width: 'narrow'})\n }\n },\n set: function (date, value, options) {\n // Sets year 10 BC if BC, or 10 AC if AC\n date.setUTCFullYear(value === 1 ? 10 : -9, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date\n }\n },\n\n // Year\n y: {\n // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_Patterns\n // | Year | y | yy | yyy | yyyy | yyyyy |\n // |----------|-------|----|-------|-------|-------|\n // | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n // | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n // | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n\n priority: 130,\n parse: function (string, token, match, options) {\n var valueCallback = function (year) {\n return {\n year: year,\n isTwoDigitYear: token === 'yy'\n }\n };\n\n switch (token) {\n case 'y':\n return parseNDigits(4, string, valueCallback)\n case 'yo':\n return match.ordinalNumber(string, {unit: 'year', valueCallback: valueCallback})\n default:\n return parseNDigits(token.length, string, valueCallback)\n }\n },\n validate: function (date, value, options) {\n return value.isTwoDigitYear || value.year > 0\n },\n set: function (date, value, options) {\n var currentYear = getUTCWeekYear(date, options);\n\n if (value.isTwoDigitYear) {\n var normalizedTwoDigitYear = normalizeTwoDigitYear(value.year, currentYear);\n date.setUTCFullYear(normalizedTwoDigitYear, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date\n }\n\n var year = currentYear > 0 ? value.year : 1 - value.year;\n date.setUTCFullYear(year, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date\n }\n },\n\n // Local week-numbering year\n Y: {\n priority: 130,\n parse: function (string, token, match, options) {\n var valueCallback = function (year) {\n return {\n year: year,\n isTwoDigitYear: token === 'YY'\n }\n };\n\n switch (token) {\n case 'Y':\n return parseNDigits(4, string, valueCallback)\n case 'Yo':\n return match.ordinalNumber(string, {unit: 'year', valueCallback: valueCallback})\n default:\n return parseNDigits(token.length, string, valueCallback)\n }\n },\n validate: function (date, value, options) {\n return value.isTwoDigitYear || value.year > 0\n },\n set: function (date, value, options) {\n var currentYear = date.getUTCFullYear();\n\n if (value.isTwoDigitYear) {\n var normalizedTwoDigitYear = normalizeTwoDigitYear(value.year, currentYear);\n date.setUTCFullYear(normalizedTwoDigitYear, 0, options.firstWeekContainsDate);\n date.setUTCHours(0, 0, 0, 0);\n return startOfUTCWeek(date, options)\n }\n\n var year = currentYear > 0 ? value.year : 1 - value.year;\n date.setUTCFullYear(year, 0, options.firstWeekContainsDate);\n date.setUTCHours(0, 0, 0, 0);\n return startOfUTCWeek(date, options)\n }\n },\n\n // ISO week-numbering year\n R: {\n priority: 130,\n parse: function (string, token, match, options) {\n if (token === 'R') {\n return parseNDigitsSigned(4, string)\n }\n\n return parseNDigitsSigned(token.length, string)\n },\n set: function (date, value, options) {\n var firstWeekOfYear = new Date(0);\n firstWeekOfYear.setUTCFullYear(value, 0, 4);\n firstWeekOfYear.setUTCHours(0, 0, 0, 0);\n return startOfUTCISOWeek(firstWeekOfYear)\n }\n },\n\n // Extended year\n u: {\n priority: 130,\n parse: function (string, token, match, options) {\n if (token === 'u') {\n return parseNDigitsSigned(4, string)\n }\n\n return parseNDigitsSigned(token.length, string)\n },\n set: function (date, value, options) {\n date.setUTCFullYear(value, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date\n }\n },\n\n // Quarter\n Q: {\n priority: 120,\n parse: function (string, token, match, options) {\n switch (token) {\n // 1, 2, 3, 4\n case 'Q':\n case 'QQ': // 01, 02, 03, 04\n return parseNDigits(token.length, string)\n // 1st, 2nd, 3rd, 4th\n case 'Qo':\n return match.ordinalNumber(string, {unit: 'quarter'})\n // Q1, Q2, Q3, Q4\n case 'QQQ':\n return match.quarter(string, {width: 'abbreviated', context: 'formatting'}) ||\n match.quarter(string, {width: 'narrow', context: 'formatting'})\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case 'QQQQQ':\n return match.quarter(string, {width: 'narrow', context: 'formatting'})\n // 1st quarter, 2nd quarter, ...\n case 'QQQQ':\n default:\n return match.quarter(string, {width: 'wide', context: 'formatting'}) ||\n match.quarter(string, {width: 'abbreviated', context: 'formatting'}) ||\n match.quarter(string, {width: 'narrow', context: 'formatting'})\n }\n },\n validate: function (date, value, options) {\n return value >= 1 && value <= 4\n },\n set: function (date, value, options) {\n date.setUTCMonth((value - 1) * 3, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date\n }\n },\n\n // Stand-alone quarter\n q: {\n priority: 120,\n parse: function (string, token, match, options) {\n switch (token) {\n // 1, 2, 3, 4\n case 'q':\n case 'qq': // 01, 02, 03, 04\n return parseNDigits(token.length, string)\n // 1st, 2nd, 3rd, 4th\n case 'qo':\n return match.ordinalNumber(string, {unit: 'quarter'})\n // Q1, Q2, Q3, Q4\n case 'qqq':\n return match.quarter(string, {width: 'abbreviated', context: 'standalone'}) ||\n match.quarter(string, {width: 'narrow', context: 'standalone'})\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case 'qqqqq':\n return match.quarter(string, {width: 'narrow', context: 'standalone'})\n // 1st quarter, 2nd quarter, ...\n case 'qqqq':\n default:\n return match.quarter(string, {width: 'wide', context: 'standalone'}) ||\n match.quarter(string, {width: 'abbreviated', context: 'standalone'}) ||\n match.quarter(string, {width: 'narrow', context: 'standalone'})\n }\n },\n validate: function (date, value, options) {\n return value >= 1 && value <= 4\n },\n set: function (date, value, options) {\n date.setUTCMonth((value - 1) * 3, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date\n }\n },\n\n // Month\n M: {\n priority: 110,\n parse: function (string, token, match, options) {\n var valueCallback = function (value) {\n return value - 1\n };\n\n switch (token) {\n // 1, 2, ..., 12\n case 'M':\n return parseNumericPattern(numericPatterns.month, string, valueCallback)\n // 01, 02, ..., 12\n case 'MM':\n return parseNDigits(2, string, valueCallback)\n // 1st, 2nd, ..., 12th\n case 'Mo':\n return match.ordinalNumber(string, {unit: 'month', valueCallback: valueCallback})\n // Jan, Feb, ..., Dec\n case 'MMM':\n return match.month(string, {width: 'abbreviated', context: 'formatting'}) ||\n match.month(string, {width: 'narrow', context: 'formatting'})\n // J, F, ..., D\n case 'MMMMM':\n return match.month(string, {width: 'narrow', context: 'formatting'})\n // January, February, ..., December\n case 'MMMM':\n default:\n return match.month(string, {width: 'wide', context: 'formatting'}) ||\n match.month(string, {width: 'abbreviated', context: 'formatting'}) ||\n match.month(string, {width: 'narrow', context: 'formatting'})\n }\n },\n validate: function (date, value, options) {\n return value >= 0 && value <= 11\n },\n set: function (date, value, options) {\n date.setUTCMonth(value, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date\n }\n },\n\n // Stand-alone month\n L: {\n priority: 110,\n parse: function (string, token, match, options) {\n var valueCallback = function (value) {\n return value - 1\n };\n\n switch (token) {\n // 1, 2, ..., 12\n case 'L':\n return parseNumericPattern(numericPatterns.month, string, valueCallback)\n // 01, 02, ..., 12\n case 'LL':\n return parseNDigits(2, string, valueCallback)\n // 1st, 2nd, ..., 12th\n case 'Lo':\n return match.ordinalNumber(string, {unit: 'month', valueCallback: valueCallback})\n // Jan, Feb, ..., Dec\n case 'LLL':\n return match.month(string, {width: 'abbreviated', context: 'standalone'}) ||\n match.month(string, {width: 'narrow', context: 'standalone'})\n // J, F, ..., D\n case 'LLLLL':\n return match.month(string, {width: 'narrow', context: 'standalone'})\n // January, February, ..., December\n case 'LLLL':\n default:\n return match.month(string, {width: 'wide', context: 'standalone'}) ||\n match.month(string, {width: 'abbreviated', context: 'standalone'}) ||\n match.month(string, {width: 'narrow', context: 'standalone'})\n }\n },\n validate: function (date, value, options) {\n return value >= 0 && value <= 11\n },\n set: function (date, value, options) {\n date.setUTCMonth(value, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date\n }\n },\n\n // Local week of year\n w: {\n priority: 100,\n parse: function (string, token, match, options) {\n switch (token) {\n case 'w':\n return parseNumericPattern(numericPatterns.week, string)\n case 'wo':\n return match.ordinalNumber(string, {unit: 'week'})\n default:\n return parseNDigits(token.length, string)\n }\n },\n validate: function (date, value, options) {\n return value >= 1 && value <= 53\n },\n set: function (date, value, options) {\n return startOfUTCWeek(setUTCWeek(date, value, options), options)\n }\n },\n\n // ISO week of year\n I: {\n priority: 100,\n parse: function (string, token, match, options) {\n switch (token) {\n case 'I':\n return parseNumericPattern(numericPatterns.week, string)\n case 'Io':\n return match.ordinalNumber(string, {unit: 'week'})\n default:\n return parseNDigits(token.length, string)\n }\n },\n validate: function (date, value, options) {\n return value >= 1 && value <= 53\n },\n set: function (date, value, options) {\n return startOfUTCISOWeek(setUTCISOWeek(date, value, options), options)\n }\n },\n\n // Day of the month\n d: {\n priority: 90,\n parse: function (string, token, match, options) {\n switch (token) {\n case 'd':\n return parseNumericPattern(numericPatterns.date, string)\n case 'do':\n return match.ordinalNumber(string, {unit: 'date'})\n default:\n return parseNDigits(token.length, string)\n }\n },\n validate: function (date, value, options) {\n var year = date.getUTCFullYear();\n var isLeapYear = isLeapYearIndex$1(year);\n var month = date.getUTCMonth();\n if (isLeapYear) {\n return value >= 1 && value <= DAYS_IN_MONTH_LEAP_YEAR$1[month]\n } else {\n return value >= 1 && value <= DAYS_IN_MONTH$1[month]\n }\n },\n set: function (date, value, options) {\n date.setUTCDate(value);\n date.setUTCHours(0, 0, 0, 0);\n return date\n }\n },\n\n // Day of year\n D: {\n priority: 90,\n parse: function (string, token, match, options) {\n switch (token) {\n case 'D':\n case 'DD':\n return parseNumericPattern(numericPatterns.dayOfYear, string)\n case 'Do':\n return match.ordinalNumber(string, {unit: 'date'})\n default:\n return parseNDigits(token.length, string)\n }\n },\n validate: function (date, value, options) {\n var year = date.getUTCFullYear();\n var isLeapYear = isLeapYearIndex$1(year);\n if (isLeapYear) {\n return value >= 1 && value <= 366\n } else {\n return value >= 1 && value <= 365\n }\n },\n set: function (date, value, options) {\n date.setUTCMonth(0, value);\n date.setUTCHours(0, 0, 0, 0);\n return date\n }\n },\n\n // Day of week\n E: {\n priority: 90,\n parse: function (string, token, match, options) {\n switch (token) {\n // Tue\n case 'E':\n case 'EE':\n case 'EEE':\n return match.day(string, {width: 'abbreviated', context: 'formatting'}) ||\n match.day(string, {width: 'short', context: 'formatting'}) ||\n match.day(string, {width: 'narrow', context: 'formatting'})\n // T\n case 'EEEEE':\n return match.day(string, {width: 'narrow', context: 'formatting'})\n // Tu\n case 'EEEEEE':\n return match.day(string, {width: 'short', context: 'formatting'}) ||\n match.day(string, {width: 'narrow', context: 'formatting'})\n // Tuesday\n case 'EEEE':\n default:\n return match.day(string, {width: 'wide', context: 'formatting'}) ||\n match.day(string, {width: 'abbreviated', context: 'formatting'}) ||\n match.day(string, {width: 'short', context: 'formatting'}) ||\n match.day(string, {width: 'narrow', context: 'formatting'})\n }\n },\n validate: function (date, value, options) {\n return value >= 0 && value <= 6\n },\n set: function (date, value, options) {\n date = setUTCDay(date, value, options);\n date.setUTCHours(0, 0, 0, 0);\n return date\n }\n },\n\n // Local day of week\n e: {\n priority: 90,\n parse: function (string, token, match, options) {\n var valueCallback = function (value) {\n var wholeWeekDays = Math.floor((value - 1) / 7) * 7;\n return (value + options.weekStartsOn + 6) % 7 + wholeWeekDays\n };\n\n switch (token) {\n // 3\n case 'e':\n case 'ee': // 03\n return parseNDigits(token.length, string, valueCallback)\n // 3rd\n case 'eo':\n return match.ordinalNumber(string, {unit: 'day', valueCallback: valueCallback})\n // Tue\n case 'eee':\n return match.day(string, {width: 'abbreviated', context: 'formatting'}) ||\n match.day(string, {width: 'short', context: 'formatting'}) ||\n match.day(string, {width: 'narrow', context: 'formatting'})\n // T\n case 'eeeee':\n return match.day(string, {width: 'narrow', context: 'formatting'})\n // Tu\n case 'eeeeee':\n return match.day(string, {width: 'short', context: 'formatting'}) ||\n match.day(string, {width: 'narrow', context: 'formatting'})\n // Tuesday\n case 'eeee':\n default:\n return match.day(string, {width: 'wide', context: 'formatting'}) ||\n match.day(string, {width: 'abbreviated', context: 'formatting'}) ||\n match.day(string, {width: 'short', context: 'formatting'}) ||\n match.day(string, {width: 'narrow', context: 'formatting'})\n }\n },\n validate: function (date, value, options) {\n return value >= 0 && value <= 6\n },\n set: function (date, value, options) {\n date = setUTCDay(date, value, options);\n date.setUTCHours(0, 0, 0, 0);\n return date\n }\n },\n\n // Stand-alone local day of week\n c: {\n priority: 90,\n parse: function (string, token, match, options) {\n var valueCallback = function (value) {\n var wholeWeekDays = Math.floor((value - 1) / 7) * 7;\n return (value + options.weekStartsOn + 6) % 7 + wholeWeekDays\n };\n\n switch (token) {\n // 3\n case 'c':\n case 'cc': // 03\n return parseNDigits(token.length, string, valueCallback)\n // 3rd\n case 'co':\n return match.ordinalNumber(string, {unit: 'day', valueCallback: valueCallback})\n // Tue\n case 'ccc':\n return match.day(string, {width: 'abbreviated', context: 'standalone'}) ||\n match.day(string, {width: 'short', context: 'standalone'}) ||\n match.day(string, {width: 'narrow', context: 'standalone'})\n // T\n case 'ccccc':\n return match.day(string, {width: 'narrow', context: 'standalone'})\n // Tu\n case 'cccccc':\n return match.day(string, {width: 'short', context: 'standalone'}) ||\n match.day(string, {width: 'narrow', context: 'standalone'})\n // Tuesday\n case 'cccc':\n default:\n return match.day(string, {width: 'wide', context: 'standalone'}) ||\n match.day(string, {width: 'abbreviated', context: 'standalone'}) ||\n match.day(string, {width: 'short', context: 'standalone'}) ||\n match.day(string, {width: 'narrow', context: 'standalone'})\n }\n },\n validate: function (date, value, options) {\n return value >= 0 && value <= 6\n },\n set: function (date, value, options) {\n date = setUTCDay(date, value, options);\n date.setUTCHours(0, 0, 0, 0);\n return date\n }\n },\n\n // ISO day of week\n i: {\n priority: 90,\n parse: function (string, token, match, options) {\n var valueCallback = function (value) {\n if (value === 0) {\n return 7\n }\n return value\n };\n\n switch (token) {\n // 2\n case 'i':\n case 'ii': // 02\n return parseNDigits(token.length, string)\n // 2nd\n case 'io':\n return match.ordinalNumber(string, {unit: 'day'})\n // Tue\n case 'iii':\n return match.day(string, {width: 'abbreviated', context: 'formatting', valueCallback: valueCallback}) ||\n match.day(string, {width: 'short', context: 'formatting', valueCallback: valueCallback}) ||\n match.day(string, {width: 'narrow', context: 'formatting', valueCallback: valueCallback})\n // T\n case 'iiiii':\n return match.day(string, {width: 'narrow', context: 'formatting', valueCallback: valueCallback})\n // Tu\n case 'iiiiii':\n return match.day(string, {width: 'short', context: 'formatting', valueCallback: valueCallback}) ||\n match.day(string, {width: 'narrow', context: 'formatting', valueCallback: valueCallback})\n // Tuesday\n case 'iiii':\n default:\n return match.day(string, {width: 'wide', context: 'formatting', valueCallback: valueCallback}) ||\n match.day(string, {width: 'abbreviated', context: 'formatting', valueCallback: valueCallback}) ||\n match.day(string, {width: 'short', context: 'formatting', valueCallback: valueCallback}) ||\n match.day(string, {width: 'narrow', context: 'formatting', valueCallback: valueCallback})\n }\n },\n validate: function (date, value, options) {\n return value >= 1 && value <= 7\n },\n set: function (date, value, options) {\n date = setUTCISODay(date, value, options);\n date.setUTCHours(0, 0, 0, 0);\n return date\n }\n },\n\n // AM or PM\n a: {\n priority: 80,\n parse: function (string, token, match, options) {\n switch (token) {\n case 'a':\n case 'aa':\n case 'aaa':\n return match.dayPeriod(string, {width: 'abbreviated', context: 'formatting'}) ||\n match.dayPeriod(string, {width: 'narrow', context: 'formatting'})\n case 'aaaaa':\n return match.dayPeriod(string, {width: 'narrow', context: 'formatting'})\n case 'aaaa':\n default:\n return match.dayPeriod(string, {width: 'wide', context: 'formatting'}) ||\n match.dayPeriod(string, {width: 'abbreviated', context: 'formatting'}) ||\n match.dayPeriod(string, {width: 'narrow', context: 'formatting'})\n }\n },\n set: function (date, value, options) {\n date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date\n }\n },\n\n // AM, PM, midnight\n b: {\n priority: 80,\n parse: function (string, token, match, options) {\n switch (token) {\n case 'b':\n case 'bb':\n case 'bbb':\n return match.dayPeriod(string, {width: 'abbreviated', context: 'formatting'}) ||\n match.dayPeriod(string, {width: 'narrow', context: 'formatting'})\n case 'bbbbb':\n return match.dayPeriod(string, {width: 'narrow', context: 'formatting'})\n case 'bbbb':\n default:\n return match.dayPeriod(string, {width: 'wide', context: 'formatting'}) ||\n match.dayPeriod(string, {width: 'abbreviated', context: 'formatting'}) ||\n match.dayPeriod(string, {width: 'narrow', context: 'formatting'})\n }\n },\n set: function (date, value, options) {\n date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date\n }\n },\n\n // in the morning, in the afternoon, in the evening, at night\n B: {\n priority: 80,\n parse: function (string, token, match, options) {\n switch (token) {\n case 'B':\n case 'BB':\n case 'BBB':\n return match.dayPeriod(string, {width: 'abbreviated', context: 'formatting'}) ||\n match.dayPeriod(string, {width: 'narrow', context: 'formatting'})\n case 'BBBBB':\n return match.dayPeriod(string, {width: 'narrow', context: 'formatting'})\n case 'BBBB':\n default:\n return match.dayPeriod(string, {width: 'wide', context: 'formatting'}) ||\n match.dayPeriod(string, {width: 'abbreviated', context: 'formatting'}) ||\n match.dayPeriod(string, {width: 'narrow', context: 'formatting'})\n }\n },\n set: function (date, value, options) {\n date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date\n }\n },\n\n // Hour [1-12]\n h: {\n priority: 70,\n parse: function (string, token, match, options) {\n switch (token) {\n case 'h':\n return parseNumericPattern(numericPatterns.hour12h, string)\n case 'ho':\n return match.ordinalNumber(string, {unit: 'hour'})\n default:\n return parseNDigits(token.length, string)\n }\n },\n validate: function (date, value, options) {\n return value >= 1 && value <= 12\n },\n set: function (date, value, options) {\n var isPM = date.getUTCHours() >= 12;\n if (isPM && value < 12) {\n date.setUTCHours(value + 12, 0, 0, 0);\n } else if (!isPM && value === 12) {\n date.setUTCHours(0, 0, 0, 0);\n } else {\n date.setUTCHours(value, 0, 0, 0);\n }\n return date\n }\n },\n\n // Hour [0-23]\n H: {\n priority: 70,\n parse: function (string, token, match, options) {\n switch (token) {\n case 'H':\n return parseNumericPattern(numericPatterns.hour23h, string)\n case 'Ho':\n return match.ordinalNumber(string, {unit: 'hour'})\n default:\n return parseNDigits(token.length, string)\n }\n },\n validate: function (date, value, options) {\n return value >= 0 && value <= 23\n },\n set: function (date, value, options) {\n date.setUTCHours(value, 0, 0, 0);\n return date\n }\n },\n\n // Hour [0-11]\n K: {\n priority: 70,\n parse: function (string, token, match, options) {\n switch (token) {\n case 'K':\n return parseNumericPattern(numericPatterns.hour11h, string)\n case 'Ko':\n return match.ordinalNumber(string, {unit: 'hour'})\n default:\n return parseNDigits(token.length, string)\n }\n },\n validate: function (date, value, options) {\n return value >= 0 && value <= 11\n },\n set: function (date, value, options) {\n var isPM = date.getUTCHours() >= 12;\n if (isPM && value < 12) {\n date.setUTCHours(value + 12, 0, 0, 0);\n } else {\n date.setUTCHours(value, 0, 0, 0);\n }\n return date\n }\n },\n\n // Hour [1-24]\n k: {\n priority: 70,\n parse: function (string, token, match, options) {\n switch (token) {\n case 'k':\n return parseNumericPattern(numericPatterns.hour24h, string)\n case 'ko':\n return match.ordinalNumber(string, {unit: 'hour'})\n default:\n return parseNDigits(token.length, string)\n }\n },\n validate: function (date, value, options) {\n return value >= 1 && value <= 24\n },\n set: function (date, value, options) {\n var hours = value <= 24 ? value % 24 : value;\n date.setUTCHours(hours, 0, 0, 0);\n return date\n }\n },\n\n // Minute\n m: {\n priority: 60,\n parse: function (string, token, match, options) {\n switch (token) {\n case 'm':\n return parseNumericPattern(numericPatterns.minute, string)\n case 'mo':\n return match.ordinalNumber(string, {unit: 'minute'})\n default:\n return parseNDigits(token.length, string)\n }\n },\n validate: function (date, value, options) {\n return value >= 0 && value <= 59\n },\n set: function (date, value, options) {\n date.setUTCMinutes(value, 0, 0);\n return date\n }\n },\n\n // Second\n s: {\n priority: 50,\n parse: function (string, token, match, options) {\n switch (token) {\n case 's':\n return parseNumericPattern(numericPatterns.second, string)\n case 'so':\n return match.ordinalNumber(string, {unit: 'second'})\n default:\n return parseNDigits(token.length, string)\n }\n },\n validate: function (date, value, options) {\n return value >= 0 && value <= 59\n },\n set: function (date, value, options) {\n date.setUTCSeconds(value, 0);\n return date\n }\n },\n\n // Fraction of second\n S: {\n priority: 40,\n parse: function (string, token, match, options) {\n var valueCallback = function (value) {\n return Math.floor(value * Math.pow(10, -token.length + 3))\n };\n return parseNDigits(token.length, string, valueCallback)\n },\n set: function (date, value, options) {\n date.setUTCMilliseconds(value);\n return date\n }\n },\n\n // Timezone (ISO-8601. +00:00 is `'Z'`)\n X: {\n priority: 20,\n parse: function (string, token, match, options) {\n switch (token) {\n case 'X':\n return parseTimezonePattern(timezonePatterns.basicOptionalMinutes, string)\n case 'XX':\n return parseTimezonePattern(timezonePatterns.basic, string)\n case 'XXXX':\n return parseTimezonePattern(timezonePatterns.basicOptionalSeconds, string)\n case 'XXXXX':\n return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds, string)\n case 'XXX':\n default:\n return parseTimezonePattern(timezonePatterns.extended, string)\n }\n },\n set: function (date, value, options) {\n return new Date(date.getTime() - value)\n }\n },\n\n // Timezone (ISO-8601)\n x: {\n priority: 20,\n parse: function (string, token, match, options) {\n switch (token) {\n case 'x':\n return parseTimezonePattern(timezonePatterns.basicOptionalMinutes, string)\n case 'xx':\n return parseTimezonePattern(timezonePatterns.basic, string)\n case 'xxxx':\n return parseTimezonePattern(timezonePatterns.basicOptionalSeconds, string)\n case 'xxxxx':\n return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds, string)\n case 'xxx':\n default:\n return parseTimezonePattern(timezonePatterns.extended, string)\n }\n },\n set: function (date, value, options) {\n return new Date(date.getTime() - value)\n }\n },\n\n // Seconds timestamp\n t: {\n priority: 10,\n parse: function (string, token, match, options) {\n return parseAnyDigitsSigned(string)\n },\n set: function (date, value, options) {\n return new Date(value * 1000)\n }\n },\n\n // Milliseconds timestamp\n T: {\n priority: 10,\n parse: function (string, token, match, options) {\n return parseAnyDigitsSigned(string)\n },\n set: function (date, value, options) {\n return new Date(value)\n }\n }\n};\n\nvar TIMEZONE_UNIT_PRIORITY = 20;\n\n// This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nvar formattingTokensRegExp$1 = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\nvar escapedStringRegExp$1 = /^'(.*?)'?$/;\nvar doubleQuoteRegExp$1 = /''/g;\n\nvar notWhitespaceRegExp = /\\S/;\n\n/**\n * @name parse\n * @category Common Helpers\n * @summary Parse the date.\n *\n * @description\n * Return the date parsed from string using the given format string.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://git.io/fxCyr\n *\n * The characters in the format string wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n *\n * Format of the format string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 5 below the table).\n *\n * Accepted format string patterns:\n * | Unit |Prior| Pattern | Result examples | Notes |\n * |---------------------------------|-----|---------|-----------------------------------|-------|\n * | Era | 140 | G..GGG | AD, BC | |\n * | | | GGGG | Anno Domini, Before Christ | 2 |\n * | | | GGGGG | A, B | |\n * | Calendar year | 130 | y | 44, 1, 1900, 2017, 9999 | 4 |\n * | | | yo | 44th, 1st, 1900th, 9999999th | 4,5 |\n * | | | yy | 44, 01, 00, 17 | 4 |\n * | | | yyy | 044, 001, 123, 999 | 4 |\n * | | | yyyy | 0044, 0001, 1900, 2017 | 4 |\n * | | | yyyyy | ... | 2,4 |\n * | Local week-numbering year | 130 | Y | 44, 1, 1900, 2017, 9000 | 4 |\n * | | | Yo | 44th, 1st, 1900th, 9999999th | 4,5 |\n * | | | YY | 44, 01, 00, 17 | 4,6 |\n * | | | YYY | 044, 001, 123, 999 | 4 |\n * | | | YYYY | 0044, 0001, 1900, 2017 | 4,6 |\n * | | | YYYYY | ... | 2,4 |\n * | ISO week-numbering year | 130 | R | -43, 1, 1900, 2017, 9999, -9999 | 4,5 |\n * | | | RR | -43, 01, 00, 17 | 4,5 |\n * | | | RRR | -043, 001, 123, 999, -999 | 4,5 |\n * | | | RRRR | -0043, 0001, 2017, 9999, -9999 | 4,5 |\n * | | | RRRRR | ... | 2,4,5 |\n * | Extended year | 130 | u | -43, 1, 1900, 2017, 9999, -999 | 4 |\n * | | | uu | -43, 01, 99, -99 | 4 |\n * | | | uuu | -043, 001, 123, 999, -999 | 4 |\n * | | | uuuu | -0043, 0001, 2017, 9999, -9999 | 4 |\n * | | | uuuuu | ... | 2,4 |\n * | Quarter (formatting) | 120 | Q | 1, 2, 3, 4 | |\n * | | | Qo | 1st, 2nd, 3rd, 4th | 5 |\n * | | | QQ | 01, 02, 03, 04 | |\n * | | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | 120 | q | 1, 2, 3, 4 | |\n * | | | qo | 1st, 2nd, 3rd, 4th | 5 |\n * | | | qq | 01, 02, 03, 04 | |\n * | | | qqq | Q1, Q2, Q3, Q4 | |\n * | | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | | qqqqq | 1, 2, 3, 4 | 3 |\n * | Month (formatting) | 110 | M | 1, 2, ..., 12 | |\n * | | | Mo | 1st, 2nd, ..., 12th | 5 |\n * | | | MM | 01, 02, ..., 12 | |\n * | | | MMM | Jan, Feb, ..., Dec | |\n * | | | MMMM | January, February, ..., December | 2 |\n * | | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | 110 | L | 1, 2, ..., 12 | |\n * | | | Lo | 1st, 2nd, ..., 12th | 5 |\n * | | | LL | 01, 02, ..., 12 | |\n * | | | LLL | Jan, Feb, ..., Dec | |\n * | | | LLLL | January, February, ..., December | 2 |\n * | | | LLLLL | J, F, ..., D | |\n * | Local week of year | 100 | w | 1, 2, ..., 53 | |\n * | | | wo | 1st, 2nd, ..., 53th | 5 |\n * | | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | 100 | I | 1, 2, ..., 53 | 5 |\n * | | | Io | 1st, 2nd, ..., 53th | 5 |\n * | | | II | 01, 02, ..., 53 | 5 |\n * | Day of month | 90 | d | 1, 2, ..., 31 | |\n * | | | do | 1st, 2nd, ..., 31st | 5 |\n * | | | dd | 01, 02, ..., 31 | |\n * | Day of year | 90 | D | 1, 2, ..., 365, 366 | 6 |\n * | | | Do | 1st, 2nd, ..., 365th, 366th | 5 |\n * | | | DD | 01, 02, ..., 365, 366 | 6 |\n * | | | DDD | 001, 002, ..., 365, 366 | |\n * | | | DDDD | ... | 2 |\n * | Day of week (formatting) | 90 | E..EEE | Mon, Tue, Wed, ..., Su | |\n * | | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | | EEEEE | M, T, W, T, F, S, S | |\n * | | | EEEEEE | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | ISO day of week (formatting) | 90 | i | 1, 2, 3, ..., 7 | 5 |\n * | | | io | 1st, 2nd, ..., 7th | 5 |\n * | | | ii | 01, 02, ..., 07 | 5 |\n * | | | iii | Mon, Tue, Wed, ..., Su | 5 |\n * | | | iiii | Monday, Tuesday, ..., Sunday | 2,5 |\n * | | | iiiii | M, T, W, T, F, S, S | 5 |\n * | | | iiiiii | Mo, Tu, We, Th, Fr, Su, Sa | 5 |\n * | Local day of week (formatting) | 90 | e | 2, 3, 4, ..., 1 | |\n * | | | eo | 2nd, 3rd, ..., 1st | 5 |\n * | | | ee | 02, 03, ..., 01 | |\n * | | | eee | Mon, Tue, Wed, ..., Su | |\n * | | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | | eeeee | M, T, W, T, F, S, S | |\n * | | | eeeeee | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | Local day of week (stand-alone) | 90 | c | 2, 3, 4, ..., 1 | |\n * | | | co | 2nd, 3rd, ..., 1st | 5 |\n * | | | cc | 02, 03, ..., 01 | |\n * | | | ccc | Mon, Tue, Wed, ..., Su | |\n * | | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | | ccccc | M, T, W, T, F, S, S | |\n * | | | cccccc | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | AM, PM | 80 | a..aaa | AM, PM | |\n * | | | aaaa | a.m., p.m. | 2 |\n * | | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | 80 | b..bbb | AM, PM, noon, midnight | |\n * | | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | | bbbbb | a, p, n, mi | |\n * | Flexible day period | 80 | B..BBB | at night, in the morning, ... | |\n * | | | BBBB | at night, in the morning, ... | 2 |\n * | | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | 70 | h | 1, 2, ..., 11, 12 | |\n * | | | ho | 1st, 2nd, ..., 11th, 12th | 5 |\n * | | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | 70 | H | 0, 1, 2, ..., 23 | |\n * | | | Ho | 0th, 1st, 2nd, ..., 23rd | 5 |\n * | | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | 70 | K | 1, 2, ..., 11, 0 | |\n * | | | Ko | 1st, 2nd, ..., 11th, 0th | 5 |\n * | | | KK | 1, 2, ..., 11, 0 | |\n * | Hour [1-24] | 70 | k | 24, 1, 2, ..., 23 | |\n * | | | ko | 24th, 1st, 2nd, ..., 23rd | 5 |\n * | | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | 60 | m | 0, 1, ..., 59 | |\n * | | | mo | 0th, 1st, ..., 59th | 5 |\n * | | | mm | 00, 01, ..., 59 | |\n * | Second | 50 | s | 0, 1, ..., 59 | |\n * | | | so | 0th, 1st, ..., 59th | 5 |\n * | | | ss | 00, 01, ..., 59 | |\n * | Fraction of second | 40 | S | 0, 1, ..., 9 | |\n * | | | SS | 00, 01, ..., 99 | |\n * | | | SSS | 000, 0001, ..., 999 | |\n * | | | SSSS | ... | 2 |\n * | Timezone (ISO-8601 w/ Z) | 20 | X | -08, +0530, Z | |\n * | | | XX | -0800, +0530, Z | |\n * | | | XXX | -08:00, +05:30, Z | |\n * | | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | 20 | x | -08, +0530, +00 | |\n * | | | xx | -0800, +0530, +0000 | |\n * | | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Seconds timestamp | 10 | t | 512969520 | |\n * | | | tt | ... | 2 |\n * | Milliseconds timestamp | 10 | T | 512969520900 | |\n * | | | TT | ... | 2 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular.\n * In `format` function, they will produce different result:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * `parse` will try to match both formatting and stand-alone units interchangably.\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table:\n * - for numerical units (`yyyyyyyy`) `parse` will try to match a number\n * as wide as the sequence\n * - for text units (`MMMMMMMM`) `parse` will try to match the widest variation of the unit.\n * These variations are marked with \"2\" in the last column of the table.\n *\n * 3. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 4. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` will try to guess the century of two digit year by proximity with `baseDate`:\n *\n * `parse('50', 'yy', new Date(2018, 0, 1)) //=> Sat Jan 01 2050 00:00:00`\n *\n * `parse('75', 'yy', new Date(2018, 0, 1)) //=> Wed Jan 01 1975 00:00:00`\n *\n * while `uu` will just assign the year as is:\n *\n * `parse('50', 'uu', new Date(2018, 0, 1)) //=> Sat Jan 01 0050 00:00:00`\n *\n * `parse('75', 'uu', new Date(2018, 0, 1)) //=> Tue Jan 01 0075 00:00:00`\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [setISOWeekYear]{@link https://date-fns.org/docs/setISOWeekYear}\n * and [setWeekYear]{@link https://date-fns.org/docs/setWeekYear}).\n *\n * 5. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `o`: ordinal number modifier\n *\n * 6. These tokens are often confused with others. See: https://git.io/fxCyr\n *\n * Values will be assigned to the date in the descending order of its unit's priority.\n * Units of an equal priority overwrite each other in the order of appearance.\n *\n * If no values of higher priority are parsed (e.g. when parsing string 'January 1st' without a year),\n * the values will be taken from 3rd argument `baseDate` which works as a context of parsing.\n *\n * `baseDate` must be passed for correct work of the function.\n * If you're not sure which `baseDate` to supply, create a new instance of Date:\n * `parse('02/11/2014', 'MM/dd/yyyy', new Date())`\n * In this case parsing will be done in the context of the current date.\n * If `baseDate` is `Invalid Date` or a value not convertible to valid `Date`,\n * then `Invalid Date` will be returned.\n *\n * The result may vary by locale.\n *\n * If `formatString` matches with `dateString` but does not provides tokens, `baseDate` will be returned.\n *\n * If parsing failed, `Invalid Date` will be returned.\n * Invalid Date is a Date, whose time value is NaN.\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @param {String} dateString - the string to parse\n * @param {String} formatString - the string of tokens\n * @param {Date|String|Number} baseDate - defines values missing from the parsed dateString\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {1|2|3|4|5|6|7} [options.firstWeekContainsDate=1] - the day of January, which is always in the first week of the year\n * @param {Boolean} [options.awareOfUnicodeTokens=false] - if true, allows usage of Unicode tokens causes confusion:\n * - Some of the day of year tokens (`D`, `DD`) that are confused with the day of month tokens (`d`, `dd`).\n * - Some of the local week-numbering year tokens (`YY`, `YYYY`) that are confused with the calendar year tokens (`yy`, `yyyy`).\n * See: https://git.io/fxCyr\n * @returns {Date} the parsed date\n * @throws {TypeError} 3 arguments required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n * @throws {RangeError} `options.locale` must contain `match` property\n * @throws {RangeError} `options.awareOfUnicodeTokens` must be set to `true` to use `XX` token; see: https://git.io/fxCyr\n *\n * @example\n * // Parse 11 February 2014 from middle-endian format:\n * var result = parse(\n * '02/11/2014',\n * 'MM/dd/yyyy',\n * new Date()\n * )\n * //=> Tue Feb 11 2014 00:00:00\n *\n * @example\n * // Parse 28th of February in Esperanto locale in the context of 2010 year:\n * import eo from 'date-fns/locale/eo'\n * var result = parse(\n * '28-a de februaro',\n * \"do 'de' MMMM\",\n * new Date(2010, 0, 1),\n * {locale: eo}\n * )\n * //=> Sun Feb 28 2010 00:00:00\n */\nfunction parse(\n dirtyDateString,\n dirtyFormatString,\n dirtyBaseDate,\n dirtyOptions\n) {\n if (arguments.length < 3) {\n throw new TypeError(\n '3 arguments required, but only ' + arguments.length + ' present'\n )\n }\n\n var dateString = String(dirtyDateString);\n var formatString = String(dirtyFormatString);\n var options = dirtyOptions || {};\n\n var locale = options.locale || locale$1;\n\n if (!locale.match) {\n throw new RangeError('locale must contain match property')\n }\n\n var localeFirstWeekContainsDate =\n locale.options && locale.options.firstWeekContainsDate;\n var defaultFirstWeekContainsDate =\n localeFirstWeekContainsDate == null\n ? 1\n : toInteger(localeFirstWeekContainsDate);\n var firstWeekContainsDate =\n options.firstWeekContainsDate == null\n ? defaultFirstWeekContainsDate\n : toInteger(options.firstWeekContainsDate);\n\n // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError(\n 'firstWeekContainsDate must be between 1 and 7 inclusively'\n )\n }\n\n var localeWeekStartsOn = locale.options && locale.options.weekStartsOn;\n var defaultWeekStartsOn =\n localeWeekStartsOn == null ? 0 : toInteger(localeWeekStartsOn);\n var weekStartsOn =\n options.weekStartsOn == null\n ? defaultWeekStartsOn\n : toInteger(options.weekStartsOn);\n\n // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively')\n }\n\n if (formatString === '') {\n if (dateString === '') {\n return toDate(dirtyBaseDate, options)\n } else {\n return new Date(NaN)\n }\n }\n\n var subFnOptions = {\n firstWeekContainsDate: firstWeekContainsDate,\n weekStartsOn: weekStartsOn,\n locale: locale\n };\n\n // If timezone isn't specified, it will be set to the system timezone\n var setters = [\n {\n priority: TIMEZONE_UNIT_PRIORITY,\n set: dateToSystemTimezone,\n index: 0\n }\n ];\n\n var i;\n\n var tokens = formatString.match(formattingTokensRegExp$1);\n\n for (i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (!options.awareOfUnicodeTokens && isProtectedToken(token)) {\n throwProtectedError(token);\n }\n\n var firstCharacter = token[0];\n var parser = parsers[firstCharacter];\n if (parser) {\n var parseResult = parser.parse(\n dateString,\n token,\n locale.match,\n subFnOptions\n );\n\n if (!parseResult) {\n return new Date(NaN)\n }\n\n setters.push({\n priority: parser.priority,\n set: parser.set,\n validate: parser.validate,\n value: parseResult.value,\n index: setters.length\n });\n\n dateString = parseResult.rest;\n } else {\n // Replace two single quote characters with one single quote character\n if (token === \"''\") {\n token = \"'\";\n } else if (firstCharacter === \"'\") {\n token = cleanEscapedString$1(token);\n }\n\n // Cut token from string, or, if string doesn't match the token, return Invalid Date\n if (dateString.indexOf(token) === 0) {\n dateString = dateString.slice(token.length);\n } else {\n return new Date(NaN)\n }\n }\n }\n\n // Check if the remaining input contains something other than whitespace\n if (dateString.length > 0 && notWhitespaceRegExp.test(dateString)) {\n return new Date(NaN)\n }\n\n var uniquePrioritySetters = setters\n .map(function(setter) {\n return setter.priority\n })\n .sort(function(a, b) {\n return b - a\n })\n .filter(function(priority, index, array) {\n return array.indexOf(priority) === index\n })\n .map(function(priority) {\n return setters\n .filter(function(setter) {\n return setter.priority === priority\n })\n .reverse()\n })\n .map(function(setterArray) {\n return setterArray[0]\n });\n\n var date = toDate(dirtyBaseDate, options);\n\n if (isNaN(date)) {\n return new Date(NaN)\n }\n\n // Convert the date in system timezone to the same date in UTC+00:00 timezone.\n // This ensures that when UTC functions will be implemented, locales will be compatible with them.\n // See an issue about UTC functions: https://github.com/date-fns/date-fns/issues/37\n var utcDate = subMilliseconds(date, getTimezoneOffsetInMilliseconds(date));\n\n for (i = 0; i < uniquePrioritySetters.length; i++) {\n var setter = uniquePrioritySetters[i];\n\n if (\n setter.validate &&\n !setter.validate(utcDate, setter.value, subFnOptions)\n ) {\n return new Date(NaN)\n }\n\n utcDate = setter.set(utcDate, setter.value, subFnOptions);\n }\n\n return utcDate\n}\n\nfunction dateToSystemTimezone(date) {\n var convertedDate = new Date(0);\n convertedDate.setFullYear(\n date.getUTCFullYear(),\n date.getUTCMonth(),\n date.getUTCDate()\n );\n convertedDate.setHours(\n date.getUTCHours(),\n date.getUTCMinutes(),\n date.getUTCSeconds(),\n date.getUTCMilliseconds()\n );\n return convertedDate\n}\n\nfunction cleanEscapedString$1(input) {\n return input.match(escapedStringRegExp$1)[1].replace(doubleQuoteRegExp$1, \"'\")\n}\n\n// \n\n/**\n * Custom parse behavior on top of date-fns parse function.\n */\nfunction parseDate$1 (date, format$1) {\n if (typeof date !== 'string') {\n return isValid(date) ? date : null;\n }\n\n var parsed = parse(date, format$1, new Date());\n\n // if date is not valid or the formatted output after parsing does not match\n // the string value passed in (avoids overflows)\n if (!isValid(parsed) || format(parsed, format$1) !== date) {\n return null;\n }\n\n return parsed;\n}\n\nvar afterValidator = function (value, ref) {\n if ( ref === void 0 ) ref = {};\n var targetValue = ref.targetValue;\n var inclusion = ref.inclusion; if ( inclusion === void 0 ) inclusion = false;\n var format = ref.format;\n\n if (typeof format === 'undefined') {\n format = inclusion;\n inclusion = false;\n }\n\n value = parseDate$1(value, format);\n targetValue = parseDate$1(targetValue, format);\n\n // if either is not valid.\n if (!value || !targetValue) {\n return false;\n }\n\n return isAfter(value, targetValue) || (inclusion && isEqual$1(value, targetValue));\n};\n\nvar options = {\n hasTarget: true,\n isDate: true\n};\n\n// required to convert from a list of array values to an object.\nvar paramNames = ['targetValue', 'inclusion', 'format'];\n\nvar after = {\n validate: afterValidator,\n options: options,\n paramNames: paramNames\n};\n\n/**\n * Some Alpha Regex helpers.\n * https://github.com/chriso/validator.js/blob/master/src/lib/alpha.js\n */\n\nvar alpha = {\n en: /^[A-Z]*$/i,\n cs: /^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]*$/i,\n da: /^[A-ZÆØÅ]*$/i,\n de: /^[A-ZÄÖÜß]*$/i,\n es: /^[A-ZÁÉÍÑÓÚÜ]*$/i,\n fa: /^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰپژگچکی]*$/,\n fr: /^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]*$/i,\n it: /^[A-Z\\xC0-\\xFF]*$/i,\n lt: /^[A-ZĄČĘĖĮŠŲŪŽ]*$/i,\n nl: /^[A-ZÉËÏÓÖÜ]*$/i,\n hu: /^[A-ZÁÉÍÓÖŐÚÜŰ]*$/i,\n pl: /^[A-ZĄĆĘŚŁŃÓŻŹ]*$/i,\n pt: /^[A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]*$/i,\n ru: /^[А-ЯЁ]*$/i,\n sk: /^[A-ZÁÄČĎÉÍĹĽŇÓŔŠŤÚÝŽ]*$/i,\n sr: /^[A-ZČĆŽŠĐ]*$/i,\n sv: /^[A-ZÅÄÖ]*$/i,\n tr: /^[A-ZÇĞİıÖŞÜ]*$/i,\n uk: /^[А-ЩЬЮЯЄІЇҐ]*$/i,\n ar: /^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]*$/,\n az: /^[A-ZÇƏĞİıÖŞÜ]*$/i\n};\n\nvar alphaSpaces = {\n en: /^[A-Z\\s]*$/i,\n cs: /^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ\\s]*$/i,\n da: /^[A-ZÆØÅ\\s]*$/i,\n de: /^[A-ZÄÖÜß\\s]*$/i,\n es: /^[A-ZÁÉÍÑÓÚÜ\\s]*$/i,\n fa: /^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰپژگچکی\\s]*$/,\n fr: /^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ\\s]*$/i,\n it: /^[A-Z\\xC0-\\xFF\\s]*$/i,\n lt: /^[A-ZĄČĘĖĮŠŲŪŽ\\s]*$/i,\n nl: /^[A-ZÉËÏÓÖÜ\\s]*$/i,\n hu: /^[A-ZÁÉÍÓÖŐÚÜŰ\\s]*$/i,\n pl: /^[A-ZĄĆĘŚŁŃÓŻŹ\\s]*$/i,\n pt: /^[A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ\\s]*$/i,\n ru: /^[А-ЯЁ\\s]*$/i,\n sk: /^[A-ZÁÄČĎÉÍĹĽŇÓŔŠŤÚÝŽ\\s]*$/i,\n sr: /^[A-ZČĆŽŠĐ\\s]*$/i,\n sv: /^[A-ZÅÄÖ\\s]*$/i,\n tr: /^[A-ZÇĞİıÖŞÜ\\s]*$/i,\n uk: /^[А-ЩЬЮЯЄІЇҐ\\s]*$/i,\n ar: /^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ\\s]*$/,\n az: /^[A-ZÇƏĞİıÖŞÜ\\s]*$/i\n};\n\nvar alphanumeric = {\n en: /^[0-9A-Z]*$/i,\n cs: /^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]*$/i,\n da: /^[0-9A-ZÆØÅ]$/i,\n de: /^[0-9A-ZÄÖÜß]*$/i,\n es: /^[0-9A-ZÁÉÍÑÓÚÜ]*$/i,\n fa: /^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰپژگچکی]*$/,\n fr: /^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]*$/i,\n it: /^[0-9A-Z\\xC0-\\xFF]*$/i,\n lt: /^[0-9A-ZĄČĘĖĮŠŲŪŽ]*$/i,\n hu: /^[0-9A-ZÁÉÍÓÖŐÚÜŰ]*$/i,\n nl: /^[0-9A-ZÉËÏÓÖÜ]*$/i,\n pl: /^[0-9A-ZĄĆĘŚŁŃÓŻŹ]*$/i,\n pt: /^[0-9A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]*$/i,\n ru: /^[0-9А-ЯЁ]*$/i,\n sk: /^[0-9A-ZÁÄČĎÉÍĹĽŇÓŔŠŤÚÝŽ]*$/i,\n sr: /^[0-9A-ZČĆŽŠĐ]*$/i,\n sv: /^[0-9A-ZÅÄÖ]*$/i,\n tr: /^[0-9A-ZÇĞİıÖŞÜ]*$/i,\n uk: /^[0-9А-ЩЬЮЯЄІЇҐ]*$/i,\n ar: /^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]*$/,\n az: /^[0-9A-ZÇƏĞİıÖŞÜ]*$/i\n};\n\nvar alphaDash = {\n en: /^[0-9A-Z_-]*$/i,\n cs: /^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ_-]*$/i,\n da: /^[0-9A-ZÆØÅ_-]*$/i,\n de: /^[0-9A-ZÄÖÜß_-]*$/i,\n es: /^[0-9A-ZÁÉÍÑÓÚÜ_-]*$/i,\n fa: /^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰپژگچکی_-]*$/,\n fr: /^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ_-]*$/i,\n it: /^[0-9A-Z\\xC0-\\xFF_-]*$/i,\n lt: /^[0-9A-ZĄČĘĖĮŠŲŪŽ_-]*$/i,\n nl: /^[0-9A-ZÉËÏÓÖÜ_-]*$/i,\n hu: /^[0-9A-ZÁÉÍÓÖŐÚÜŰ_-]*$/i,\n pl: /^[0-9A-ZĄĆĘŚŁŃÓŻŹ_-]*$/i,\n pt: /^[0-9A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ_-]*$/i,\n ru: /^[0-9А-ЯЁ_-]*$/i,\n sk: /^[0-9A-ZÁÄČĎÉÍĹĽŇÓŔŠŤÚÝŽ_-]*$/i,\n sr: /^[0-9A-ZČĆŽŠĐ_-]*$/i,\n sv: /^[0-9A-ZÅÄÖ_-]*$/i,\n tr: /^[0-9A-ZÇĞİıÖŞÜ_-]*$/i,\n uk: /^[0-9А-ЩЬЮЯЄІЇҐ_-]*$/i,\n ar: /^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ_-]*$/,\n az: /^[0-9A-ZÇƏĞİıÖŞÜ_-]*$/i\n};\n\nvar validate = function (value, ref) {\n if ( ref === void 0 ) ref = {};\n var locale = ref.locale;\n\n if (Array.isArray(value)) {\n return value.every(function (val) { return validate(val, [locale]); });\n }\n\n // Match at least one locale.\n if (! locale) {\n return Object.keys(alpha).some(function (loc) { return alpha[loc].test(value); });\n }\n\n return (alpha[locale] || alpha.en).test(value);\n};\n\nvar paramNames$1 = ['locale'];\n\nvar alpha$1 = {\n validate: validate,\n paramNames: paramNames$1\n};\n\nvar validate$1 = function (value, ref) {\n if ( ref === void 0 ) ref = {};\n var locale = ref.locale;\n\n if (Array.isArray(value)) {\n return value.every(function (val) { return validate$1(val, [locale]); });\n }\n\n // Match at least one locale.\n if (! locale) {\n return Object.keys(alphaDash).some(function (loc) { return alphaDash[loc].test(value); });\n }\n\n return (alphaDash[locale] || alphaDash.en).test(value);\n};\n\nvar paramNames$2 = ['locale'];\n\nvar alpha_dash = {\n validate: validate$1,\n paramNames: paramNames$2\n};\n\nvar validate$2 = function (value, ref) {\n if ( ref === void 0 ) ref = {};\n var locale = ref.locale;\n\n if (Array.isArray(value)) {\n return value.every(function (val) { return validate$2(val, [locale]); });\n }\n\n // Match at least one locale.\n if (! locale) {\n return Object.keys(alphanumeric).some(function (loc) { return alphanumeric[loc].test(value); });\n }\n\n return (alphanumeric[locale] || alphanumeric.en).test(value);\n};\n\nvar paramNames$3 = ['locale'];\n\nvar alpha_num = {\n validate: validate$2,\n paramNames: paramNames$3\n};\n\nvar validate$3 = function (value, ref) {\n if ( ref === void 0 ) ref = {};\n var locale = ref.locale;\n\n if (Array.isArray(value)) {\n return value.every(function (val) { return validate$3(val, [locale]); });\n }\n\n // Match at least one locale.\n if (! locale) {\n return Object.keys(alphaSpaces).some(function (loc) { return alphaSpaces[loc].test(value); });\n }\n\n return (alphaSpaces[locale] || alphaSpaces.en).test(value);\n};\n\nvar paramNames$4 = ['locale'];\n\nvar alpha_spaces = {\n validate: validate$3,\n paramNames: paramNames$4\n};\n\nvar validate$4 = function (value, ref) {\n if ( ref === void 0 ) ref = {};\n var targetValue = ref.targetValue;\n var inclusion = ref.inclusion; if ( inclusion === void 0 ) inclusion = false;\n var format = ref.format;\n\n if (typeof format === 'undefined') {\n format = inclusion;\n inclusion = false;\n }\n\n value = parseDate$1(value, format);\n targetValue = parseDate$1(targetValue, format);\n\n // if either is not valid.\n if (!value || !targetValue) {\n return false;\n }\n\n return isBefore(value, targetValue) || (inclusion && isEqual$1(value, targetValue));\n};\n\nvar options$1 = {\n hasTarget: true,\n isDate: true\n};\n\nvar paramNames$5 = ['targetValue', 'inclusion', 'format'];\n\nvar before = {\n validate: validate$4,\n options: options$1,\n paramNames: paramNames$5\n};\n\nvar validate$5 = function (value, ref) {\n if ( ref === void 0 ) ref = {};\n var min = ref.min;\n var max = ref.max;\n\n if (Array.isArray(value)) {\n return value.every(function (val) { return validate$5(val, { min: min, max: max }); });\n }\n\n return Number(min) <= value && Number(max) >= value;\n};\n\nvar paramNames$6 = ['min', 'max'];\n\nvar between = {\n validate: validate$5,\n paramNames: paramNames$6\n};\n\nvar validate$6 = function (value, ref) {\n var targetValue = ref.targetValue;\n\n return String(value) === String(targetValue);\n};\nvar options$2 = {\n hasTarget: true\n};\n\nvar paramNames$7 = ['targetValue'];\n\nvar confirmed = {\n validate: validate$6,\n options: options$2,\n paramNames: paramNames$7\n};\n\nfunction unwrapExports (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar assertString_1 = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = assertString;\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction assertString(input) {\n var isString = typeof input === 'string' || input instanceof String;\n\n if (!isString) {\n var invalidType;\n\n if (input === null) {\n invalidType = 'null';\n } else {\n invalidType = _typeof(input);\n\n if (invalidType === 'object' && input.constructor && input.constructor.hasOwnProperty('name')) {\n invalidType = input.constructor.name;\n } else {\n invalidType = \"a \".concat(invalidType);\n }\n }\n\n throw new TypeError(\"Expected string but received \".concat(invalidType, \".\"));\n }\n}\n\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;\n});\n\nunwrapExports(assertString_1);\n\nvar isCreditCard_1 = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isCreditCard;\n\nvar _assertString = _interopRequireDefault(assertString_1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* eslint-disable max-len */\nvar creditCard = /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|(222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\d{3})\\d{11}|6[27][0-9]{14})$/;\n/* eslint-enable max-len */\n\nfunction isCreditCard(str) {\n (0, _assertString.default)(str);\n var sanitized = str.replace(/[- ]+/g, '');\n\n if (!creditCard.test(sanitized)) {\n return false;\n }\n\n var sum = 0;\n var digit;\n var tmpNum;\n var shouldDouble;\n\n for (var i = sanitized.length - 1; i >= 0; i--) {\n digit = sanitized.substring(i, i + 1);\n tmpNum = parseInt(digit, 10);\n\n if (shouldDouble) {\n tmpNum *= 2;\n\n if (tmpNum >= 10) {\n sum += tmpNum % 10 + 1;\n } else {\n sum += tmpNum;\n }\n } else {\n sum += tmpNum;\n }\n\n shouldDouble = !shouldDouble;\n }\n\n return !!(sum % 10 === 0 ? sanitized : false);\n}\n\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;\n});\n\nvar isCreditCard = unwrapExports(isCreditCard_1);\n\nvar validate$7 = function (value) { return isCreditCard(String(value)); };\n\nvar credit_card = {\n validate: validate$7\n};\n\nvar validate$8 = function (value, ref) {\n if ( ref === void 0 ) ref = {};\n var min = ref.min;\n var max = ref.max;\n var inclusivity = ref.inclusivity; if ( inclusivity === void 0 ) inclusivity = '()';\n var format = ref.format;\n\n if (typeof format === 'undefined') {\n format = inclusivity;\n inclusivity = '()';\n }\n\n var minDate = parseDate$1(String(min), format);\n var maxDate = parseDate$1(String(max), format);\n var dateVal = parseDate$1(String(value), format);\n\n if (!minDate || !maxDate || !dateVal) {\n return false;\n }\n\n if (inclusivity === '()') {\n return isAfter(dateVal, minDate) && isBefore(dateVal, maxDate);\n }\n\n if (inclusivity === '(]') {\n return isAfter(dateVal, minDate) && (isEqual$1(dateVal, maxDate) || isBefore(dateVal, maxDate));\n }\n\n if (inclusivity === '[)') {\n return isBefore(dateVal, maxDate) && (isEqual$1(dateVal, minDate) || isAfter(dateVal, minDate));\n }\n\n return isEqual$1(dateVal, maxDate) || isEqual$1(dateVal, minDate) ||\n (isBefore(dateVal, maxDate) && isAfter(dateVal, minDate));\n};\n\nvar options$3 = {\n isDate: true\n};\n\nvar paramNames$8 = ['min', 'max', 'inclusivity', 'format'];\n\nvar date_between = {\n validate: validate$8,\n options: options$3,\n paramNames: paramNames$8\n};\n\nvar validate$9 = function (value, ref) {\n var format = ref.format;\n\n return !!parseDate$1(value, format);\n};\n\nvar options$4 = {\n isDate: true\n};\n\nvar paramNames$9 = ['format'];\n\nvar date_format = {\n validate: validate$9,\n options: options$4,\n paramNames: paramNames$9\n};\n\nvar validate$a = function (value, ref) {\n if ( ref === void 0 ) ref = {};\n var decimals = ref.decimals; if ( decimals === void 0 ) decimals = '*';\n var separator = ref.separator; if ( separator === void 0 ) separator = '.';\n\n if (isNullOrUndefined(value) || value === '') {\n return false;\n }\n\n if (Array.isArray(value)) {\n return value.every(function (val) { return validate$a(val, { decimals: decimals, separator: separator }); });\n }\n\n // if is 0.\n if (Number(decimals) === 0) {\n return /^-?\\d*$/.test(value);\n }\n\n var regexPart = decimals === '*' ? '+' : (\"{1,\" + decimals + \"}\");\n var regex = new RegExp((\"^[-+]?\\\\d*(\\\\\" + separator + \"\\\\d\" + regexPart + \")?([eE]{1}[-]?\\\\d+)?$\"));\n\n if (! regex.test(value)) {\n return false;\n }\n\n var parsedValue = parseFloat(value);\n\n // eslint-disable-next-line\n return parsedValue === parsedValue;\n};\n\nvar paramNames$a = ['decimals', 'separator'];\n\nvar decimal = {\n validate: validate$a,\n paramNames: paramNames$a\n};\n\nvar validate$b = function (value, ref) {\n var length = ref[0];\n\n if (Array.isArray(value)) {\n return value.every(function (val) { return validate$b(val, [length]); });\n }\n var strVal = String(value);\n\n return /^[0-9]*$/.test(strVal) && strVal.length === Number(length);\n};\n\nvar digits = {\n validate: validate$b\n};\n\nvar imageRegex = /\\.(jpg|svg|jpeg|png|bmp|gif)$/i;\n\nvar validateImage = function (file, width, height) {\n var URL = window.URL || window.webkitURL;\n return new Promise(function (resolve) {\n var image = new Image();\n image.onerror = function () { return resolve({ valid: false }); };\n image.onload = function () { return resolve({\n valid: image.width === Number(width) && image.height === Number(height)\n }); };\n\n image.src = URL.createObjectURL(file);\n });\n};\n\nvar validate$c = function (files, ref) {\n var width = ref[0];\n var height = ref[1];\n\n var images = ensureArray(files).filter(function (file) { return imageRegex.test(file.name); });\n if (images.length === 0) {\n return false;\n }\n return Promise.all(images.map(function (image) { return validateImage(image, width, height); }));\n};\n\nvar dimensions = {\n validate: validate$c\n};\n\nvar merge_1 = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = merge;\n\nfunction merge() {\n var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var defaults = arguments.length > 1 ? arguments[1] : undefined;\n\n for (var key in defaults) {\n if (typeof obj[key] === 'undefined') {\n obj[key] = defaults[key];\n }\n }\n\n return obj;\n}\n\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;\n});\n\nunwrapExports(merge_1);\n\nvar isByteLength_1 = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isByteLength;\n\nvar _assertString = _interopRequireDefault(assertString_1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/* eslint-disable prefer-rest-params */\nfunction isByteLength(str, options) {\n (0, _assertString.default)(str);\n var min;\n var max;\n\n if (_typeof(options) === 'object') {\n min = options.min || 0;\n max = options.max;\n } else {\n // backwards compatibility: isByteLength(str, min [, max])\n min = arguments[1];\n max = arguments[2];\n }\n\n var len = encodeURI(str).split(/%..|./).length - 1;\n return len >= min && (typeof max === 'undefined' || len <= max);\n}\n\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;\n});\n\nunwrapExports(isByteLength_1);\n\nvar isFQDN_1 = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isFQDN;\n\nvar _assertString = _interopRequireDefault(assertString_1);\n\nvar _merge = _interopRequireDefault(merge_1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar default_fqdn_options = {\n require_tld: true,\n allow_underscores: false,\n allow_trailing_dot: false\n};\n\nfunction isFQDN(str, options) {\n (0, _assertString.default)(str);\n options = (0, _merge.default)(options, default_fqdn_options);\n /* Remove the optional trailing dot before checking validity */\n\n if (options.allow_trailing_dot && str[str.length - 1] === '.') {\n str = str.substring(0, str.length - 1);\n }\n\n var parts = str.split('.');\n\n for (var i = 0; i < parts.length; i++) {\n if (parts[i].length > 63) {\n return false;\n }\n }\n\n if (options.require_tld) {\n var tld = parts.pop();\n\n if (!parts.length || !/^([a-z\\u00a1-\\uffff]{2,}|xn[a-z0-9-]{2,})$/i.test(tld)) {\n return false;\n } // disallow spaces\n\n\n if (/[\\s\\u2002-\\u200B\\u202F\\u205F\\u3000\\uFEFF\\uDB40\\uDC20]/.test(tld)) {\n return false;\n }\n }\n\n for (var part, _i = 0; _i < parts.length; _i++) {\n part = parts[_i];\n\n if (options.allow_underscores) {\n part = part.replace(/_/g, '');\n }\n\n if (!/^[a-z\\u00a1-\\uffff0-9-]+$/i.test(part)) {\n return false;\n } // disallow full-width chars\n\n\n if (/[\\uff01-\\uff5e]/.test(part)) {\n return false;\n }\n\n if (part[0] === '-' || part[part.length - 1] === '-') {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;\n});\n\nvar isFQDN = unwrapExports(isFQDN_1);\n\nvar isIP_1 = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isIP;\n\nvar _assertString = _interopRequireDefault(assertString_1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ipv4Maybe = /^(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$/;\nvar ipv6Block = /^[0-9A-F]{1,4}$/i;\n\nfunction isIP(str) {\n var version = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n (0, _assertString.default)(str);\n version = String(version);\n\n if (!version) {\n return isIP(str, 4) || isIP(str, 6);\n } else if (version === '4') {\n if (!ipv4Maybe.test(str)) {\n return false;\n }\n\n var parts = str.split('.').sort(function (a, b) {\n return a - b;\n });\n return parts[3] <= 255;\n } else if (version === '6') {\n var blocks = str.split(':');\n var foundOmissionBlock = false; // marker to indicate ::\n // At least some OS accept the last 32 bits of an IPv6 address\n // (i.e. 2 of the blocks) in IPv4 notation, and RFC 3493 says\n // that '::ffff:a.b.c.d' is valid for IPv4-mapped IPv6 addresses,\n // and '::a.b.c.d' is deprecated, but also valid.\n\n var foundIPv4TransitionBlock = isIP(blocks[blocks.length - 1], 4);\n var expectedNumberOfBlocks = foundIPv4TransitionBlock ? 7 : 8;\n\n if (blocks.length > expectedNumberOfBlocks) {\n return false;\n } // initial or final ::\n\n\n if (str === '::') {\n return true;\n } else if (str.substr(0, 2) === '::') {\n blocks.shift();\n blocks.shift();\n foundOmissionBlock = true;\n } else if (str.substr(str.length - 2) === '::') {\n blocks.pop();\n blocks.pop();\n foundOmissionBlock = true;\n }\n\n for (var i = 0; i < blocks.length; ++i) {\n // test for a :: which can not be at the string start/end\n // since those cases have been handled above\n if (blocks[i] === '' && i > 0 && i < blocks.length - 1) {\n if (foundOmissionBlock) {\n return false; // multiple :: in address\n }\n\n foundOmissionBlock = true;\n } else if (foundIPv4TransitionBlock && i === blocks.length - 1) ; else if (!ipv6Block.test(blocks[i])) {\n return false;\n }\n }\n\n if (foundOmissionBlock) {\n return blocks.length >= 1;\n }\n\n return blocks.length === expectedNumberOfBlocks;\n }\n\n return false;\n}\n\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;\n});\n\nvar isIP = unwrapExports(isIP_1);\n\nvar isEmail_1 = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isEmail;\n\nvar _assertString = _interopRequireDefault(assertString_1);\n\nvar _merge = _interopRequireDefault(merge_1);\n\nvar _isByteLength = _interopRequireDefault(isByteLength_1);\n\nvar _isFQDN = _interopRequireDefault(isFQDN_1);\n\nvar _isIP = _interopRequireDefault(isIP_1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar default_email_options = {\n allow_display_name: false,\n require_display_name: false,\n allow_utf8_local_part: true,\n require_tld: true\n};\n/* eslint-disable max-len */\n\n/* eslint-disable no-control-regex */\n\nvar displayName = /^[a-z\\d!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~\\.\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]+[a-z\\d!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~\\,\\.\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF\\s]*<(.+)>$/i;\nvar emailUserPart = /^[a-z\\d!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]+$/i;\nvar gmailUserPart = /^[a-z\\d]+$/;\nvar quotedEmailUser = /^([\\s\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f\\x21\\x23-\\x5b\\x5d-\\x7e]|(\\\\[\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]))*$/i;\nvar emailUserUtf8Part = /^[a-z\\d!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]+$/i;\nvar quotedEmailUserUtf8 = /^([\\s\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f\\x21\\x23-\\x5b\\x5d-\\x7e\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]|(\\\\[\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))*$/i;\n/* eslint-enable max-len */\n\n/* eslint-enable no-control-regex */\n\nfunction isEmail(str, options) {\n (0, _assertString.default)(str);\n options = (0, _merge.default)(options, default_email_options);\n\n if (options.require_display_name || options.allow_display_name) {\n var display_email = str.match(displayName);\n\n if (display_email) {\n str = display_email[1];\n } else if (options.require_display_name) {\n return false;\n }\n }\n\n var parts = str.split('@');\n var domain = parts.pop();\n var user = parts.join('@');\n var lower_domain = domain.toLowerCase();\n\n if (options.domain_specific_validation && (lower_domain === 'gmail.com' || lower_domain === 'googlemail.com')) {\n /*\n Previously we removed dots for gmail addresses before validating.\n This was removed because it allows `multiple..dots@gmail.com`\n to be reported as valid, but it is not.\n Gmail only normalizes single dots, removing them from here is pointless,\n should be done in normalizeEmail\n */\n user = user.toLowerCase(); // Removing sub-address from username before gmail validation\n\n var username = user.split('+')[0]; // Dots are not included in gmail length restriction\n\n if (!(0, _isByteLength.default)(username.replace('.', ''), {\n min: 6,\n max: 30\n })) {\n return false;\n }\n\n var _user_parts = username.split('.');\n\n for (var i = 0; i < _user_parts.length; i++) {\n if (!gmailUserPart.test(_user_parts[i])) {\n return false;\n }\n }\n }\n\n if (!(0, _isByteLength.default)(user, {\n max: 64\n }) || !(0, _isByteLength.default)(domain, {\n max: 254\n })) {\n return false;\n }\n\n if (!(0, _isFQDN.default)(domain, {\n require_tld: options.require_tld\n })) {\n if (!options.allow_ip_domain) {\n return false;\n }\n\n if (!(0, _isIP.default)(domain)) {\n if (!domain.startsWith('[') || !domain.endsWith(']')) {\n return false;\n }\n\n var noBracketdomain = domain.substr(1, domain.length - 2);\n\n if (noBracketdomain.length === 0 || !(0, _isIP.default)(noBracketdomain)) {\n return false;\n }\n }\n }\n\n if (user[0] === '\"') {\n user = user.slice(1, user.length - 1);\n return options.allow_utf8_local_part ? quotedEmailUserUtf8.test(user) : quotedEmailUser.test(user);\n }\n\n var pattern = options.allow_utf8_local_part ? emailUserUtf8Part : emailUserPart;\n var user_parts = user.split('.');\n\n for (var _i = 0; _i < user_parts.length; _i++) {\n if (!pattern.test(user_parts[_i])) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;\n});\n\nvar isEmail = unwrapExports(isEmail_1);\n\nfunction objectWithoutProperties (obj, exclude) { var target = {}; for (var k in obj) if (Object.prototype.hasOwnProperty.call(obj, k) && exclude.indexOf(k) === -1) target[k] = obj[k]; return target; }\n\nvar validate$d = function (value, ref) {\n if ( ref === void 0 ) ref = {};\n var multiple = ref.multiple; if ( multiple === void 0 ) multiple = false;\n var rest = objectWithoutProperties( ref, [\"multiple\"] );\n var options = rest;\n\n if (multiple && !Array.isArray(value)) {\n value = String(value).split(',').map(function (emailStr) { return emailStr.trim(); });\n }\n\n var validatorOptions = assign({}, options);\n\n if (Array.isArray(value)) {\n return value.every(function (val) { return isEmail(String(val), validatorOptions); });\n }\n\n return isEmail(String(value), validatorOptions);\n};\n\nvar email = {\n validate: validate$d\n};\n\nvar validate$e = function (value, options) {\n if (Array.isArray(value)) {\n return value.every(function (val) { return validate$e(val, options); });\n }\n\n return toArray(options).some(function (item) {\n // eslint-disable-next-line\n return item == value;\n });\n};\n\nvar included = {\n validate: validate$e\n};\n\nvar validate$f = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return !validate$e.apply(void 0, args);\n};\n\nvar excluded = {\n validate: validate$f\n};\n\nvar validate$g = function (files, extensions) {\n var regex = new RegExp((\".(\" + (extensions.join('|')) + \")$\"), 'i');\n return ensureArray(files).every(function (file) { return regex.test(file.name); });\n};\n\nvar ext = {\n validate: validate$g\n};\n\nvar validate$h = function (files) { return (Array.isArray(files) ? files : [files]).every(function (file) { return /\\.(jpg|svg|jpeg|png|bmp|gif)$/i.test(file.name); }); };\n\nvar image = {\n validate: validate$h\n};\n\nvar validate$i = function (value) {\n if (Array.isArray(value)) {\n return value.every(function (val) { return /^-?[0-9]+$/.test(String(val)); });\n }\n\n return /^-?[0-9]+$/.test(String(value));\n};\n\nvar integer = {\n validate: validate$i\n};\n\nvar validate$j = function (value, ref) {\n if ( ref === void 0 ) ref = {};\n var version = ref.version; if ( version === void 0 ) version = 4;\n\n if (isNullOrUndefined(value)) {\n value = '';\n }\n\n if (Array.isArray(value)) {\n return value.every(function (val) { return isIP(val, version); });\n }\n\n return isIP(value, version);\n};\n\nvar paramNames$b = ['version'];\n\nvar ip = {\n validate: validate$j,\n paramNames: paramNames$b\n};\n\nvar validate$k = function (value) {\n if (isNullOrUndefined(value)) {\n value = '';\n }\n\n if (Array.isArray(value)) {\n return value.every(function (val) { return (isIP(val, '') || isFQDN(val)); });\n }\n\n return isIP(value, '') || isFQDN(value);\n};\n\nvar ip_or_fqdn = {\n validate: validate$k\n};\n\nvar validate$l = function (value, ref) {\n if ( ref === void 0 ) ref = [];\n var other = ref[0];\n\n return value === other;\n};\n\nvar is = {\n validate: validate$l\n};\n\nvar validate$m = function (value, ref) {\n if ( ref === void 0 ) ref = [];\n var other = ref[0];\n\n return value !== other;\n};\n\nvar is_not = {\n validate: validate$m\n};\n\n/**\n * @param {Array|String} value\n * @param {Number} length\n * @param {Number} max\n */\nvar compare = function (value, length, max) {\n if (max === undefined) {\n return value.length === length;\n }\n\n // cast to number.\n max = Number(max);\n\n return value.length >= length && value.length <= max;\n};\n\nvar validate$n = function (value, ref) {\n var length = ref[0];\n var max = ref[1]; if ( max === void 0 ) max = undefined;\n\n if (isNullOrUndefined(value)) {\n return false;\n }\n\n length = Number(length);\n if (typeof value === 'number') {\n value = String(value);\n }\n\n if (!value.length) {\n value = toArray(value);\n }\n\n return compare(value, length, max);\n};\n\nvar length = {\n validate: validate$n\n};\n\nvar validate$o = function (value, ref) {\n var length = ref[0];\n\n if (isNullOrUndefined(value)) {\n return length >= 0;\n }\n\n if (Array.isArray(value)) {\n return value.every(function (val) { return validate$o(val, [length]); });\n }\n\n return String(value).length <= length;\n};\n\nvar max = {\n validate: validate$o\n};\n\nvar validate$p = function (value, ref) {\n var max = ref[0];\n\n if (isNullOrUndefined(value) || value === '') {\n return false;\n }\n\n if (Array.isArray(value)) {\n return value.length > 0 && value.every(function (val) { return validate$p(val, [max]); });\n }\n\n return Number(value) <= max;\n};\n\nvar max_value = {\n validate: validate$p\n};\n\nvar validate$q = function (files, mimes) {\n var regex = new RegExp(((mimes.join('|').replace('*', '.+')) + \"$\"), 'i');\n return ensureArray(files).every(function (file) { return regex.test(file.type); });\n};\n\nvar mimes = {\n validate: validate$q\n};\n\nvar validate$r = function (value, ref) {\n var length = ref[0];\n\n if (isNullOrUndefined(value)) {\n return false;\n }\n\n if (Array.isArray(value)) {\n return value.every(function (val) { return validate$r(val, [length]); });\n }\n\n return String(value).length >= length;\n};\n\nvar min = {\n validate: validate$r\n};\n\nvar validate$s = function (value, ref) {\n var min = ref[0];\n\n if (isNullOrUndefined(value) || value === '') {\n return false;\n }\n\n if (Array.isArray(value)) {\n return value.length > 0 && value.every(function (val) { return validate$s(val, [min]); });\n }\n\n return Number(value) >= min;\n};\n\nvar min_value = {\n validate: validate$s\n};\n\nvar ar = /^[٠١٢٣٤٥٦٧٨٩]+$/;\nvar en = /^[0-9]+$/;\n\nvar validate$t = function (value) {\n var testValue = function (val) {\n var strValue = String(val);\n\n return en.test(strValue) || ar.test(strValue);\n };\n\n if (Array.isArray(value)) {\n return value.every(testValue);\n }\n\n return testValue(value);\n};\n\nvar numeric = {\n validate: validate$t\n};\n\nvar validate$u = function (value, ref) {\n var expression = ref.expression;\n\n if (typeof expression === 'string') {\n expression = new RegExp(expression);\n }\n\n if (Array.isArray(value)) {\n return value.every(function (val) { return validate$u(val, { expression: expression }); });\n }\n\n return expression.test(String(value));\n};\n\nvar paramNames$c = ['expression'];\n\nvar regex = {\n validate: validate$u,\n paramNames: paramNames$c\n};\n\nvar validate$v = function (value, ref) {\n if ( ref === void 0 ) ref = [];\n var invalidateFalse = ref[0]; if ( invalidateFalse === void 0 ) invalidateFalse = false;\n\n if (isNullOrUndefined(value) || isEmptyArray(value)) {\n return false;\n }\n\n // incase a field considers `false` as an empty value like checkboxes.\n if (value === false && invalidateFalse) {\n return false;\n }\n\n return !!String(value).trim().length;\n};\n\nvar required = {\n validate: validate$v\n};\n\nvar validate$w = function (value, ref) {\n if ( ref === void 0 ) ref = [];\n var otherFieldVal = ref[0];\n var possibleVals = ref.slice(1);\n\n var required = possibleVals.includes(String(otherFieldVal).trim());\n\n if (!required) {\n return {\n valid: true,\n data: {\n required: required\n }\n };\n }\n\n var invalid = (isEmptyArray(value) || [false, null, undefined].includes(value));\n\n invalid = invalid || !String(value).trim().length;\n\n return {\n valid: !invalid,\n data: {\n required: required\n }\n };\n};\n\nvar options$5 = {\n hasTarget: true,\n computesRequired: true\n};\n\nvar required_if = {\n validate: validate$w,\n options: options$5\n};\n\nvar validate$x = function (files, ref) {\n var size = ref[0];\n\n if (isNaN(size)) {\n return false;\n }\n var nSize = Number(size) * 1024;\n return ensureArray(files).every(function (file) { return file.size <= nSize; });\n};\n\nvar size = {\n validate: validate$x\n};\n\nvar isURL_1 = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isURL;\n\nvar _assertString = _interopRequireDefault(assertString_1);\n\nvar _isFQDN = _interopRequireDefault(isFQDN_1);\n\nvar _isIP = _interopRequireDefault(isIP_1);\n\nvar _merge = _interopRequireDefault(merge_1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar default_url_options = {\n protocols: ['http', 'https', 'ftp'],\n require_tld: true,\n require_protocol: false,\n require_host: true,\n require_valid_protocol: true,\n allow_underscores: false,\n allow_trailing_dot: false,\n allow_protocol_relative_urls: false\n};\nvar wrapped_ipv6 = /^\\[([^\\]]+)\\](?::([0-9]+))?$/;\n\nfunction isRegExp(obj) {\n return Object.prototype.toString.call(obj) === '[object RegExp]';\n}\n\nfunction checkHost(host, matches) {\n for (var i = 0; i < matches.length; i++) {\n var match = matches[i];\n\n if (host === match || isRegExp(match) && match.test(host)) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction isURL(url, options) {\n (0, _assertString.default)(url);\n\n if (!url || url.length >= 2083 || /[\\s<>]/.test(url)) {\n return false;\n }\n\n if (url.indexOf('mailto:') === 0) {\n return false;\n }\n\n options = (0, _merge.default)(options, default_url_options);\n var protocol, auth, host, hostname, port, port_str, split, ipv6;\n split = url.split('#');\n url = split.shift();\n split = url.split('?');\n url = split.shift();\n split = url.split('://');\n\n if (split.length > 1) {\n protocol = split.shift().toLowerCase();\n\n if (options.require_valid_protocol && options.protocols.indexOf(protocol) === -1) {\n return false;\n }\n } else if (options.require_protocol) {\n return false;\n } else if (url.substr(0, 2) === '//') {\n if (!options.allow_protocol_relative_urls) {\n return false;\n }\n\n split[0] = url.substr(2);\n }\n\n url = split.join('://');\n\n if (url === '') {\n return false;\n }\n\n split = url.split('/');\n url = split.shift();\n\n if (url === '' && !options.require_host) {\n return true;\n }\n\n split = url.split('@');\n\n if (split.length > 1) {\n if (options.disallow_auth) {\n return false;\n }\n\n auth = split.shift();\n\n if (auth.indexOf(':') >= 0 && auth.split(':').length > 2) {\n return false;\n }\n }\n\n hostname = split.join('@');\n port_str = null;\n ipv6 = null;\n var ipv6_match = hostname.match(wrapped_ipv6);\n\n if (ipv6_match) {\n host = '';\n ipv6 = ipv6_match[1];\n port_str = ipv6_match[2] || null;\n } else {\n split = hostname.split(':');\n host = split.shift();\n\n if (split.length) {\n port_str = split.join(':');\n }\n }\n\n if (port_str !== null) {\n port = parseInt(port_str, 10);\n\n if (!/^[0-9]+$/.test(port_str) || port <= 0 || port > 65535) {\n return false;\n }\n }\n\n if (!(0, _isIP.default)(host) && !(0, _isFQDN.default)(host, options) && (!ipv6 || !(0, _isIP.default)(ipv6, 6))) {\n return false;\n }\n\n host = host || ipv6;\n\n if (options.host_whitelist && !checkHost(host, options.host_whitelist)) {\n return false;\n }\n\n if (options.host_blacklist && checkHost(host, options.host_blacklist)) {\n return false;\n }\n\n return true;\n}\n\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;\n});\n\nvar isURL = unwrapExports(isURL_1);\n\nvar validate$y = function (value, options) {\n if ( options === void 0 ) options = {};\n\n if (isNullOrUndefined(value)) {\n value = '';\n }\n\n var validatorOptions = assign({}, options);\n\n if (Array.isArray(value)) {\n return value.every(function (val) { return isURL(val, validatorOptions); });\n }\n\n return isURL(value, validatorOptions);\n};\n\nvar url = {\n validate: validate$y\n};\n\n/* eslint-disable camelcase */\n\nvar Rules = /*#__PURE__*/Object.freeze({\n after: after,\n alpha_dash: alpha_dash,\n alpha_num: alpha_num,\n alpha_spaces: alpha_spaces,\n alpha: alpha$1,\n before: before,\n between: between,\n confirmed: confirmed,\n credit_card: credit_card,\n date_between: date_between,\n date_format: date_format,\n decimal: decimal,\n digits: digits,\n dimensions: dimensions,\n email: email,\n ext: ext,\n image: image,\n included: included,\n integer: integer,\n length: length,\n ip: ip,\n ip_or_fqdn: ip_or_fqdn,\n is_not: is_not,\n is: is,\n max: max,\n max_value: max_value,\n mimes: mimes,\n min: min,\n min_value: min_value,\n excluded: excluded,\n numeric: numeric,\n regex: regex,\n required: required,\n required_if: required_if,\n size: size,\n url: url\n});\n\n// \n\nvar normalize = function (fields) {\n if (Array.isArray(fields)) {\n return fields.reduce(function (prev, curr) {\n if (includes(curr, '.')) {\n prev[curr.split('.')[1]] = curr;\n } else {\n prev[curr] = curr;\n }\n\n return prev;\n }, {});\n }\n\n return fields;\n};\n\n// Combines two flags using either AND or OR depending on the flag type.\nvar combine = function (lhs, rhs) {\n var mapper = {\n pristine: function (lhs, rhs) { return lhs && rhs; },\n dirty: function (lhs, rhs) { return lhs || rhs; },\n touched: function (lhs, rhs) { return lhs || rhs; },\n untouched: function (lhs, rhs) { return lhs && rhs; },\n valid: function (lhs, rhs) { return lhs && rhs; },\n invalid: function (lhs, rhs) { return lhs || rhs; },\n pending: function (lhs, rhs) { return lhs || rhs; },\n required: function (lhs, rhs) { return lhs || rhs; },\n validated: function (lhs, rhs) { return lhs && rhs; }\n };\n\n return Object.keys(mapper).reduce(function (flags, flag) {\n flags[flag] = mapper[flag](lhs[flag], rhs[flag]);\n\n return flags;\n }, {});\n};\n\nvar mapScope = function (scope, deep) {\n if ( deep === void 0 ) deep = true;\n\n return Object.keys(scope).reduce(function (flags, field) {\n if (!flags) {\n flags = assign({}, scope[field]);\n return flags;\n }\n\n // scope.\n var isScope = field.indexOf('$') === 0;\n if (deep && isScope) {\n return combine(mapScope(scope[field]), flags);\n } else if (!deep && isScope) {\n return flags;\n }\n\n flags = combine(flags, scope[field]);\n\n return flags;\n }, null);\n};\n\n/**\n * Maps fields to computed functions.\n */\nvar mapFields = function (fields) {\n if (!fields) {\n return function () {\n return mapScope(this.$validator.flags);\n };\n }\n\n var normalized = normalize(fields);\n return Object.keys(normalized).reduce(function (prev, curr) {\n var field = normalized[curr];\n prev[curr] = function mappedField () {\n // if field exists\n if (this.$validator.flags[field]) {\n return this.$validator.flags[field];\n }\n\n // scopeless fields were selected.\n if (normalized[curr] === '*') {\n return mapScope(this.$validator.flags, false);\n }\n\n // if it has a scope defined\n var index = field.indexOf('.');\n if (index <= 0) {\n return {};\n }\n\n var ref = field.split('.');\n var scope = ref[0];\n var name = ref.slice(1);\n\n scope = this.$validator.flags[(\"$\" + scope)];\n name = name.join('.');\n\n // an entire scope was selected: scope.*\n if (name === '*' && scope) {\n return mapScope(scope);\n }\n\n if (scope && scope[name]) {\n return scope[name];\n }\n\n return {};\n };\n\n return prev;\n }, {});\n};\n\nvar $validator = null;\n\nvar PROVIDER_COUNTER = 0;\n\nvar ValidationProvider = {\n $__veeInject: false,\n inject: {\n $_veeObserver: {\n from: '$_veeObserver',\n default: function default$1 () {\n if (!this.$vnode.context.$_veeObserver) {\n this.$vnode.context.$_veeObserver = createObserver();\n }\n\n return this.$vnode.context.$_veeObserver;\n }\n }\n },\n props: {\n vid: {\n type: [String, Number],\n default: function () {\n PROVIDER_COUNTER++;\n\n return (\"_vee_\" + PROVIDER_COUNTER);\n }\n },\n name: {\n type: String,\n default: null\n },\n mode: {\n type: [String, Function],\n default: function () {\n return getConfig().mode;\n }\n },\n events: {\n type: Array,\n validate: function () {\n /* istanbul ignore next */\n if (process.env.NODE_ENV !== 'production') {\n warn('events prop and config will be deprecated in future version please use the interaction modes instead');\n }\n\n return true;\n },\n default: function () {\n var events = getConfig().events;\n if (typeof events === 'string') {\n return events.split('|');\n }\n\n return events;\n }\n },\n rules: {\n type: [Object, String],\n default: null\n },\n immediate: {\n type: Boolean,\n default: false\n },\n persist: {\n type: Boolean,\n default: false\n },\n bails: {\n type: Boolean,\n default: function () { return getConfig().fastExit; }\n },\n debounce: {\n type: Number,\n default: function () { return getConfig().delay || 0; }\n },\n tag: {\n type: String,\n default: 'span'\n },\n slim: {\n type: Boolean,\n default: false\n }\n },\n watch: {\n rules: {\n deep: true,\n handler: function handler (val, oldVal) {\n this._needsValidation = !isEqual(val, oldVal);\n }\n }\n },\n data: function () { return ({\n messages: [],\n value: undefined,\n initialized: false,\n initialValue: undefined,\n flags: createFlags(),\n failedRules: {},\n forceRequired: false,\n isDeactivated: false,\n id: null\n }); },\n computed: {\n isValid: function isValid () {\n return this.flags.valid;\n },\n fieldDeps: function fieldDeps () {\n var this$1 = this;\n\n var rules = normalizeRules(this.rules);\n\n return Object.keys(rules).filter(RuleContainer.isTargetRule).map(function (rule) {\n var depName = rules[rule][0];\n watchCrossFieldDep(this$1, depName);\n\n return depName;\n });\n },\n normalizedEvents: function normalizedEvents () {\n var this$1 = this;\n\n var ref = computeModeSetting(this);\n var on = ref.on;\n\n return normalizeEvents(on || this.events || []).map(function (e) {\n if (e === 'input') {\n return this$1._inputEventName;\n }\n\n return e;\n });\n },\n isRequired: function isRequired () {\n var rules = normalizeRules(this.rules);\n var forceRequired = this.forceRequired;\n\n var isRequired = rules.required || forceRequired;\n this.flags.required = isRequired;\n\n return isRequired;\n },\n classes: function classes () {\n var this$1 = this;\n\n var names = getConfig().classNames;\n return Object.keys(this.flags).reduce(function (classes, flag) {\n var className = (names && names[flag]) || flag;\n if (isNullOrUndefined(this$1.flags[flag])) {\n return classes;\n }\n\n if (className) {\n classes[className] = this$1.flags[flag];\n }\n\n return classes;\n }, {});\n }\n },\n render: function render (h) {\n var this$1 = this;\n\n this.registerField();\n var ctx = createValidationCtx(this);\n\n // Gracefully handle non-existent scoped slots.\n var slot = this.$scopedSlots.default;\n /* istanbul ignore next */\n if (!isCallable(slot)) {\n if (process.env.NODE_ENV !== 'production') {\n warn('ValidationProvider expects a scoped slot. Did you forget to add \"v-slot\" to your slot?');\n }\n\n return h(this.tag, this.$slots.default);\n }\n\n var nodes = slot(ctx);\n // Handle single-root slot.\n extractVNodes(nodes).forEach(function (input) {\n addListeners.call(this$1, input);\n });\n\n return this.slim ? createRenderless(h, nodes) : h(this.tag, nodes);\n },\n beforeDestroy: function beforeDestroy () {\n // cleanup reference.\n this.$_veeObserver.unsubscribe(this);\n },\n activated: function activated () {\n this.$_veeObserver.subscribe(this);\n this.isDeactivated = false;\n },\n deactivated: function deactivated () {\n this.$_veeObserver.unsubscribe(this);\n this.isDeactivated = true;\n },\n methods: {\n setFlags: function setFlags (flags) {\n var this$1 = this;\n\n Object.keys(flags).forEach(function (flag) {\n this$1.flags[flag] = flags[flag];\n });\n },\n syncValue: function syncValue (e) {\n var value = normalizeValue$1(e);\n this.value = value;\n this.flags.changed = this.initialValue !== value;\n },\n reset: function reset () {\n this.messages = [];\n this._pendingValidation = null;\n this.initialValue = this.value;\n var flags = createFlags();\n this.setFlags(flags);\n },\n validate: function validate () {\n var this$1 = this;\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (args.length > 0) {\n this.syncValue(args[0]);\n }\n\n return this.validateSilent().then(function (result) {\n this$1.applyResult(result);\n\n return result;\n });\n },\n validateSilent: function validateSilent () {\n var this$1 = this;\n\n this.setFlags({ pending: true });\n\n return $validator.verify(this.value, this.rules, {\n name: this.name,\n values: createValuesLookup(this),\n bails: this.bails\n }).then(function (result) {\n this$1.setFlags({ pending: false });\n if (!this$1.isRequired) {\n this$1.setFlags({ valid: result.valid, invalid: !result.valid });\n }\n\n return result;\n });\n },\n applyResult: function applyResult (ref) {\n var errors = ref.errors;\n var failedRules = ref.failedRules;\n\n this.messages = errors;\n this.failedRules = assign({}, failedRules);\n this.setFlags({\n valid: !errors.length,\n changed: this.value !== this.initialValue,\n invalid: !!errors.length,\n validated: true\n });\n },\n registerField: function registerField () {\n if (!$validator) {\n $validator = getValidator() || new Validator(null, { fastExit: getConfig().fastExit });\n }\n\n updateRenderingContextRefs(this);\n }\n }\n};\n\nfunction createValidationCtx (ctx) {\n return {\n errors: ctx.messages,\n flags: ctx.flags,\n classes: ctx.classes,\n valid: ctx.isValid,\n failedRules: ctx.failedRules,\n reset: function () { return ctx.reset(); },\n validate: function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return ctx.validate.apply(ctx, args);\n },\n aria: {\n 'aria-invalid': ctx.flags.invalid ? 'true' : 'false',\n 'aria-required': ctx.isRequired ? 'true' : 'false'\n }\n };\n}\n\nfunction normalizeValue$1 (value) {\n if (isEvent(value)) {\n return value.target.type === 'file' ? toArray(value.target.files) : value.target.value;\n }\n\n return value;\n}\n\n/**\n * Determines if a provider needs to run validation.\n */\nfunction shouldValidate (ctx, model) {\n // when an immediate/initial validation is needed and wasn't done before.\n if (!ctx._ignoreImmediate && ctx.immediate) {\n return true;\n }\n\n // when the value changes for whatever reason.\n if (ctx.value !== model.value) {\n return true;\n }\n\n // when it needs validation due to props/cross-fields changes.\n if (ctx._needsValidation) {\n return true;\n }\n\n // when the initial value is undefined and the field wasn't rendered yet.\n if (!ctx.initialized && model.value === undefined) {\n return true;\n }\n\n return false;\n}\n\nfunction computeModeSetting (ctx) {\n var compute = isCallable(ctx.mode) ? ctx.mode : modes[ctx.mode];\n\n return compute({\n errors: ctx.messages,\n value: ctx.value,\n flags: ctx.flags\n });\n}\n\nfunction onRenderUpdate (model) {\n if (!this.initialized) {\n this.initialValue = model.value;\n }\n\n var validateNow = shouldValidate(this, model);\n this._needsValidation = false;\n this.value = model.value;\n this._ignoreImmediate = true;\n\n if (!validateNow) {\n return;\n }\n\n this.validateSilent().then(this.immediate || this.flags.validated ? this.applyResult : function (x) { return x; });\n}\n\n// Creates the common handlers for a validatable context.\nfunction createCommonHandlers (ctx) {\n var onInput = function (e) {\n ctx.syncValue(e); // track and keep the value updated.\n ctx.setFlags({ dirty: true, pristine: false });\n };\n\n // Blur event listener.\n var onBlur = function () {\n ctx.setFlags({ touched: true, untouched: false });\n };\n\n var onValidate = ctx.$veeHandler;\n var mode = computeModeSetting(ctx);\n\n // Handle debounce changes.\n if (!onValidate || ctx.$veeDebounce !== ctx.debounce) {\n onValidate = debounce(\n function () {\n ctx.$nextTick(function () {\n var pendingPromise = ctx.validateSilent();\n // avoids race conditions between successive validations.\n ctx._pendingValidation = pendingPromise;\n pendingPromise.then(function (result) {\n if (pendingPromise === ctx._pendingValidation) {\n ctx.applyResult(result);\n ctx._pendingValidation = null;\n }\n });\n });\n },\n mode.debounce || ctx.debounce\n );\n\n // Cache the handler so we don't create it each time.\n ctx.$veeHandler = onValidate;\n // cache the debounce value so we detect if it was changed.\n ctx.$veeDebounce = ctx.debounce;\n }\n\n return { onInput: onInput, onBlur: onBlur, onValidate: onValidate };\n}\n\n// Adds all plugin listeners to the vnode.\nfunction addListeners (node) {\n var model = findModel(node);\n // cache the input eventName.\n this._inputEventName = this._inputEventName || getInputEventName(node, model);\n\n onRenderUpdate.call(this, model);\n\n var ref = createCommonHandlers(this);\n var onInput = ref.onInput;\n var onBlur = ref.onBlur;\n var onValidate = ref.onValidate;\n addVNodeListener(node, this._inputEventName, onInput);\n addVNodeListener(node, 'blur', onBlur);\n\n // add the validation listeners.\n this.normalizedEvents.forEach(function (evt) {\n addVNodeListener(node, evt, onValidate);\n });\n\n this.initialized = true;\n}\n\nfunction createValuesLookup (ctx) {\n var providers = ctx.$_veeObserver.refs;\n\n return ctx.fieldDeps.reduce(function (acc, depName) {\n if (!providers[depName]) {\n return acc;\n }\n\n acc[depName] = providers[depName].value;\n\n return acc;\n }, {});\n}\n\nfunction updateRenderingContextRefs (ctx) {\n // IDs should not be nullable.\n if (isNullOrUndefined(ctx.id) && ctx.id === ctx.vid) {\n ctx.id = PROVIDER_COUNTER;\n PROVIDER_COUNTER++;\n }\n\n var id = ctx.id;\n var vid = ctx.vid;\n // Nothing has changed.\n if (ctx.isDeactivated || (id === vid && ctx.$_veeObserver.refs[id])) {\n return;\n }\n\n // vid was changed.\n if (id !== vid && ctx.$_veeObserver.refs[id] === ctx) {\n ctx.$_veeObserver.unsubscribe({ vid: id });\n }\n\n ctx.$_veeObserver.subscribe(ctx);\n ctx.id = vid;\n}\n\nfunction createObserver () {\n return {\n refs: {},\n subscribe: function subscribe (ctx) {\n this.refs[ctx.vid] = ctx;\n },\n unsubscribe: function unsubscribe (ctx) {\n delete this.refs[ctx.vid];\n }\n };\n}\n\nfunction watchCrossFieldDep (ctx, depName, withHooks) {\n if ( withHooks === void 0 ) withHooks = true;\n\n var providers = ctx.$_veeObserver.refs;\n if (!ctx._veeWatchers) {\n ctx._veeWatchers = {};\n }\n\n if (!providers[depName] && withHooks) {\n return ctx.$once('hook:mounted', function () {\n watchCrossFieldDep(ctx, depName, false);\n });\n }\n\n if (!isCallable(ctx._veeWatchers[depName]) && providers[depName]) {\n ctx._veeWatchers[depName] = providers[depName].$watch('value', function () {\n if (ctx.flags.validated) {\n ctx._needsValidation = true;\n ctx.validate();\n }\n });\n }\n}\n\nvar flagMergingStrategy = {\n pristine: 'every',\n dirty: 'some',\n touched: 'some',\n untouched: 'every',\n valid: 'every',\n invalid: 'some',\n pending: 'some',\n validated: 'every'\n};\n\nfunction mergeFlags (lhs, rhs, strategy) {\n var stratName = flagMergingStrategy[strategy];\n\n return [lhs, rhs][stratName](function (f) { return f; });\n}\n\nvar OBSERVER_COUNTER = 0;\n\nvar ValidationObserver = {\n name: 'ValidationObserver',\n provide: function provide () {\n return {\n $_veeObserver: this\n };\n },\n inject: {\n $_veeObserver: {\n from: '$_veeObserver',\n default: function default$1 () {\n if (!this.$vnode.context.$_veeObserver) {\n return null;\n }\n\n return this.$vnode.context.$_veeObserver;\n }\n }\n },\n props: {\n tag: {\n type: String,\n default: 'span'\n },\n slim: {\n type: Boolean,\n default: false\n }\n },\n data: function () { return ({\n vid: (\"obs_\" + (OBSERVER_COUNTER++)),\n refs: {},\n observers: [],\n persistedStore: {}\n }); },\n computed: {\n ctx: function ctx () {\n var this$1 = this;\n\n var ctx = {\n errors: {},\n validate: function (arg) {\n var promise = this$1.validate(arg);\n\n return {\n then: function then (thenable) {\n return promise.then(function (success) {\n if (success && isCallable(thenable)) {\n return Promise.resolve(thenable());\n }\n\n return Promise.resolve(success);\n });\n }\n };\n },\n reset: function () { return this$1.reset(); }\n };\n\n return values(this.refs).concat( Object.keys(this.persistedStore).map(function (key) {\n return {\n vid: key,\n flags: this$1.persistedStore[key].flags,\n messages: this$1.persistedStore[key].errors\n };\n }),\n this.observers ).reduce(function (acc, provider) {\n Object.keys(flagMergingStrategy).forEach(function (flag) {\n var flags = provider.flags || provider.ctx;\n if (!(flag in acc)) {\n acc[flag] = flags[flag];\n return;\n }\n\n acc[flag] = mergeFlags(acc[flag], flags[flag], flag);\n });\n\n acc.errors[provider.vid] = provider.messages || values(provider.ctx.errors).reduce(function (errs, obsErrors) {\n return errs.concat(obsErrors);\n }, []);\n\n return acc;\n }, ctx);\n }\n },\n created: function created () {\n if (this.$_veeObserver) {\n this.$_veeObserver.subscribe(this, 'observer');\n }\n },\n activated: function activated () {\n if (this.$_veeObserver) {\n this.$_veeObserver.subscribe(this, 'observer');\n }\n },\n deactivated: function deactivated () {\n if (this.$_veeObserver) {\n this.$_veeObserver.unsubscribe(this, 'observer');\n }\n },\n beforeDestroy: function beforeDestroy () {\n if (this.$_veeObserver) {\n this.$_veeObserver.unsubscribe(this, 'observer');\n }\n },\n render: function render (h) {\n var slots = this.$slots.default || this.$scopedSlots.default || [];\n if (isCallable(slots)) {\n slots = slots(this.ctx);\n }\n\n return this.slim ? createRenderless(h, slots) : h(this.tag, { on: this.$listeners, attrs: this.$attrs }, slots);\n },\n methods: {\n subscribe: function subscribe (subscriber, kind) {\n var obj;\n\n if ( kind === void 0 ) kind = 'provider';\n if (kind === 'observer') {\n this.observers.push(subscriber);\n return;\n }\n\n this.refs = Object.assign({}, this.refs, ( obj = {}, obj[subscriber.vid] = subscriber, obj ));\n if (subscriber.persist && this.persistedStore[subscriber.vid]) {\n this.restoreProviderState(subscriber);\n }\n },\n unsubscribe: function unsubscribe (ref, kind) {\n var vid = ref.vid;\n if ( kind === void 0 ) kind = 'provider';\n\n if (kind === 'provider') {\n this.removeProvider(vid);\n }\n\n var idx = findIndex(this.observers, function (o) { return o.vid === vid; });\n if (idx !== -1) {\n this.observers.splice(idx, 1);\n }\n },\n validate: function validate (ref) {\n if ( ref === void 0 ) ref = { silent: false };\n var silent = ref.silent;\n\n return Promise.all(values(this.refs).map(function (ref) { return ref[silent ? 'validateSilent' : 'validate']().then(function (r) { return r.valid; }); }).concat( this.observers.map(function (obs) { return obs.validate({ silent: silent }); })\n )).then(function (results) { return results.every(function (r) { return r; }); });\n },\n reset: function reset () {\n var this$1 = this;\n\n Object.keys(this.persistedStore).forEach(function (key) {\n this$1.$delete(this$1.persistedStore, key);\n });\n return values(this.refs).concat( this.observers).forEach(function (ref) { return ref.reset(); });\n },\n restoreProviderState: function restoreProviderState (provider) {\n var state = this.persistedStore[provider.vid];\n provider.setFlags(state.flags);\n provider.applyResult(state);\n this.$delete(this.persistedStore, provider.vid);\n },\n removeProvider: function removeProvider (vid) {\n var obj;\n\n var provider = this.refs[vid];\n // save it for the next time.\n if (provider && provider.persist) {\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n if (vid.indexOf('_vee_') === 0) {\n warn('Please provide a `vid` prop when using `persist`, there might be unexpected issues otherwise.');\n }\n }\n\n this.persistedStore = assign({}, this.persistedStore, ( obj = {}, obj[vid] = {\n flags: provider.flags,\n errors: provider.messages,\n failedRules: provider.failedRules\n }, obj ));\n }\n\n this.$delete(this.refs, vid);\n },\n }\n};\n\nfunction withValidation (component, ctxToProps) {\n if ( ctxToProps === void 0 ) ctxToProps = null;\n\n var options = isCallable(component) ? component.options : component;\n options.$__veeInject = false;\n var hoc = {\n name: ((options.name || 'AnonymousHoc') + \"WithValidation\"),\n props: assign({}, ValidationProvider.props),\n data: ValidationProvider.data,\n computed: assign({}, ValidationProvider.computed),\n methods: assign({}, ValidationProvider.methods),\n $__veeInject: false,\n beforeDestroy: ValidationProvider.beforeDestroy,\n inject: ValidationProvider.inject\n };\n\n // Default ctx converts ctx props to component props.\n if (!ctxToProps) {\n ctxToProps = function (ctx) { return ctx; };\n }\n\n var eventName = (options.model && options.model.event) || 'input';\n\n hoc.render = function (h) {\n var obj;\n\n this.registerField();\n var vctx = createValidationCtx(this);\n var listeners = assign({}, this.$listeners);\n\n var model = findModel(this.$vnode);\n this._inputEventName = this._inputEventName || getInputEventName(this.$vnode, model);\n onRenderUpdate.call(this, model);\n\n var ref = createCommonHandlers(this);\n var onInput = ref.onInput;\n var onBlur = ref.onBlur;\n var onValidate = ref.onValidate;\n\n mergeVNodeListeners(listeners, eventName, onInput);\n mergeVNodeListeners(listeners, 'blur', onBlur);\n this.normalizedEvents.forEach(function (evt, idx) {\n mergeVNodeListeners(listeners, evt, onValidate);\n });\n\n // Props are any attrs not associated with ValidationProvider Plus the model prop.\n // WARNING: Accidental prop overwrite will probably happen.\n var ref$1 = findModelConfig(this.$vnode) || { prop: 'value' };\n var prop = ref$1.prop;\n var props = assign({}, this.$attrs, ( obj = {}, obj[prop] = model.value, obj ), ctxToProps(vctx));\n\n return h(options, {\n attrs: this.$attrs,\n props: props,\n on: listeners\n }, normalizeSlots(this.$slots, this.$vnode.context));\n };\n\n return hoc;\n}\n\nvar version = '2.2.15';\n\nObject.keys(Rules).forEach(function (rule) {\n Validator.extend(rule, Rules[rule].validate, assign({}, Rules[rule].options, { paramNames: Rules[rule].paramNames }));\n});\n\n// Merge the english messages.\nValidator.localize({ en: locale });\n\nvar install = VeeValidate$1.install;\n\nVeeValidate$1.version = version;\nVeeValidate$1.mapFields = mapFields;\nVeeValidate$1.ValidationProvider = ValidationProvider;\nVeeValidate$1.ValidationObserver = ValidationObserver;\nVeeValidate$1.withValidation = withValidation;\n\nexport default VeeValidate$1;\nexport { ErrorBag, Rules, ValidationObserver, ValidationProvider, Validator, directive, install, mapFields, mixin, version, withValidation };\n","// Utilities\nimport { consoleWarn } from './console';\nimport { chunk, padEnd } from './helpers';\nimport { toXYZ } from './color/transformSRGB';\nexport function isCssColor(color) {\n return !!color && !!color.match(/^(#|var\\(--|(rgb|hsl)a?\\()/);\n}\nexport function colorToInt(color) {\n let rgb;\n\n if (typeof color === 'number') {\n rgb = color;\n } else if (typeof color === 'string') {\n let c = color[0] === '#' ? color.substring(1) : color;\n\n if (c.length === 3) {\n c = c.split('').map(char => char + char).join('');\n }\n\n if (c.length !== 6) {\n consoleWarn(`'${color}' is not a valid rgb color`);\n }\n\n rgb = parseInt(c, 16);\n } else {\n throw new TypeError(`Colors can only be numbers or strings, recieved ${color == null ? color : color.constructor.name} instead`);\n }\n\n if (rgb < 0) {\n consoleWarn(`Colors cannot be negative: '${color}'`);\n rgb = 0;\n } else if (rgb > 0xffffff || isNaN(rgb)) {\n consoleWarn(`'${color}' is not a valid rgb color`);\n rgb = 0xffffff;\n }\n\n return rgb;\n}\nexport function classToHex(color, colors, currentTheme) {\n const [colorName, colorModifier] = color.toString().trim().replace('-', '').split(' ', 2);\n let hexColor = '';\n\n if (colorName && colorName in colors) {\n if (colorModifier && colorModifier in colors[colorName]) {\n hexColor = colors[colorName][colorModifier];\n } else if ('base' in colors[colorName]) {\n hexColor = colors[colorName].base;\n }\n } else if (colorName && colorName in currentTheme) {\n hexColor = currentTheme[colorName];\n }\n\n return hexColor;\n}\nexport function intToHex(color) {\n let hexColor = color.toString(16);\n if (hexColor.length < 6) hexColor = '0'.repeat(6 - hexColor.length) + hexColor;\n return '#' + hexColor;\n}\nexport function colorToHex(color) {\n return intToHex(colorToInt(color));\n}\n/**\n * Converts HSVA to RGBA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV\n *\n * @param color HSVA color as an array [0-360, 0-1, 0-1, 0-1]\n */\n\nexport function HSVAtoRGBA(hsva) {\n const {\n h,\n s,\n v,\n a\n } = hsva;\n\n const f = n => {\n const k = (n + h / 60) % 6;\n return v - v * s * Math.max(Math.min(k, 4 - k, 1), 0);\n };\n\n const rgb = [f(5), f(3), f(1)].map(v => Math.round(v * 255));\n return {\n r: rgb[0],\n g: rgb[1],\n b: rgb[2],\n a\n };\n}\n/**\n * Converts RGBA to HSVA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV\n *\n * @param color RGBA color as an array [0-255, 0-255, 0-255, 0-1]\n */\n\nexport function RGBAtoHSVA(rgba) {\n if (!rgba) return {\n h: 0,\n s: 1,\n v: 1,\n a: 1\n };\n const r = rgba.r / 255;\n const g = rgba.g / 255;\n const b = rgba.b / 255;\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n let h = 0;\n\n if (max !== min) {\n if (max === r) {\n h = 60 * (0 + (g - b) / (max - min));\n } else if (max === g) {\n h = 60 * (2 + (b - r) / (max - min));\n } else if (max === b) {\n h = 60 * (4 + (r - g) / (max - min));\n }\n }\n\n if (h < 0) h = h + 360;\n const s = max === 0 ? 0 : (max - min) / max;\n const hsv = [h, s, max];\n return {\n h: hsv[0],\n s: hsv[1],\n v: hsv[2],\n a: rgba.a\n };\n}\nexport function HSVAtoHSLA(hsva) {\n const {\n h,\n s,\n v,\n a\n } = hsva;\n const l = v - v * s / 2;\n const sprime = l === 1 || l === 0 ? 0 : (v - l) / Math.min(l, 1 - l);\n return {\n h,\n s: sprime,\n l,\n a\n };\n}\nexport function HSLAtoHSVA(hsl) {\n const {\n h,\n s,\n l,\n a\n } = hsl;\n const v = l + s * Math.min(l, 1 - l);\n const sprime = v === 0 ? 0 : 2 - 2 * l / v;\n return {\n h,\n s: sprime,\n v,\n a\n };\n}\nexport function RGBAtoCSS(rgba) {\n return `rgba(${rgba.r}, ${rgba.g}, ${rgba.b}, ${rgba.a})`;\n}\nexport function RGBtoCSS(rgba) {\n return RGBAtoCSS({ ...rgba,\n a: 1\n });\n}\nexport function RGBAtoHex(rgba) {\n const toHex = v => {\n const h = Math.round(v).toString(16);\n return ('00'.substr(0, 2 - h.length) + h).toUpperCase();\n };\n\n return `#${[toHex(rgba.r), toHex(rgba.g), toHex(rgba.b), toHex(Math.round(rgba.a * 255))].join('')}`;\n}\nexport function HexToRGBA(hex) {\n const rgba = chunk(hex.slice(1), 2).map(c => parseInt(c, 16));\n return {\n r: rgba[0],\n g: rgba[1],\n b: rgba[2],\n a: Math.round(rgba[3] / 255 * 100) / 100\n };\n}\nexport function HexToHSVA(hex) {\n const rgb = HexToRGBA(hex);\n return RGBAtoHSVA(rgb);\n}\nexport function HSVAtoHex(hsva) {\n return RGBAtoHex(HSVAtoRGBA(hsva));\n}\nexport function parseHex(hex) {\n if (hex.startsWith('#')) {\n hex = hex.slice(1);\n }\n\n hex = hex.replace(/([^0-9a-f])/gi, 'F');\n\n if (hex.length === 3 || hex.length === 4) {\n hex = hex.split('').map(x => x + x).join('');\n }\n\n if (hex.length === 6) {\n hex = padEnd(hex, 8, 'F');\n } else {\n hex = padEnd(padEnd(hex, 6), 8, 'F');\n }\n\n return `#${hex}`.toUpperCase().substr(0, 9);\n}\nexport function parseGradient(gradient, colors, currentTheme) {\n return gradient.replace(/([a-z]+(\\s[a-z]+-[1-5])?)(?=$|,)/gi, x => {\n return classToHex(x, colors, currentTheme) || x;\n }).replace(/(rgba\\()#[0-9a-f]+(?=,)/gi, x => {\n return 'rgba(' + Object.values(HexToRGBA(parseHex(x.replace(/rgba\\(/, '')))).slice(0, 3).join(',');\n });\n}\nexport function RGBtoInt(rgba) {\n return (rgba.r << 16) + (rgba.g << 8) + rgba.b;\n}\n/**\n * Returns the contrast ratio (1-21) between two colors.\n *\n * @param c1 First color\n * @param c2 Second color\n */\n\nexport function contrastRatio(c1, c2) {\n const [, y1] = toXYZ(RGBtoInt(c1));\n const [, y2] = toXYZ(RGBtoInt(c2));\n return (Math.max(y1, y2) + 0.05) / (Math.min(y1, y2) + 0.05);\n}\n//# sourceMappingURL=colorUtils.js.map","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","import Vue from 'vue';\n/**\n * This mixin provides `attrs$` and `listeners$` to work around\n * vue bug https://github.com/vuejs/vue/issues/10115\n */\n\nfunction makeWatcher(property) {\n return function (val, oldVal) {\n for (const attr in oldVal) {\n if (!Object.prototype.hasOwnProperty.call(val, attr)) {\n this.$delete(this.$data[property], attr);\n }\n }\n\n for (const attr in val) {\n this.$set(this.$data[property], attr, val[attr]);\n }\n };\n}\n\nexport default Vue.extend({\n data: () => ({\n attrs$: {},\n listeners$: {}\n }),\n\n created() {\n // Work around unwanted re-renders: https://github.com/vuejs/vue/issues/10115\n // Make sure to use `attrs$` instead of `$attrs` (confusing right?)\n this.$watch('$attrs', makeWatcher('attrs$'), {\n immediate: true\n });\n this.$watch('$listeners', makeWatcher('listeners$'), {\n immediate: true\n });\n }\n\n});\n//# sourceMappingURL=index.js.map","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","import Vue from 'vue';\nexport function createSimpleFunctional(c, el = 'div', name) {\n return Vue.extend({\n name: name || c.replace(/__/g, '-'),\n functional: true,\n props: {\n tag: {\n type: String,\n default: el\n }\n },\n\n render(h, {\n data,\n props,\n children\n }) {\n data.staticClass = `${c} ${data.staticClass || ''}`.trim();\n return h(props.tag, data, children);\n }\n\n });\n}\nexport function directiveConfig(binding, defaults = {}) {\n return { ...defaults,\n ...binding.modifiers,\n value: binding.arg,\n ...(binding.value || {})\n };\n}\nexport function addOnceEventListener(el, eventName, cb, options = false) {\n const once = event => {\n cb(event);\n el.removeEventListener(eventName, once, options);\n };\n\n el.addEventListener(eventName, once, options);\n}\nlet passiveSupported = false;\n\ntry {\n if (typeof window !== 'undefined') {\n const testListenerOpts = Object.defineProperty({}, 'passive', {\n get: () => {\n passiveSupported = true;\n }\n });\n window.addEventListener('testListener', testListenerOpts, testListenerOpts);\n window.removeEventListener('testListener', testListenerOpts, testListenerOpts);\n }\n} catch (e) {\n console.warn(e);\n}\n/* eslint-disable-line no-console */\n\n\nexport { passiveSupported };\nexport function addPassiveEventListener(el, event, cb, options) {\n el.addEventListener(event, cb, passiveSupported ? options : false);\n}\nexport function getNestedValue(obj, path, fallback) {\n const last = path.length - 1;\n if (last < 0) return obj === undefined ? fallback : obj;\n\n for (let i = 0; i < last; i++) {\n if (obj == null) {\n return fallback;\n }\n\n obj = obj[path[i]];\n }\n\n if (obj == null) return fallback;\n return obj[path[last]] === undefined ? fallback : obj[path[last]];\n}\nexport function deepEqual(a, b) {\n if (a === b) return true;\n\n if (a instanceof Date && b instanceof Date && a.getTime() !== b.getTime()) {\n // If the values are Date, compare them as timestamps\n return false;\n }\n\n if (a !== Object(a) || b !== Object(b)) {\n // If the values aren't objects, they were already checked for equality\n return false;\n }\n\n const props = Object.keys(a);\n\n if (props.length !== Object.keys(b).length) {\n // Different number of props, don't bother to check\n return false;\n }\n\n return props.every(p => deepEqual(a[p], b[p]));\n}\nexport function getObjectValueByPath(obj, path, fallback) {\n // credit: http://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key#comment55278413_6491621\n if (obj == null || !path || typeof path !== 'string') return fallback;\n if (obj[path] !== undefined) return obj[path];\n path = path.replace(/\\[(\\w+)\\]/g, '.$1'); // convert indexes to properties\n\n path = path.replace(/^\\./, ''); // strip a leading dot\n\n return getNestedValue(obj, path.split('.'), fallback);\n}\nexport function getPropertyFromItem(item, property, fallback) {\n if (property == null) return item === undefined ? fallback : item;\n if (item !== Object(item)) return fallback === undefined ? item : fallback;\n if (typeof property === 'string') return getObjectValueByPath(item, property, fallback);\n if (Array.isArray(property)) return getNestedValue(item, property, fallback);\n if (typeof property !== 'function') return fallback;\n const value = property(item, fallback);\n return typeof value === 'undefined' ? fallback : value;\n}\nexport function createRange(length) {\n return Array.from({\n length\n }, (v, k) => k);\n}\nexport function getZIndex(el) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return 0;\n const index = +window.getComputedStyle(el).getPropertyValue('z-index');\n if (!index) return getZIndex(el.parentNode);\n return index;\n}\nexport function filterObjectOnKeys(obj, keys) {\n const filtered = {};\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n\n if (typeof obj[key] !== 'undefined') {\n filtered[key] = obj[key];\n }\n }\n\n return filtered;\n}\nexport function convertToUnit(str, unit = 'px') {\n if (str == null || str === '') {\n return undefined;\n } else if (isNaN(+str)) {\n return String(str);\n } else {\n return `${Number(str)}${unit}`;\n }\n}\nexport function kebabCase(str) {\n return (str || '').replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\nexport function isObject(obj) {\n return obj !== null && typeof obj === 'object';\n} // KeyboardEvent.keyCode aliases\n\nexport const keyCodes = Object.freeze({\n enter: 13,\n tab: 9,\n delete: 46,\n esc: 27,\n space: 32,\n up: 38,\n down: 40,\n left: 37,\n right: 39,\n end: 35,\n home: 36,\n del: 46,\n backspace: 8,\n insert: 45,\n pageup: 33,\n pagedown: 34,\n shift: 16\n});\n/**\n * This remaps internal names like '$cancel' or '$vuetify.icons.cancel'\n * to the current name or component for that icon.\n */\n\nexport function remapInternalIcon(vm, iconName) {\n // Look for custom component in the configuration\n const component = vm.$vuetify.icons.component; // Look for overrides\n\n if (iconName.startsWith('$')) {\n // Get the target icon name\n const iconPath = `$vuetify.icons.values.${iconName.split('$').pop().split('.').pop()}`; // Now look up icon indirection name,\n // e.g. '$vuetify.icons.values.cancel'\n\n const override = getObjectValueByPath(vm, iconPath, iconName);\n if (typeof override === 'string') iconName = override;else return override;\n }\n\n if (component == null) {\n return iconName;\n }\n\n return {\n component,\n props: {\n icon: iconName\n }\n };\n}\nexport function keys(o) {\n return Object.keys(o);\n}\n/**\n * Camelize a hyphen-delimited string.\n */\n\nconst camelizeRE = /-(\\w)/g;\nexport const camelize = str => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : '');\n};\n/**\n * Returns the set difference of B and A, i.e. the set of elements in B but not in A\n */\n\nexport function arrayDiff(a, b) {\n const diff = [];\n\n for (let i = 0; i < b.length; i++) {\n if (a.indexOf(b[i]) < 0) diff.push(b[i]);\n }\n\n return diff;\n}\n/**\n * Makes the first character of a string uppercase\n */\n\nexport function upperFirst(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\nexport function groupItems(items, groupBy, groupDesc) {\n const key = groupBy[0];\n const groups = [];\n let current;\n\n for (let i = 0; i < items.length; i++) {\n const item = items[i];\n const val = getObjectValueByPath(item, key, null);\n\n if (current !== val) {\n current = val;\n groups.push({\n name: val !== null && val !== void 0 ? val : '',\n items: []\n });\n }\n\n groups[groups.length - 1].items.push(item);\n }\n\n return groups;\n}\nexport function wrapInArray(v) {\n return v != null ? Array.isArray(v) ? v : [v] : [];\n}\nexport function sortItems(items, sortBy, sortDesc, locale, customSorters) {\n if (sortBy === null || !sortBy.length) return items;\n const stringCollator = new Intl.Collator(locale, {\n sensitivity: 'accent',\n usage: 'sort'\n });\n return items.sort((a, b) => {\n for (let i = 0; i < sortBy.length; i++) {\n const sortKey = sortBy[i];\n let sortA = getObjectValueByPath(a, sortKey);\n let sortB = getObjectValueByPath(b, sortKey);\n\n if (sortDesc[i]) {\n [sortA, sortB] = [sortB, sortA];\n }\n\n if (customSorters && customSorters[sortKey]) {\n const customResult = customSorters[sortKey](sortA, sortB);\n if (!customResult) continue;\n return customResult;\n } // Check if both cannot be evaluated\n\n\n if (sortA === null && sortB === null) {\n continue;\n } // Dates should be compared numerically\n\n\n if (sortA instanceof Date && sortB instanceof Date) {\n return sortA.getTime() - sortB.getTime();\n }\n\n [sortA, sortB] = [sortA, sortB].map(s => (s || '').toString().toLocaleLowerCase());\n\n if (sortA !== sortB) {\n if (!isNaN(sortA) && !isNaN(sortB)) return Number(sortA) - Number(sortB);\n return stringCollator.compare(sortA, sortB);\n }\n }\n\n return 0;\n });\n}\nexport function defaultFilter(value, search, item) {\n return value != null && search != null && typeof value !== 'boolean' && value.toString().toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) !== -1;\n}\nexport function searchItems(items, search) {\n if (!search) return items;\n search = search.toString().toLowerCase();\n if (search.trim() === '') return items;\n return items.filter(item => Object.keys(item).some(key => defaultFilter(getObjectValueByPath(item, key), search, item)));\n}\n/**\n * Returns:\n * - 'normal' for old style slots - `<template slot=\"default\">`\n * - 'scoped' for old style scoped slots (`<template slot=\"default\" slot-scope=\"data\">`) or bound v-slot (`#default=\"data\"`)\n * - 'v-slot' for unbound v-slot (`#default`) - only if the third param is true, otherwise counts as scoped\n */\n\nexport function getSlotType(vm, name, split) {\n if (vm.$slots.hasOwnProperty(name) && vm.$scopedSlots.hasOwnProperty(name) && vm.$scopedSlots[name].name) {\n return split ? 'v-slot' : 'scoped';\n }\n\n if (vm.$slots.hasOwnProperty(name)) return 'normal';\n if (vm.$scopedSlots.hasOwnProperty(name)) return 'scoped';\n}\nexport function debounce(fn, delay) {\n let timeoutId = 0;\n return (...args) => {\n clearTimeout(timeoutId);\n timeoutId = setTimeout(() => fn(...args), delay);\n };\n}\nexport function throttle(fn, limit) {\n let throttling = false;\n return (...args) => {\n if (!throttling) {\n throttling = true;\n setTimeout(() => throttling = false, limit);\n return fn(...args);\n }\n };\n}\nexport function getPrefixedScopedSlots(prefix, scopedSlots) {\n return Object.keys(scopedSlots).filter(k => k.startsWith(prefix)).reduce((obj, k) => {\n obj[k.replace(prefix, '')] = scopedSlots[k];\n return obj;\n }, {});\n}\nexport function getSlot(vm, name = 'default', data, optional = false) {\n const kebabName = kebabCase(name);\n\n if (vm.$scopedSlots.hasOwnProperty(name)) {\n return vm.$scopedSlots[name](data instanceof Function ? data() : data);\n } else if (vm.$scopedSlots.hasOwnProperty(kebabName)) {\n return vm.$scopedSlots[kebabName](data instanceof Function ? data() : data);\n } else if (vm.$slots.hasOwnProperty(name) && (!data || optional)) {\n return vm.$slots[name];\n } else if (vm.$slots.hasOwnProperty(kebabName) && (!data || optional)) {\n return vm.$slots[kebabName];\n }\n\n return undefined;\n}\nexport function clamp(value, min = 0, max = 1) {\n return Math.max(min, Math.min(max, value));\n}\nexport function padEnd(str, length, char = '0') {\n return str + char.repeat(Math.max(0, length - str.length));\n}\nexport function chunk(str, size = 1) {\n const chunked = [];\n let index = 0;\n\n while (index < str.length) {\n chunked.push(str.substr(index, size));\n index += size;\n }\n\n return chunked;\n}\nexport function humanReadableFileSize(bytes, binary = false) {\n const base = binary ? 1024 : 1000;\n\n if (bytes < base) {\n return `${bytes} B`;\n }\n\n const prefix = binary ? ['Ki', 'Mi', 'Gi'] : ['k', 'M', 'G'];\n let unit = -1;\n\n while (Math.abs(bytes) >= base && unit < prefix.length - 1) {\n bytes /= base;\n ++unit;\n }\n\n return `${bytes.toFixed(1)} ${prefix[unit]}B`;\n}\nexport function camelizeObjectKeys(obj) {\n if (!obj) return {};\n return Object.keys(obj).reduce((o, key) => {\n o[camelize(key)] = obj[key];\n return o;\n }, {});\n}\nexport function mergeDeep(source = {}, target = {}) {\n for (const key in target) {\n const sourceProperty = source[key];\n const targetProperty = target[key]; // Only continue deep merging if\n // both properties are objects\n\n if (isObject(sourceProperty) && isObject(targetProperty)) {\n source[key] = mergeDeep(sourceProperty, targetProperty);\n continue;\n }\n\n source[key] = targetProperty;\n }\n\n return source;\n}\nexport function fillArray(length, obj) {\n return Array(length).fill(obj);\n}\n/** Polyfill for Event.prototype.composedPath */\n\nexport function composedPath(e) {\n if (e.composedPath) return e.composedPath();\n const path = [];\n let el = e.target;\n\n while (el) {\n path.push(el);\n\n if (el.tagName === 'HTML') {\n path.push(document);\n path.push(window);\n return path;\n }\n\n el = el.parentElement;\n }\n\n return path;\n}\n//# sourceMappingURL=helpers.js.map","// Generated by CoffeeScript 1.12.7\n(function() {\n \"use strict\";\n var prefixMatch;\n\n prefixMatch = new RegExp(/(?!xmlns)^.*:/);\n\n exports.normalize = function(str) {\n return str.toLowerCase();\n };\n\n exports.firstCharLowerCase = function(str) {\n return str.charAt(0).toLowerCase() + str.slice(1);\n };\n\n exports.stripPrefix = function(str) {\n return str.replace(prefixMatch, '');\n };\n\n exports.parseNumbers = function(str) {\n if (!isNaN(str)) {\n str = str % 1 === 0 ? parseInt(str, 10) : parseFloat(str);\n }\n return str;\n };\n\n exports.parseBooleans = function(str) {\n if (/^(?:true|false)$/i.test(str)) {\n str = str.toLowerCase() === 'true';\n }\n return str;\n };\n\n}).call(this);\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","import VSheet from './VSheet';\nexport { VSheet };\nexport default VSheet;\n//# sourceMappingURL=index.js.map","// Styles\nimport \"../../../src/components/VProgressCircular/VProgressCircular.sass\"; // Directives\n\nimport intersect from '../../directives/intersect'; // Mixins\n\nimport Colorable from '../../mixins/colorable'; // Utils\n\nimport { convertToUnit, getSlot } from '../../util/helpers';\n/* @vue/component */\n\nexport default Colorable.extend({\n name: 'v-progress-circular',\n directives: {\n intersect\n },\n props: {\n button: Boolean,\n indeterminate: Boolean,\n rotate: {\n type: [Number, String],\n default: 0\n },\n size: {\n type: [Number, String],\n default: 32\n },\n width: {\n type: [Number, String],\n default: 4\n },\n value: {\n type: [Number, String],\n default: 0\n }\n },\n data: () => ({\n radius: 20,\n isVisible: true\n }),\n computed: {\n calculatedSize() {\n return Number(this.size) + (this.button ? 8 : 0);\n },\n\n circumference() {\n return 2 * Math.PI * this.radius;\n },\n\n classes() {\n return {\n 'v-progress-circular--visible': this.isVisible,\n 'v-progress-circular--indeterminate': this.indeterminate,\n 'v-progress-circular--button': this.button\n };\n },\n\n normalizedValue() {\n if (this.value < 0) {\n return 0;\n }\n\n if (this.value > 100) {\n return 100;\n }\n\n return parseFloat(this.value);\n },\n\n strokeDashArray() {\n return Math.round(this.circumference * 1000) / 1000;\n },\n\n strokeDashOffset() {\n return (100 - this.normalizedValue) / 100 * this.circumference + 'px';\n },\n\n strokeWidth() {\n return Number(this.width) / +this.size * this.viewBoxSize * 2;\n },\n\n styles() {\n return {\n height: convertToUnit(this.calculatedSize),\n width: convertToUnit(this.calculatedSize)\n };\n },\n\n svgStyles() {\n return {\n transform: `rotate(${Number(this.rotate)}deg)`\n };\n },\n\n viewBoxSize() {\n return this.radius / (1 - Number(this.width) / +this.size);\n }\n\n },\n methods: {\n genCircle(name, offset) {\n return this.$createElement('circle', {\n class: `v-progress-circular__${name}`,\n attrs: {\n fill: 'transparent',\n cx: 2 * this.viewBoxSize,\n cy: 2 * this.viewBoxSize,\n r: this.radius,\n 'stroke-width': this.strokeWidth,\n 'stroke-dasharray': this.strokeDashArray,\n 'stroke-dashoffset': offset\n }\n });\n },\n\n genSvg() {\n const children = [this.indeterminate || this.genCircle('underlay', 0), this.genCircle('overlay', this.strokeDashOffset)];\n return this.$createElement('svg', {\n style: this.svgStyles,\n attrs: {\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: `${this.viewBoxSize} ${this.viewBoxSize} ${2 * this.viewBoxSize} ${2 * this.viewBoxSize}`\n }\n }, children);\n },\n\n genInfo() {\n return this.$createElement('div', {\n staticClass: 'v-progress-circular__info'\n }, getSlot(this));\n },\n\n onObserve(entries, observer, isIntersecting) {\n this.isVisible = isIntersecting;\n }\n\n },\n\n render(h) {\n return h('div', this.setTextColor(this.color, {\n staticClass: 'v-progress-circular',\n attrs: {\n role: 'progressbar',\n 'aria-valuemin': 0,\n 'aria-valuemax': 100,\n 'aria-valuenow': this.indeterminate ? undefined : this.normalizedValue\n },\n class: this.classes,\n directives: [{\n name: 'intersect',\n value: this.onObserve\n }],\n style: this.styles,\n on: this.$listeners\n }), [this.genSvg(), this.genInfo()]);\n }\n\n});\n//# sourceMappingURL=VProgressCircular.js.map","import VProgressCircular from './VProgressCircular';\nexport { VProgressCircular };\nexport default VProgressCircular;\n//# sourceMappingURL=index.js.map","// Styles\nimport \"../../../src/components/VBtn/VBtn.sass\"; // Extensions\n\nimport VSheet from '../VSheet'; // Components\n\nimport VProgressCircular from '../VProgressCircular'; // Mixins\n\nimport { factory as GroupableFactory } from '../../mixins/groupable';\nimport { factory as ToggleableFactory } from '../../mixins/toggleable';\nimport Elevatable from '../../mixins/elevatable';\nimport Positionable from '../../mixins/positionable';\nimport Routable from '../../mixins/routable';\nimport Sizeable from '../../mixins/sizeable'; // Utilities\n\nimport mixins from '../../util/mixins';\nimport { breaking } from '../../util/console';\nimport { getSlot } from '../../util/helpers';\nconst baseMixins = mixins(VSheet, Routable, Positionable, Sizeable, GroupableFactory('btnToggle'), ToggleableFactory('inputValue')\n/* @vue/component */\n);\nexport default baseMixins.extend().extend({\n name: 'v-btn',\n props: {\n activeClass: {\n type: String,\n\n default() {\n if (!this.btnToggle) return '';\n return this.btnToggle.activeClass;\n }\n\n },\n block: Boolean,\n depressed: Boolean,\n fab: Boolean,\n icon: Boolean,\n loading: Boolean,\n outlined: Boolean,\n plain: Boolean,\n retainFocusOnClick: Boolean,\n rounded: Boolean,\n tag: {\n type: String,\n default: 'button'\n },\n text: Boolean,\n tile: Boolean,\n type: {\n type: String,\n default: 'button'\n },\n value: null\n },\n data: () => ({\n proxyClass: 'v-btn--active'\n }),\n computed: {\n classes() {\n return {\n 'v-btn': true,\n ...Routable.options.computed.classes.call(this),\n 'v-btn--absolute': this.absolute,\n 'v-btn--block': this.block,\n 'v-btn--bottom': this.bottom,\n 'v-btn--disabled': this.disabled,\n 'v-btn--is-elevated': this.isElevated,\n 'v-btn--fab': this.fab,\n 'v-btn--fixed': this.fixed,\n 'v-btn--has-bg': this.hasBg,\n 'v-btn--icon': this.icon,\n 'v-btn--left': this.left,\n 'v-btn--loading': this.loading,\n 'v-btn--outlined': this.outlined,\n 'v-btn--plain': this.plain,\n 'v-btn--right': this.right,\n 'v-btn--round': this.isRound,\n 'v-btn--rounded': this.rounded,\n 'v-btn--router': this.to,\n 'v-btn--text': this.text,\n 'v-btn--tile': this.tile,\n 'v-btn--top': this.top,\n ...this.themeClasses,\n ...this.groupClasses,\n ...this.elevationClasses,\n ...this.sizeableClasses\n };\n },\n\n computedElevation() {\n if (this.disabled) return undefined;\n return Elevatable.options.computed.computedElevation.call(this);\n },\n\n computedRipple() {\n var _a;\n\n const defaultRipple = this.icon || this.fab ? {\n circle: true\n } : true;\n if (this.disabled) return false;else return (_a = this.ripple) !== null && _a !== void 0 ? _a : defaultRipple;\n },\n\n hasBg() {\n return !this.text && !this.plain && !this.outlined && !this.icon;\n },\n\n isElevated() {\n return Boolean(!this.icon && !this.text && !this.outlined && !this.depressed && !this.disabled && !this.plain && (this.elevation == null || Number(this.elevation) > 0));\n },\n\n isRound() {\n return Boolean(this.icon || this.fab);\n },\n\n styles() {\n return { ...this.measurableStyles\n };\n }\n\n },\n\n created() {\n const breakingProps = [['flat', 'text'], ['outline', 'outlined'], ['round', 'rounded']];\n /* istanbul ignore next */\n\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this);\n });\n },\n\n methods: {\n click(e) {\n // TODO: Remove this in v3\n !this.retainFocusOnClick && !this.fab && e.detail && this.$el.blur();\n this.$emit('click', e);\n this.btnToggle && this.toggle();\n },\n\n genContent() {\n return this.$createElement('span', {\n staticClass: 'v-btn__content'\n }, getSlot(this));\n },\n\n genLoader() {\n return this.$createElement('span', {\n class: 'v-btn__loader'\n }, getSlot(this, 'loader') || [this.$createElement(VProgressCircular, {\n props: {\n indeterminate: true,\n size: 23,\n width: 2\n }\n })]);\n }\n\n },\n\n render(h) {\n const children = [this.genContent(), this.loading && this.genLoader()];\n const {\n tag,\n data\n } = this.generateRouteLink();\n const setColor = this.hasBg ? this.setBackgroundColor : this.setTextColor;\n\n if (tag === 'button') {\n data.attrs.type = this.type;\n data.attrs.disabled = this.disabled;\n }\n\n data.attrs.value = ['string', 'number'].includes(typeof this.value) ? this.value : JSON.stringify(this.value);\n return h(tag, this.disabled ? data : setColor(this.color, data), children);\n }\n\n});\n//# sourceMappingURL=VBtn.js.map","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar sameValue = require('../internals/same-value');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', 1, function (SEARCH, nativeSearch, 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 = requireObjectCoercible(this);\n var searcher = regexp == undefined ? undefined : regexp[SEARCH];\n return searcher !== undefined ? searcher.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(nativeSearch, regexp, this);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n\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","var requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar quot = /\"/g;\n\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\n// https://tc39.github.io/ecma262/#sec-createhtml\nmodule.exports = function (string, tag, attribute, value) {\n var S = String(requireObjectCoercible(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '"') + '\"';\n return p1 + '>' + S + '</' + tag + '>';\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","// Styles\nimport \"../../../src/components/VLabel/VLabel.sass\"; // Mixins\n\nimport Colorable from '../../mixins/colorable';\nimport Themeable, { functionalThemeClasses } from '../../mixins/themeable';\nimport mixins from '../../util/mixins'; // Helpers\n\nimport { convertToUnit } from '../../util/helpers';\nimport mergeData from '../../util/mergeData';\n/* @vue/component */\n\nexport default mixins(Themeable).extend({\n name: 'v-label',\n functional: true,\n props: {\n absolute: Boolean,\n color: {\n type: String,\n default: 'primary'\n },\n disabled: Boolean,\n focused: Boolean,\n for: String,\n left: {\n type: [Number, String],\n default: 0\n },\n right: {\n type: [Number, String],\n default: 'auto'\n },\n value: Boolean\n },\n\n render(h, ctx) {\n const {\n children,\n listeners,\n props,\n data\n } = ctx;\n const newData = mergeData({\n staticClass: 'v-label',\n class: {\n 'v-label--active': props.value,\n 'v-label--is-disabled': props.disabled,\n ...functionalThemeClasses(ctx)\n },\n attrs: {\n for: props.for,\n 'aria-hidden': !props.for\n },\n on: listeners,\n style: {\n left: convertToUnit(props.left),\n right: convertToUnit(props.right),\n position: props.absolute ? 'absolute' : 'relative'\n },\n ref: 'label'\n }, data);\n return h('label', Colorable.options.methods.setTextColor(props.focused && props.color, newData), children);\n }\n\n});\n//# sourceMappingURL=VLabel.js.map","import VLabel from './VLabel';\nexport { VLabel };\nexport default VLabel;\n//# sourceMappingURL=index.js.map","// Styles\nimport \"../../../src/components/VMessages/VMessages.sass\"; // Mixins\n\nimport Colorable from '../../mixins/colorable';\nimport Themeable from '../../mixins/themeable';\nimport mixins from '../../util/mixins'; // Utilities\n\nimport { getSlot } from '../../util/helpers';\n/* @vue/component */\n\nexport default mixins(Colorable, Themeable).extend({\n name: 'v-messages',\n props: {\n value: {\n type: Array,\n default: () => []\n }\n },\n methods: {\n genChildren() {\n return this.$createElement('transition-group', {\n staticClass: 'v-messages__wrapper',\n attrs: {\n name: 'message-transition',\n tag: 'div'\n }\n }, this.value.map(this.genMessage));\n },\n\n genMessage(message, key) {\n return this.$createElement('div', {\n staticClass: 'v-messages__message',\n key\n }, getSlot(this, 'default', {\n message,\n key\n }) || [message]);\n }\n\n },\n\n render(h) {\n return h('div', this.setTextColor(this.color, {\n staticClass: 'v-messages',\n class: this.themeClasses\n }), [this.genChildren()]);\n }\n\n});\n//# sourceMappingURL=VMessages.js.map","import VMessages from './VMessages';\nexport { VMessages };\nexport default VMessages;\n//# sourceMappingURL=index.js.map","// Mixins\nimport Colorable from '../colorable';\nimport Themeable from '../themeable';\nimport { inject as RegistrableInject } from '../registrable'; // Utilities\n\nimport { deepEqual } from '../../util/helpers';\nimport { consoleError } from '../../util/console';\nimport mixins from '../../util/mixins';\nconst baseMixins = mixins(Colorable, RegistrableInject('form'), Themeable);\n/* @vue/component */\n\nexport default baseMixins.extend({\n name: 'validatable',\n props: {\n disabled: {\n type: Boolean,\n default: null\n },\n error: Boolean,\n errorCount: {\n type: [Number, String],\n default: 1\n },\n errorMessages: {\n type: [String, Array],\n default: () => []\n },\n messages: {\n type: [String, Array],\n default: () => []\n },\n readonly: {\n type: Boolean,\n default: null\n },\n rules: {\n type: Array,\n default: () => []\n },\n success: Boolean,\n successMessages: {\n type: [String, Array],\n default: () => []\n },\n validateOnBlur: Boolean,\n value: {\n required: false\n }\n },\n\n data() {\n return {\n errorBucket: [],\n hasColor: false,\n hasFocused: false,\n hasInput: false,\n isFocused: false,\n isResetting: false,\n lazyValue: this.value,\n valid: false\n };\n },\n\n computed: {\n computedColor() {\n if (this.isDisabled) return undefined;\n if (this.color) return this.color; // It's assumed that if the input is on a\n // dark background, the user will want to\n // have a white color. If the entire app\n // is setup to be dark, then they will\n // like want to use their primary color\n\n if (this.isDark && !this.appIsDark) return 'white';else return 'primary';\n },\n\n hasError() {\n return this.internalErrorMessages.length > 0 || this.errorBucket.length > 0 || this.error;\n },\n\n // TODO: Add logic that allows the user to enable based\n // upon a good validation\n hasSuccess() {\n return this.internalSuccessMessages.length > 0 || this.success;\n },\n\n externalError() {\n return this.internalErrorMessages.length > 0 || this.error;\n },\n\n hasMessages() {\n return this.validationTarget.length > 0;\n },\n\n hasState() {\n if (this.isDisabled) return false;\n return this.hasSuccess || this.shouldValidate && this.hasError;\n },\n\n internalErrorMessages() {\n return this.genInternalMessages(this.errorMessages);\n },\n\n internalMessages() {\n return this.genInternalMessages(this.messages);\n },\n\n internalSuccessMessages() {\n return this.genInternalMessages(this.successMessages);\n },\n\n internalValue: {\n get() {\n return this.lazyValue;\n },\n\n set(val) {\n this.lazyValue = val;\n this.$emit('input', val);\n }\n\n },\n\n isDisabled() {\n var _a;\n\n return (_a = this.disabled) !== null && _a !== void 0 ? _a : !!this.form && this.form.disabled;\n },\n\n isInteractive() {\n return !this.isDisabled && !this.isReadonly;\n },\n\n isReadonly() {\n var _a;\n\n return (_a = this.readonly) !== null && _a !== void 0 ? _a : !!this.form && this.form.readonly;\n },\n\n shouldValidate() {\n if (this.externalError) return true;\n if (this.isResetting) return false;\n return this.validateOnBlur ? this.hasFocused && !this.isFocused : this.hasInput || this.hasFocused;\n },\n\n validations() {\n return this.validationTarget.slice(0, Number(this.errorCount));\n },\n\n validationState() {\n if (this.isDisabled) return undefined;\n if (this.hasError && this.shouldValidate) return 'error';\n if (this.hasSuccess) return 'success';\n if (this.hasColor) return this.computedColor;\n return undefined;\n },\n\n validationTarget() {\n if (this.internalErrorMessages.length > 0) {\n return this.internalErrorMessages;\n } else if (this.successMessages && this.successMessages.length > 0) {\n return this.internalSuccessMessages;\n } else if (this.messages && this.messages.length > 0) {\n return this.internalMessages;\n } else if (this.shouldValidate) {\n return this.errorBucket;\n } else return [];\n }\n\n },\n watch: {\n rules: {\n handler(newVal, oldVal) {\n if (deepEqual(newVal, oldVal)) return;\n this.validate();\n },\n\n deep: true\n },\n\n internalValue() {\n // If it's the first time we're setting input,\n // mark it with hasInput\n this.hasInput = true;\n this.validateOnBlur || this.$nextTick(this.validate);\n },\n\n isFocused(val) {\n // Should not check validation\n // if disabled\n if (!val && !this.isDisabled) {\n this.hasFocused = true;\n this.validateOnBlur && this.$nextTick(this.validate);\n }\n },\n\n isResetting() {\n setTimeout(() => {\n this.hasInput = false;\n this.hasFocused = false;\n this.isResetting = false;\n this.validate();\n }, 0);\n },\n\n hasError(val) {\n if (this.shouldValidate) {\n this.$emit('update:error', val);\n }\n },\n\n value(val) {\n this.lazyValue = val;\n }\n\n },\n\n beforeMount() {\n this.validate();\n },\n\n created() {\n this.form && this.form.register(this);\n },\n\n beforeDestroy() {\n this.form && this.form.unregister(this);\n },\n\n methods: {\n genInternalMessages(messages) {\n if (!messages) return [];else if (Array.isArray(messages)) return messages;else return [messages];\n },\n\n /** @public */\n reset() {\n this.isResetting = true;\n this.internalValue = Array.isArray(this.internalValue) ? [] : null;\n },\n\n /** @public */\n resetValidation() {\n this.isResetting = true;\n },\n\n /** @public */\n validate(force = false, value) {\n const errorBucket = [];\n value = value || this.internalValue;\n if (force) this.hasInput = this.hasFocused = true;\n\n for (let index = 0; index < this.rules.length; index++) {\n const rule = this.rules[index];\n const valid = typeof rule === 'function' ? rule(value) : rule;\n\n if (valid === false || typeof valid === 'string') {\n errorBucket.push(valid || '');\n } else if (typeof valid !== 'boolean') {\n consoleError(`Rules should return a string or boolean, received '${typeof valid}' instead`, this);\n }\n }\n\n this.errorBucket = errorBucket;\n this.valid = errorBucket.length === 0;\n return this.valid;\n }\n\n }\n});\n//# sourceMappingURL=index.js.map","// Styles\nimport \"../../../src/components/VInput/VInput.sass\"; // Components\n\nimport VIcon from '../VIcon';\nimport VLabel from '../VLabel';\nimport VMessages from '../VMessages'; // Mixins\n\nimport BindsAttrs from '../../mixins/binds-attrs';\nimport Validatable from '../../mixins/validatable'; // Utilities\n\nimport { convertToUnit, getSlot, kebabCase } from '../../util/helpers';\nimport mergeData from '../../util/mergeData';\nimport mixins from '../../util/mixins';\nconst baseMixins = mixins(BindsAttrs, Validatable);\n/* @vue/component */\n\nexport default baseMixins.extend().extend({\n name: 'v-input',\n inheritAttrs: false,\n props: {\n appendIcon: String,\n backgroundColor: {\n type: String,\n default: ''\n },\n dense: Boolean,\n height: [Number, String],\n hideDetails: [Boolean, String],\n hideSpinButtons: Boolean,\n hint: String,\n id: String,\n label: String,\n loading: Boolean,\n persistentHint: Boolean,\n prependIcon: String,\n value: null\n },\n\n data() {\n return {\n lazyValue: this.value,\n hasMouseDown: false\n };\n },\n\n computed: {\n classes() {\n return {\n 'v-input--has-state': this.hasState,\n 'v-input--hide-details': !this.showDetails,\n 'v-input--is-label-active': this.isLabelActive,\n 'v-input--is-dirty': this.isDirty,\n 'v-input--is-disabled': this.isDisabled,\n 'v-input--is-focused': this.isFocused,\n // <v-switch loading>.loading === '' so we can't just cast to boolean\n 'v-input--is-loading': this.loading !== false && this.loading != null,\n 'v-input--is-readonly': this.isReadonly,\n 'v-input--dense': this.dense,\n 'v-input--hide-spin-buttons': this.hideSpinButtons,\n ...this.themeClasses\n };\n },\n\n computedId() {\n return this.id || `input-${this._uid}`;\n },\n\n hasDetails() {\n return this.messagesToDisplay.length > 0;\n },\n\n hasHint() {\n return !this.hasMessages && !!this.hint && (this.persistentHint || this.isFocused);\n },\n\n hasLabel() {\n return !!(this.$slots.label || this.label);\n },\n\n // Proxy for `lazyValue`\n // This allows an input\n // to function without\n // a provided model\n internalValue: {\n get() {\n return this.lazyValue;\n },\n\n set(val) {\n this.lazyValue = val;\n this.$emit(this.$_modelEvent, val);\n }\n\n },\n\n isDirty() {\n return !!this.lazyValue;\n },\n\n isLabelActive() {\n return this.isDirty;\n },\n\n messagesToDisplay() {\n if (this.hasHint) return [this.hint];\n if (!this.hasMessages) return [];\n return this.validations.map(validation => {\n if (typeof validation === 'string') return validation;\n const validationResult = validation(this.internalValue);\n return typeof validationResult === 'string' ? validationResult : '';\n }).filter(message => message !== '');\n },\n\n showDetails() {\n return this.hideDetails === false || this.hideDetails === 'auto' && this.hasDetails;\n }\n\n },\n watch: {\n value(val) {\n this.lazyValue = val;\n }\n\n },\n\n beforeCreate() {\n // v-radio-group needs to emit a different event\n // https://github.com/vuetifyjs/vuetify/issues/4752\n this.$_modelEvent = this.$options.model && this.$options.model.event || 'input';\n },\n\n methods: {\n genContent() {\n return [this.genPrependSlot(), this.genControl(), this.genAppendSlot()];\n },\n\n genControl() {\n return this.$createElement('div', {\n staticClass: 'v-input__control',\n attrs: {\n title: this.attrs$.title\n }\n }, [this.genInputSlot(), this.genMessages()]);\n },\n\n genDefaultSlot() {\n return [this.genLabel(), getSlot(this)];\n },\n\n genIcon(type, cb, extraData = {}) {\n var _a;\n\n const icon = this[`${type}Icon`];\n const eventName = `click:${kebabCase(type)}`;\n const hasListener = !!(this.listeners$[eventName] || cb);\n const localeKey = {\n prepend: 'prependAction',\n prependInner: 'prependAction',\n append: 'appendAction',\n appendOuter: 'appendAction',\n clear: 'clear'\n }[type];\n const label = hasListener && localeKey ? this.$vuetify.lang.t(`$vuetify.input.${localeKey}`, (_a = this.label) !== null && _a !== void 0 ? _a : '') : undefined;\n const data = mergeData({\n attrs: {\n 'aria-label': label,\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n light: this.light,\n tabindex: type === 'clear' ? -1 : undefined\n },\n on: !hasListener ? undefined : {\n click: e => {\n e.preventDefault();\n e.stopPropagation();\n this.$emit(eventName, e);\n cb && cb(e);\n },\n // Container has g event that will\n // trigger menu open if enclosed\n mouseup: e => {\n e.preventDefault();\n e.stopPropagation();\n }\n }\n }, extraData);\n return this.$createElement('div', {\n staticClass: `v-input__icon`,\n class: type ? `v-input__icon--${kebabCase(type)}` : undefined\n }, [this.$createElement(VIcon, data, icon)]);\n },\n\n genInputSlot() {\n return this.$createElement('div', this.setBackgroundColor(this.backgroundColor, {\n staticClass: 'v-input__slot',\n style: {\n height: convertToUnit(this.height)\n },\n on: {\n click: this.onClick,\n mousedown: this.onMouseDown,\n mouseup: this.onMouseUp\n },\n ref: 'input-slot'\n }), [this.genDefaultSlot()]);\n },\n\n genLabel() {\n if (!this.hasLabel) return null;\n return this.$createElement(VLabel, {\n props: {\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n focused: this.hasState,\n for: this.computedId,\n light: this.light\n }\n }, getSlot(this, 'label') || this.label);\n },\n\n genMessages() {\n if (!this.showDetails) return null;\n return this.$createElement(VMessages, {\n props: {\n color: this.hasHint ? '' : this.validationState,\n dark: this.dark,\n light: this.light,\n value: this.messagesToDisplay\n },\n attrs: {\n role: this.hasMessages ? 'alert' : null\n },\n scopedSlots: {\n default: props => getSlot(this, 'message', props)\n }\n });\n },\n\n genSlot(type, location, slot) {\n if (!slot.length) return null;\n const ref = `${type}-${location}`;\n return this.$createElement('div', {\n staticClass: `v-input__${ref}`,\n ref\n }, slot);\n },\n\n genPrependSlot() {\n const slot = [];\n\n if (this.$slots.prepend) {\n slot.push(this.$slots.prepend);\n } else if (this.prependIcon) {\n slot.push(this.genIcon('prepend'));\n }\n\n return this.genSlot('prepend', 'outer', slot);\n },\n\n genAppendSlot() {\n const slot = []; // Append icon for text field was really\n // an appended inner icon, v-text-field\n // will overwrite this method in order to obtain\n // backwards compat\n\n if (this.$slots.append) {\n slot.push(this.$slots.append);\n } else if (this.appendIcon) {\n slot.push(this.genIcon('append'));\n }\n\n return this.genSlot('append', 'outer', slot);\n },\n\n onClick(e) {\n this.$emit('click', e);\n },\n\n onMouseDown(e) {\n this.hasMouseDown = true;\n this.$emit('mousedown', e);\n },\n\n onMouseUp(e) {\n this.hasMouseDown = false;\n this.$emit('mouseup', e);\n }\n\n },\n\n render(h) {\n return h('div', this.setTextColor(this.validationState, {\n staticClass: 'v-input',\n class: this.classes\n }), this.genContent());\n }\n\n});\n//# sourceMappingURL=VInput.js.map","import VInput from './VInput';\nexport { VInput };\nexport default VInput;\n//# sourceMappingURL=index.js.map","// Styles\nimport \"../../../src/components/VCounter/VCounter.sass\"; // Mixins\n\nimport Themeable, { functionalThemeClasses } from '../../mixins/themeable';\nimport mixins from '../../util/mixins';\n/* @vue/component */\n\nexport default mixins(Themeable).extend({\n name: 'v-counter',\n functional: true,\n props: {\n value: {\n type: [Number, String],\n default: ''\n },\n max: [Number, String]\n },\n\n render(h, ctx) {\n const {\n props\n } = ctx;\n const max = parseInt(props.max, 10);\n const value = parseInt(props.value, 10);\n const content = max ? `${value} / ${max}` : String(props.value);\n const isGreater = max && value > max;\n return h('div', {\n staticClass: 'v-counter',\n class: {\n 'error--text': isGreater,\n ...functionalThemeClasses(ctx)\n }\n }, content);\n }\n\n});\n//# sourceMappingURL=VCounter.js.map","import VCounter from './VCounter';\nexport { VCounter };\nexport default VCounter;\n//# sourceMappingURL=index.js.map","// Directives\nimport Intersect from '../../directives/intersect'; // Utilities\n\nimport { consoleWarn } from '../../util/console'; // Types\n\nimport Vue from 'vue';\nexport default function intersectable(options) {\n return Vue.extend({\n name: 'intersectable',\n data: () => ({\n isIntersecting: false\n }),\n\n mounted() {\n Intersect.inserted(this.$el, {\n name: 'intersect',\n value: this.onObserve\n }, this.$vnode);\n },\n\n destroyed() {\n Intersect.unbind(this.$el, {\n name: 'intersect',\n value: this.onObserve\n }, this.$vnode);\n },\n\n methods: {\n onObserve(entries, observer, isIntersecting) {\n this.isIntersecting = isIntersecting;\n if (!isIntersecting) return;\n\n for (let i = 0, length = options.onVisible.length; i < length; i++) {\n const callback = this[options.onVisible[i]];\n\n if (typeof callback === 'function') {\n callback();\n continue;\n }\n\n consoleWarn(options.onVisible[i] + ' method is not available on the instance but referenced in intersectable mixin options');\n }\n }\n\n }\n });\n}\n//# sourceMappingURL=index.js.map","import \"../../../src/components/VProgressLinear/VProgressLinear.sass\"; // Components\n\nimport { VFadeTransition, VSlideXTransition } from '../transitions'; // Directives\n\nimport intersect from '../../directives/intersect'; // Mixins\n\nimport Colorable from '../../mixins/colorable';\nimport { factory as PositionableFactory } from '../../mixins/positionable';\nimport Proxyable from '../../mixins/proxyable';\nimport Themeable from '../../mixins/themeable'; // Utilities\n\nimport { convertToUnit, getSlot } from '../../util/helpers';\nimport mixins from '../../util/mixins';\nconst baseMixins = mixins(Colorable, PositionableFactory(['absolute', 'fixed', 'top', 'bottom']), Proxyable, Themeable);\n/* @vue/component */\n\nexport default baseMixins.extend({\n name: 'v-progress-linear',\n directives: {\n intersect\n },\n props: {\n active: {\n type: Boolean,\n default: true\n },\n backgroundColor: {\n type: String,\n default: null\n },\n backgroundOpacity: {\n type: [Number, String],\n default: null\n },\n bufferValue: {\n type: [Number, String],\n default: 100\n },\n color: {\n type: String,\n default: 'primary'\n },\n height: {\n type: [Number, String],\n default: 4\n },\n indeterminate: Boolean,\n query: Boolean,\n reverse: Boolean,\n rounded: Boolean,\n stream: Boolean,\n striped: Boolean,\n value: {\n type: [Number, String],\n default: 0\n }\n },\n\n data() {\n return {\n internalLazyValue: this.value || 0,\n isVisible: true\n };\n },\n\n computed: {\n __cachedBackground() {\n return this.$createElement('div', this.setBackgroundColor(this.backgroundColor || this.color, {\n staticClass: 'v-progress-linear__background',\n style: this.backgroundStyle\n }));\n },\n\n __cachedBar() {\n return this.$createElement(this.computedTransition, [this.__cachedBarType]);\n },\n\n __cachedBarType() {\n return this.indeterminate ? this.__cachedIndeterminate : this.__cachedDeterminate;\n },\n\n __cachedBuffer() {\n return this.$createElement('div', {\n staticClass: 'v-progress-linear__buffer',\n style: this.styles\n });\n },\n\n __cachedDeterminate() {\n return this.$createElement('div', this.setBackgroundColor(this.color, {\n staticClass: `v-progress-linear__determinate`,\n style: {\n width: convertToUnit(this.normalizedValue, '%')\n }\n }));\n },\n\n __cachedIndeterminate() {\n return this.$createElement('div', {\n staticClass: 'v-progress-linear__indeterminate',\n class: {\n 'v-progress-linear__indeterminate--active': this.active\n }\n }, [this.genProgressBar('long'), this.genProgressBar('short')]);\n },\n\n __cachedStream() {\n if (!this.stream) return null;\n return this.$createElement('div', this.setTextColor(this.color, {\n staticClass: 'v-progress-linear__stream',\n style: {\n width: convertToUnit(100 - this.normalizedBuffer, '%')\n }\n }));\n },\n\n backgroundStyle() {\n const backgroundOpacity = this.backgroundOpacity == null ? this.backgroundColor ? 1 : 0.3 : parseFloat(this.backgroundOpacity);\n return {\n opacity: backgroundOpacity,\n [this.isReversed ? 'right' : 'left']: convertToUnit(this.normalizedValue, '%'),\n width: convertToUnit(Math.max(0, this.normalizedBuffer - this.normalizedValue), '%')\n };\n },\n\n classes() {\n return {\n 'v-progress-linear--absolute': this.absolute,\n 'v-progress-linear--fixed': this.fixed,\n 'v-progress-linear--query': this.query,\n 'v-progress-linear--reactive': this.reactive,\n 'v-progress-linear--reverse': this.isReversed,\n 'v-progress-linear--rounded': this.rounded,\n 'v-progress-linear--striped': this.striped,\n 'v-progress-linear--visible': this.isVisible,\n ...this.themeClasses\n };\n },\n\n computedTransition() {\n return this.indeterminate ? VFadeTransition : VSlideXTransition;\n },\n\n isReversed() {\n return this.$vuetify.rtl !== this.reverse;\n },\n\n normalizedBuffer() {\n return this.normalize(this.bufferValue);\n },\n\n normalizedValue() {\n return this.normalize(this.internalLazyValue);\n },\n\n reactive() {\n return Boolean(this.$listeners.change);\n },\n\n styles() {\n const styles = {};\n\n if (!this.active) {\n styles.height = 0;\n }\n\n if (!this.indeterminate && parseFloat(this.normalizedBuffer) !== 100) {\n styles.width = convertToUnit(this.normalizedBuffer, '%');\n }\n\n return styles;\n }\n\n },\n methods: {\n genContent() {\n const slot = getSlot(this, 'default', {\n value: this.internalLazyValue\n });\n if (!slot) return null;\n return this.$createElement('div', {\n staticClass: 'v-progress-linear__content'\n }, slot);\n },\n\n genListeners() {\n const listeners = this.$listeners;\n\n if (this.reactive) {\n listeners.click = this.onClick;\n }\n\n return listeners;\n },\n\n genProgressBar(name) {\n return this.$createElement('div', this.setBackgroundColor(this.color, {\n staticClass: 'v-progress-linear__indeterminate',\n class: {\n [name]: true\n }\n }));\n },\n\n onClick(e) {\n if (!this.reactive) return;\n const {\n width\n } = this.$el.getBoundingClientRect();\n this.internalValue = e.offsetX / width * 100;\n },\n\n onObserve(entries, observer, isIntersecting) {\n this.isVisible = isIntersecting;\n },\n\n normalize(value) {\n if (value < 0) return 0;\n if (value > 100) return 100;\n return parseFloat(value);\n }\n\n },\n\n render(h) {\n const data = {\n staticClass: 'v-progress-linear',\n attrs: {\n role: 'progressbar',\n 'aria-valuemin': 0,\n 'aria-valuemax': this.normalizedBuffer,\n 'aria-valuenow': this.indeterminate ? undefined : this.normalizedValue\n },\n class: this.classes,\n directives: [{\n name: 'intersect',\n value: this.onObserve\n }],\n style: {\n bottom: this.bottom ? 0 : undefined,\n height: this.active ? convertToUnit(this.height) : 0,\n top: this.top ? 0 : undefined\n },\n on: this.genListeners()\n };\n return h('div', data, [this.__cachedStream, this.__cachedBackground, this.__cachedBuffer, this.__cachedBar, this.genContent()]);\n }\n\n});\n//# sourceMappingURL=VProgressLinear.js.map","import VProgressLinear from './VProgressLinear';\nexport { VProgressLinear };\nexport default VProgressLinear;\n//# sourceMappingURL=index.js.map","import Vue from 'vue';\nimport VProgressLinear from '../../components/VProgressLinear';\nimport { getSlot } from '../../util/helpers';\n/**\n * Loadable\n *\n * @mixin\n *\n * Used to add linear progress bar to components\n * Can use a default bar with a specific color\n * or designate a custom progress linear bar\n */\n\n/* @vue/component */\n\nexport default Vue.extend().extend({\n name: 'loadable',\n props: {\n loading: {\n type: [Boolean, String],\n default: false\n },\n loaderHeight: {\n type: [Number, String],\n default: 2\n }\n },\n methods: {\n genProgress() {\n if (this.loading === false) return null;\n return getSlot(this, 'progress') || this.$createElement(VProgressLinear, {\n props: {\n absolute: true,\n color: this.loading === true || this.loading === '' ? this.color || 'primary' : this.loading,\n height: this.loaderHeight,\n indeterminate: true\n }\n });\n }\n\n }\n});\n//# sourceMappingURL=index.js.map","function inserted(el, binding, vnode) {\n const callback = binding.value;\n const options = binding.options || {\n passive: true\n };\n window.addEventListener('resize', callback, options);\n el._onResize = Object(el._onResize);\n el._onResize[vnode.context._uid] = {\n callback,\n options\n };\n\n if (!binding.modifiers || !binding.modifiers.quiet) {\n callback();\n }\n}\n\nfunction unbind(el, binding, vnode) {\n var _a;\n\n if (!((_a = el._onResize) === null || _a === void 0 ? void 0 : _a[vnode.context._uid])) return;\n const {\n callback,\n options\n } = el._onResize[vnode.context._uid];\n window.removeEventListener('resize', callback, options);\n delete el._onResize[vnode.context._uid];\n}\n\nexport const Resize = {\n inserted,\n unbind\n};\nexport default Resize;\n//# sourceMappingURL=index.js.map","/**\n * Returns:\n * - 'null' if the node is not attached to the DOM\n * - the root node (HTMLDocument | ShadowRoot) otherwise\n */\nexport function attachedRoot(node) {\n /* istanbul ignore next */\n if (typeof node.getRootNode !== 'function') {\n // Shadow DOM not supported (IE11), lets find the root of this node\n while (node.parentNode) node = node.parentNode; // The root parent is the document if the node is attached to the DOM\n\n\n if (node !== document) return null;\n return document;\n }\n\n const root = node.getRootNode(); // The composed root node is the document if the node is attached to the DOM\n\n if (root !== document && root.getRootNode({\n composed: true\n }) !== document) return null;\n return root;\n}\n//# sourceMappingURL=dom.js.map","// Styles\nimport \"../../../src/components/VTextField/VTextField.sass\"; // Extensions\n\nimport VInput from '../VInput'; // Components\n\nimport VCounter from '../VCounter';\nimport VLabel from '../VLabel'; // Mixins\n\nimport Intersectable from '../../mixins/intersectable';\nimport Loadable from '../../mixins/loadable';\nimport Validatable from '../../mixins/validatable'; // Directives\n\nimport resize from '../../directives/resize';\nimport ripple from '../../directives/ripple'; // Utilities\n\nimport { attachedRoot } from '../../util/dom';\nimport { convertToUnit, getSlot, keyCodes } from '../../util/helpers';\nimport { breaking, consoleWarn } from '../../util/console'; // Types\n\nimport mixins from '../../util/mixins';\nconst baseMixins = mixins(VInput, Intersectable({\n onVisible: ['onResize', 'tryAutofocus']\n}), Loadable);\nconst dirtyTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month'];\n/* @vue/component */\n\nexport default baseMixins.extend().extend({\n name: 'v-text-field',\n directives: {\n resize,\n ripple\n },\n inheritAttrs: false,\n props: {\n appendOuterIcon: String,\n autofocus: Boolean,\n clearable: Boolean,\n clearIcon: {\n type: String,\n default: '$clear'\n },\n counter: [Boolean, Number, String],\n counterValue: Function,\n filled: Boolean,\n flat: Boolean,\n fullWidth: Boolean,\n label: String,\n outlined: Boolean,\n placeholder: String,\n prefix: String,\n prependInnerIcon: String,\n persistentPlaceholder: Boolean,\n reverse: Boolean,\n rounded: Boolean,\n shaped: Boolean,\n singleLine: Boolean,\n solo: Boolean,\n soloInverted: Boolean,\n suffix: String,\n type: {\n type: String,\n default: 'text'\n }\n },\n data: () => ({\n badInput: false,\n labelWidth: 0,\n prefixWidth: 0,\n prependWidth: 0,\n initialValue: null,\n isBooted: false,\n isClearing: false\n }),\n computed: {\n classes() {\n return { ...VInput.options.computed.classes.call(this),\n 'v-text-field': true,\n 'v-text-field--full-width': this.fullWidth,\n 'v-text-field--prefix': this.prefix,\n 'v-text-field--single-line': this.isSingle,\n 'v-text-field--solo': this.isSolo,\n 'v-text-field--solo-inverted': this.soloInverted,\n 'v-text-field--solo-flat': this.flat,\n 'v-text-field--filled': this.filled,\n 'v-text-field--is-booted': this.isBooted,\n 'v-text-field--enclosed': this.isEnclosed,\n 'v-text-field--reverse': this.reverse,\n 'v-text-field--outlined': this.outlined,\n 'v-text-field--placeholder': this.placeholder,\n 'v-text-field--rounded': this.rounded,\n 'v-text-field--shaped': this.shaped\n };\n },\n\n computedColor() {\n const computedColor = Validatable.options.computed.computedColor.call(this);\n if (!this.soloInverted || !this.isFocused) return computedColor;\n return this.color || 'primary';\n },\n\n computedCounterValue() {\n if (typeof this.counterValue === 'function') {\n return this.counterValue(this.internalValue);\n }\n\n return [...(this.internalValue || '').toString()].length;\n },\n\n hasCounter() {\n return this.counter !== false && this.counter != null;\n },\n\n hasDetails() {\n return VInput.options.computed.hasDetails.call(this) || this.hasCounter;\n },\n\n internalValue: {\n get() {\n return this.lazyValue;\n },\n\n set(val) {\n this.lazyValue = val;\n this.$emit('input', this.lazyValue);\n }\n\n },\n\n isDirty() {\n var _a;\n\n return ((_a = this.lazyValue) === null || _a === void 0 ? void 0 : _a.toString().length) > 0 || this.badInput;\n },\n\n isEnclosed() {\n return this.filled || this.isSolo || this.outlined;\n },\n\n isLabelActive() {\n return this.isDirty || dirtyTypes.includes(this.type);\n },\n\n isSingle() {\n return this.isSolo || this.singleLine || this.fullWidth || // https://material.io/components/text-fields/#filled-text-field\n this.filled && !this.hasLabel;\n },\n\n isSolo() {\n return this.solo || this.soloInverted;\n },\n\n labelPosition() {\n let offset = this.prefix && !this.labelValue ? this.prefixWidth : 0;\n if (this.labelValue && this.prependWidth) offset -= this.prependWidth;\n return this.$vuetify.rtl === this.reverse ? {\n left: offset,\n right: 'auto'\n } : {\n left: 'auto',\n right: offset\n };\n },\n\n showLabel() {\n return this.hasLabel && !(this.isSingle && this.labelValue);\n },\n\n labelValue() {\n return this.isFocused || this.isLabelActive || this.persistentPlaceholder;\n }\n\n },\n watch: {\n // labelValue: 'setLabelWidth', // moved to mounted, see #11533\n outlined: 'setLabelWidth',\n\n label() {\n this.$nextTick(this.setLabelWidth);\n },\n\n prefix() {\n this.$nextTick(this.setPrefixWidth);\n },\n\n isFocused: 'updateValue',\n\n value(val) {\n this.lazyValue = val;\n }\n\n },\n\n created() {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('box')) {\n breaking('box', 'filled', this);\n }\n /* istanbul ignore next */\n\n\n if (this.$attrs.hasOwnProperty('browser-autocomplete')) {\n breaking('browser-autocomplete', 'autocomplete', this);\n }\n /* istanbul ignore if */\n\n\n if (this.shaped && !(this.filled || this.outlined || this.isSolo)) {\n consoleWarn('shaped should be used with either filled or outlined', this);\n }\n },\n\n mounted() {\n // #11533\n this.$watch(() => this.labelValue, this.setLabelWidth);\n this.autofocus && this.tryAutofocus();\n requestAnimationFrame(() => {\n this.isBooted = true;\n requestAnimationFrame(() => {\n if (!this.isIntersecting) {\n this.onResize();\n }\n });\n });\n },\n\n methods: {\n /** @public */\n focus() {\n this.onFocus();\n },\n\n /** @public */\n blur(e) {\n // https://github.com/vuetifyjs/vuetify/issues/5913\n // Safari tab order gets broken if called synchronous\n window.requestAnimationFrame(() => {\n this.$refs.input && this.$refs.input.blur();\n });\n },\n\n clearableCallback() {\n this.$refs.input && this.$refs.input.focus();\n this.$nextTick(() => this.internalValue = null);\n },\n\n genAppendSlot() {\n const slot = [];\n\n if (this.$slots['append-outer']) {\n slot.push(this.$slots['append-outer']);\n } else if (this.appendOuterIcon) {\n slot.push(this.genIcon('appendOuter'));\n }\n\n return this.genSlot('append', 'outer', slot);\n },\n\n genPrependInnerSlot() {\n const slot = [];\n\n if (this.$slots['prepend-inner']) {\n slot.push(this.$slots['prepend-inner']);\n } else if (this.prependInnerIcon) {\n slot.push(this.genIcon('prependInner'));\n }\n\n return this.genSlot('prepend', 'inner', slot);\n },\n\n genIconSlot() {\n const slot = [];\n\n if (this.$slots.append) {\n slot.push(this.$slots.append);\n } else if (this.appendIcon) {\n slot.push(this.genIcon('append'));\n }\n\n return this.genSlot('append', 'inner', slot);\n },\n\n genInputSlot() {\n const input = VInput.options.methods.genInputSlot.call(this);\n const prepend = this.genPrependInnerSlot();\n\n if (prepend) {\n input.children = input.children || [];\n input.children.unshift(prepend);\n }\n\n return input;\n },\n\n genClearIcon() {\n if (!this.clearable) return null; // if the text field has no content then don't display the clear icon.\n // We add an empty div because other controls depend on a ref to append inner\n\n if (!this.isDirty) {\n return this.genSlot('append', 'inner', [this.$createElement('div')]);\n }\n\n return this.genSlot('append', 'inner', [this.genIcon('clear', this.clearableCallback)]);\n },\n\n genCounter() {\n var _a, _b, _c;\n\n if (!this.hasCounter) return null;\n const max = this.counter === true ? this.attrs$.maxlength : this.counter;\n const props = {\n dark: this.dark,\n light: this.light,\n max,\n value: this.computedCounterValue\n };\n return (_c = (_b = (_a = this.$scopedSlots).counter) === null || _b === void 0 ? void 0 : _b.call(_a, {\n props\n })) !== null && _c !== void 0 ? _c : this.$createElement(VCounter, {\n props\n });\n },\n\n genControl() {\n return VInput.options.methods.genControl.call(this);\n },\n\n genDefaultSlot() {\n return [this.genFieldset(), this.genTextFieldSlot(), this.genClearIcon(), this.genIconSlot(), this.genProgress()];\n },\n\n genFieldset() {\n if (!this.outlined) return null;\n return this.$createElement('fieldset', {\n attrs: {\n 'aria-hidden': true\n }\n }, [this.genLegend()]);\n },\n\n genLabel() {\n if (!this.showLabel) return null;\n const data = {\n props: {\n absolute: true,\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n focused: !this.isSingle && (this.isFocused || !!this.validationState),\n for: this.computedId,\n left: this.labelPosition.left,\n light: this.light,\n right: this.labelPosition.right,\n value: this.labelValue\n }\n };\n return this.$createElement(VLabel, data, getSlot(this, 'label') || this.label);\n },\n\n genLegend() {\n const width = !this.singleLine && (this.labelValue || this.isDirty) ? this.labelWidth : 0;\n const span = this.$createElement('span', {\n domProps: {\n innerHTML: '​'\n },\n staticClass: 'notranslate'\n });\n return this.$createElement('legend', {\n style: {\n width: !this.isSingle ? convertToUnit(width) : undefined\n }\n }, [span]);\n },\n\n genInput() {\n const listeners = Object.assign({}, this.listeners$);\n delete listeners.change; // Change should not be bound externally\n\n const {\n title,\n ...inputAttrs\n } = this.attrs$;\n return this.$createElement('input', {\n style: {},\n domProps: {\n value: this.type === 'number' && Object.is(this.lazyValue, -0) ? '-0' : this.lazyValue\n },\n attrs: { ...inputAttrs,\n autofocus: this.autofocus,\n disabled: this.isDisabled,\n id: this.computedId,\n placeholder: this.persistentPlaceholder || this.isFocused || !this.hasLabel ? this.placeholder : undefined,\n readonly: this.isReadonly,\n type: this.type\n },\n on: Object.assign(listeners, {\n blur: this.onBlur,\n input: this.onInput,\n focus: this.onFocus,\n keydown: this.onKeyDown\n }),\n ref: 'input',\n directives: [{\n name: 'resize',\n modifiers: {\n quiet: true\n },\n value: this.onResize\n }]\n });\n },\n\n genMessages() {\n if (!this.showDetails) return null;\n const messagesNode = VInput.options.methods.genMessages.call(this);\n const counterNode = this.genCounter();\n return this.$createElement('div', {\n staticClass: 'v-text-field__details'\n }, [messagesNode, counterNode]);\n },\n\n genTextFieldSlot() {\n return this.$createElement('div', {\n staticClass: 'v-text-field__slot'\n }, [this.genLabel(), this.prefix ? this.genAffix('prefix') : null, this.genInput(), this.suffix ? this.genAffix('suffix') : null]);\n },\n\n genAffix(type) {\n return this.$createElement('div', {\n class: `v-text-field__${type}`,\n ref: type\n }, this[type]);\n },\n\n onBlur(e) {\n this.isFocused = false;\n e && this.$nextTick(() => this.$emit('blur', e));\n },\n\n onClick() {\n if (this.isFocused || this.isDisabled || !this.$refs.input) return;\n this.$refs.input.focus();\n },\n\n onFocus(e) {\n if (!this.$refs.input) return;\n const root = attachedRoot(this.$el);\n if (!root) return;\n\n if (root.activeElement !== this.$refs.input) {\n return this.$refs.input.focus();\n }\n\n if (!this.isFocused) {\n this.isFocused = true;\n e && this.$emit('focus', e);\n }\n },\n\n onInput(e) {\n const target = e.target;\n this.internalValue = target.value;\n this.badInput = target.validity && target.validity.badInput;\n },\n\n onKeyDown(e) {\n if (e.keyCode === keyCodes.enter && this.lazyValue !== this.initialValue) {\n this.initialValue = this.lazyValue;\n this.$emit('change', this.initialValue);\n }\n\n this.$emit('keydown', e);\n },\n\n onMouseDown(e) {\n // Prevent input from being blurred\n if (e.target !== this.$refs.input) {\n e.preventDefault();\n e.stopPropagation();\n }\n\n VInput.options.methods.onMouseDown.call(this, e);\n },\n\n onMouseUp(e) {\n if (this.hasMouseDown) this.focus();\n VInput.options.methods.onMouseUp.call(this, e);\n },\n\n setLabelWidth() {\n if (!this.outlined) return;\n this.labelWidth = this.$refs.label ? Math.min(this.$refs.label.scrollWidth * 0.75 + 6, this.$el.offsetWidth - 24) : 0;\n },\n\n setPrefixWidth() {\n if (!this.$refs.prefix) return;\n this.prefixWidth = this.$refs.prefix.offsetWidth;\n },\n\n setPrependWidth() {\n if (!this.outlined || !this.$refs['prepend-inner']) return;\n this.prependWidth = this.$refs['prepend-inner'].offsetWidth;\n },\n\n tryAutofocus() {\n if (!this.autofocus || typeof document === 'undefined' || !this.$refs.input) return false;\n const root = attachedRoot(this.$el);\n if (!root || root.activeElement === this.$refs.input) return false;\n this.$refs.input.focus();\n return true;\n },\n\n updateValue(val) {\n // Sets validationState from validatable\n this.hasColor = val;\n\n if (val) {\n this.initialValue = this.lazyValue;\n } else if (this.initialValue !== this.lazyValue) {\n this.$emit('change', this.lazyValue);\n }\n },\n\n onResize() {\n this.setLabelWidth();\n this.setPrefixWidth();\n this.setPrependWidth();\n }\n\n }\n});\n//# sourceMappingURL=VTextField.js.map","/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */\n/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.prototype = Object.create(Buffer.prototype)\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLCharacterData, XMLComment,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n NodeType = require('./NodeType');\n\n XMLCharacterData = require('./XMLCharacterData');\n\n module.exports = XMLComment = (function(superClass) {\n extend(XMLComment, superClass);\n\n function XMLComment(parent, text) {\n XMLComment.__super__.constructor.call(this, parent);\n if (text == null) {\n throw new Error(\"Missing comment text. \" + this.debugInfo());\n }\n this.name = \"#comment\";\n this.type = NodeType.Comment;\n this.value = this.stringify.comment(text);\n }\n\n XMLComment.prototype.clone = function() {\n return Object.create(this);\n };\n\n XMLComment.prototype.toString = function(options) {\n return this.options.writer.comment(this, this.options.writer.filterOptions(options));\n };\n\n return XMLComment;\n\n })(XMLCharacterData);\n\n}).call(this);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.encode = exports.decodeStrict = exports.decode = void 0;\nvar decode_1 = require(\"./decode\");\nvar encode_1 = require(\"./encode\");\n/**\n * Decodes a string with entities.\n *\n * @param data String to decode.\n * @param level Optional level to decode at. 0 = XML, 1 = HTML. Default is 0.\n */\nfunction decode(data, level) {\n return (!level || level <= 0 ? decode_1.decodeXML : decode_1.decodeHTML)(data);\n}\nexports.decode = decode;\n/**\n * Decodes a string with entities. Does not allow missing trailing semicolons for entities.\n *\n * @param data String to decode.\n * @param level Optional level to decode at. 0 = XML, 1 = HTML. Default is 0.\n */\nfunction decodeStrict(data, level) {\n return (!level || level <= 0 ? decode_1.decodeXML : decode_1.decodeHTMLStrict)(data);\n}\nexports.decodeStrict = decodeStrict;\n/**\n * Encodes a string with entities.\n *\n * @param data String to encode.\n * @param level Optional level to encode at. 0 = XML, 1 = HTML. Default is 0.\n */\nfunction encode(data, level) {\n return (!level || level <= 0 ? encode_1.encodeXML : encode_1.encodeHTML)(data);\n}\nexports.encode = encode;\nvar encode_2 = require(\"./encode\");\nObject.defineProperty(exports, \"encodeXML\", { enumerable: true, get: function () { return encode_2.encodeXML; } });\nObject.defineProperty(exports, \"encodeHTML\", { enumerable: true, get: function () { return encode_2.encodeHTML; } });\nObject.defineProperty(exports, \"escape\", { enumerable: true, get: function () { return encode_2.escape; } });\n// Legacy aliases\nObject.defineProperty(exports, \"encodeHTML4\", { enumerable: true, get: function () { return encode_2.encodeHTML; } });\nObject.defineProperty(exports, \"encodeHTML5\", { enumerable: true, get: function () { return encode_2.encodeHTML; } });\nvar decode_2 = require(\"./decode\");\nObject.defineProperty(exports, \"decodeXML\", { enumerable: true, get: function () { return decode_2.decodeXML; } });\nObject.defineProperty(exports, \"decodeHTML\", { enumerable: true, get: function () { return decode_2.decodeHTML; } });\nObject.defineProperty(exports, \"decodeHTMLStrict\", { enumerable: true, get: function () { return decode_2.decodeHTMLStrict; } });\n// Legacy aliases\nObject.defineProperty(exports, \"decodeHTML4\", { enumerable: true, get: function () { return decode_2.decodeHTML; } });\nObject.defineProperty(exports, \"decodeHTML5\", { enumerable: true, get: function () { return decode_2.decodeHTML; } });\nObject.defineProperty(exports, \"decodeHTML4Strict\", { enumerable: true, get: function () { return decode_2.decodeHTMLStrict; } });\nObject.defineProperty(exports, \"decodeHTML5Strict\", { enumerable: true, get: function () { return decode_2.decodeHTMLStrict; } });\nObject.defineProperty(exports, \"decodeXMLStrict\", { enumerable: true, get: function () { return decode_2.decodeXML; } });\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLDOMConfiguration, XMLDOMErrorHandler, XMLDOMStringList;\n\n XMLDOMErrorHandler = require('./XMLDOMErrorHandler');\n\n XMLDOMStringList = require('./XMLDOMStringList');\n\n module.exports = XMLDOMConfiguration = (function() {\n function XMLDOMConfiguration() {\n var clonedSelf;\n this.defaultParams = {\n \"canonical-form\": false,\n \"cdata-sections\": false,\n \"comments\": false,\n \"datatype-normalization\": false,\n \"element-content-whitespace\": true,\n \"entities\": true,\n \"error-handler\": new XMLDOMErrorHandler(),\n \"infoset\": true,\n \"validate-if-schema\": false,\n \"namespaces\": true,\n \"namespace-declarations\": true,\n \"normalize-characters\": false,\n \"schema-location\": '',\n \"schema-type\": '',\n \"split-cdata-sections\": true,\n \"validate\": false,\n \"well-formed\": true\n };\n this.params = clonedSelf = Object.create(this.defaultParams);\n }\n\n Object.defineProperty(XMLDOMConfiguration.prototype, 'parameterNames', {\n get: function() {\n return new XMLDOMStringList(Object.keys(this.defaultParams));\n }\n });\n\n XMLDOMConfiguration.prototype.getParameter = function(name) {\n if (this.params.hasOwnProperty(name)) {\n return this.params[name];\n } else {\n return null;\n }\n };\n\n XMLDOMConfiguration.prototype.canSetParameter = function(name, value) {\n return true;\n };\n\n XMLDOMConfiguration.prototype.setParameter = function(name, value) {\n if (value != null) {\n return this.params[name] = value;\n } else {\n return delete this.params[name];\n }\n };\n\n return XMLDOMConfiguration;\n\n })();\n\n}).call(this);\n","module.exports = {\n \"100\": \"Continue\",\n \"101\": \"Switching Protocols\",\n \"102\": \"Processing\",\n \"200\": \"OK\",\n \"201\": \"Created\",\n \"202\": \"Accepted\",\n \"203\": \"Non-Authoritative Information\",\n \"204\": \"No Content\",\n \"205\": \"Reset Content\",\n \"206\": \"Partial Content\",\n \"207\": \"Multi-Status\",\n \"208\": \"Already Reported\",\n \"226\": \"IM Used\",\n \"300\": \"Multiple Choices\",\n \"301\": \"Moved Permanently\",\n \"302\": \"Found\",\n \"303\": \"See Other\",\n \"304\": \"Not Modified\",\n \"305\": \"Use Proxy\",\n \"307\": \"Temporary Redirect\",\n \"308\": \"Permanent Redirect\",\n \"400\": \"Bad Request\",\n \"401\": \"Unauthorized\",\n \"402\": \"Payment Required\",\n \"403\": \"Forbidden\",\n \"404\": \"Not Found\",\n \"405\": \"Method Not Allowed\",\n \"406\": \"Not Acceptable\",\n \"407\": \"Proxy Authentication Required\",\n \"408\": \"Request Timeout\",\n \"409\": \"Conflict\",\n \"410\": \"Gone\",\n \"411\": \"Length Required\",\n \"412\": \"Precondition Failed\",\n \"413\": \"Payload Too Large\",\n \"414\": \"URI Too Long\",\n \"415\": \"Unsupported Media Type\",\n \"416\": \"Range Not Satisfiable\",\n \"417\": \"Expectation Failed\",\n \"418\": \"I'm a teapot\",\n \"421\": \"Misdirected Request\",\n \"422\": \"Unprocessable Entity\",\n \"423\": \"Locked\",\n \"424\": \"Failed Dependency\",\n \"425\": \"Unordered Collection\",\n \"426\": \"Upgrade Required\",\n \"428\": \"Precondition Required\",\n \"429\": \"Too Many Requests\",\n \"431\": \"Request Header Fields Too Large\",\n \"451\": \"Unavailable For Legal Reasons\",\n \"500\": \"Internal Server Error\",\n \"501\": \"Not Implemented\",\n \"502\": \"Bad Gateway\",\n \"503\": \"Service Unavailable\",\n \"504\": \"Gateway Timeout\",\n \"505\": \"HTTP Version Not Supported\",\n \"506\": \"Variant Also Negotiates\",\n \"507\": \"Insufficient Storage\",\n \"508\": \"Loop Detected\",\n \"509\": \"Bandwidth Limit Exceeded\",\n \"510\": \"Not Extended\",\n \"511\": \"Network Authentication Required\"\n}\n","import { clamp } from '../../util/helpers'; // For converting XYZ to sRGB\n\nconst srgbForwardMatrix = [[3.2406, -1.5372, -0.4986], [-0.9689, 1.8758, 0.0415], [0.0557, -0.2040, 1.0570]]; // Forward gamma adjust\n\nconst srgbForwardTransform = C => C <= 0.0031308 ? C * 12.92 : 1.055 * C ** (1 / 2.4) - 0.055; // For converting sRGB to XYZ\n\n\nconst srgbReverseMatrix = [[0.4124, 0.3576, 0.1805], [0.2126, 0.7152, 0.0722], [0.0193, 0.1192, 0.9505]]; // Reverse gamma adjust\n\nconst srgbReverseTransform = C => C <= 0.04045 ? C / 12.92 : ((C + 0.055) / 1.055) ** 2.4;\n\nexport function fromXYZ(xyz) {\n const rgb = Array(3);\n const transform = srgbForwardTransform;\n const matrix = srgbForwardMatrix; // Matrix transform, then gamma adjustment\n\n for (let i = 0; i < 3; ++i) {\n rgb[i] = Math.round(clamp(transform(matrix[i][0] * xyz[0] + matrix[i][1] * xyz[1] + matrix[i][2] * xyz[2])) * 255);\n } // Rescale back to [0, 255]\n\n\n return (rgb[0] << 16) + (rgb[1] << 8) + (rgb[2] << 0);\n}\nexport function toXYZ(rgb) {\n const xyz = [0, 0, 0];\n const transform = srgbReverseTransform;\n const matrix = srgbReverseMatrix; // Rescale from [0, 255] to [0, 1] then adjust sRGB gamma to linear RGB\n\n const r = transform((rgb >> 16 & 0xff) / 255);\n const g = transform((rgb >> 8 & 0xff) / 255);\n const b = transform((rgb >> 0 & 0xff) / 255); // Matrix color space transform\n\n for (let i = 0; i < 3; ++i) {\n xyz[i] = matrix[i][0] * r + matrix[i][1] * g + matrix[i][2] * b;\n }\n\n return xyz;\n}\n//# sourceMappingURL=transformSRGB.js.map","// Styles\nimport \"../../../src/components/VSheet/VSheet.sass\"; // Mixins\n\nimport BindsAttrs from '../../mixins/binds-attrs';\nimport Colorable from '../../mixins/colorable';\nimport Elevatable from '../../mixins/elevatable';\nimport Measurable from '../../mixins/measurable';\nimport Roundable from '../../mixins/roundable';\nimport Themeable from '../../mixins/themeable'; // Helpers\n\nimport mixins from '../../util/mixins';\n/* @vue/component */\n\nexport default mixins(BindsAttrs, Colorable, Elevatable, Measurable, Roundable, Themeable).extend({\n name: 'v-sheet',\n props: {\n outlined: Boolean,\n shaped: Boolean,\n tag: {\n type: String,\n default: 'div'\n }\n },\n computed: {\n classes() {\n return {\n 'v-sheet': true,\n 'v-sheet--outlined': this.outlined,\n 'v-sheet--shaped': this.shaped,\n ...this.themeClasses,\n ...this.elevationClasses,\n ...this.roundedClasses\n };\n },\n\n styles() {\n return this.measurableStyles;\n }\n\n },\n\n render(h) {\n const data = {\n class: this.classes,\n style: this.styles,\n on: this.listeners$\n };\n return h(this.tag, this.setBackgroundColor(this.color, data), this.$slots.default);\n }\n\n});\n//# sourceMappingURL=VSheet.js.map","function inserted(el, binding, vnode) {\n if (typeof window === 'undefined' || !('IntersectionObserver' in window)) return;\n const modifiers = binding.modifiers || {};\n const value = binding.value;\n const {\n handler,\n options\n } = typeof value === 'object' ? value : {\n handler: value,\n options: {}\n };\n const observer = new IntersectionObserver((entries = [], observer) => {\n var _a;\n\n const _observe = (_a = el._observe) === null || _a === void 0 ? void 0 : _a[vnode.context._uid];\n\n if (!_observe) return; // Just in case, should never fire\n\n const isIntersecting = entries.some(entry => entry.isIntersecting); // If is not quiet or has already been\n // initted, invoke the user callback\n\n if (handler && (!modifiers.quiet || _observe.init) && (!modifiers.once || isIntersecting || _observe.init)) {\n handler(entries, observer, isIntersecting);\n }\n\n if (isIntersecting && modifiers.once) unbind(el, binding, vnode);else _observe.init = true;\n }, options);\n el._observe = Object(el._observe);\n el._observe[vnode.context._uid] = {\n init: false,\n observer\n };\n observer.observe(el);\n}\n\nfunction unbind(el, binding, vnode) {\n var _a;\n\n const observe = (_a = el._observe) === null || _a === void 0 ? void 0 : _a[vnode.context._uid];\n if (!observe) return;\n observe.observer.unobserve(el);\n delete el._observe[vnode.context._uid];\n}\n\nexport const Intersect = {\n inserted,\n unbind\n};\nexport default Intersect;\n//# sourceMappingURL=index.js.map","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","exports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr, vstr, k, v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n","var capability = require('./capability')\nvar inherits = require('inherits')\nvar response = require('./response')\nvar stream = require('readable-stream')\nvar toArrayBuffer = require('to-arraybuffer')\n\nvar IncomingMessage = response.IncomingMessage\nvar rStates = response.readyStates\n\nfunction decideMode (preferBinary, useFetch) {\n\tif (capability.fetch && useFetch) {\n\t\treturn 'fetch'\n\t} else if (capability.mozchunkedarraybuffer) {\n\t\treturn 'moz-chunked-arraybuffer'\n\t} else if (capability.msstream) {\n\t\treturn 'ms-stream'\n\t} else if (capability.arraybuffer && preferBinary) {\n\t\treturn 'arraybuffer'\n\t} else if (capability.vbArray && preferBinary) {\n\t\treturn 'text:vbarray'\n\t} else {\n\t\treturn 'text'\n\t}\n}\n\nvar ClientRequest = module.exports = function (opts) {\n\tvar self = this\n\tstream.Writable.call(self)\n\n\tself._opts = opts\n\tself._body = []\n\tself._headers = {}\n\tif (opts.auth)\n\t\tself.setHeader('Authorization', 'Basic ' + new Buffer(opts.auth).toString('base64'))\n\tObject.keys(opts.headers).forEach(function (name) {\n\t\tself.setHeader(name, opts.headers[name])\n\t})\n\n\tvar preferBinary\n\tvar useFetch = true\n\tif (opts.mode === 'disable-fetch' || ('requestTimeout' in opts && !capability.abortController)) {\n\t\t// If the use of XHR should be preferred. Not typically needed.\n\t\tuseFetch = false\n\t\tpreferBinary = true\n\t} else if (opts.mode === 'prefer-streaming') {\n\t\t// If streaming is a high priority but binary compatibility and\n\t\t// the accuracy of the 'content-type' header aren't\n\t\tpreferBinary = false\n\t} else if (opts.mode === 'allow-wrong-content-type') {\n\t\t// If streaming is more important than preserving the 'content-type' header\n\t\tpreferBinary = !capability.overrideMimeType\n\t} else if (!opts.mode || opts.mode === 'default' || opts.mode === 'prefer-fast') {\n\t\t// Use binary if text streaming may corrupt data or the content-type header, or for speed\n\t\tpreferBinary = true\n\t} else {\n\t\tthrow new Error('Invalid value for opts.mode')\n\t}\n\tself._mode = decideMode(preferBinary, useFetch)\n\tself._fetchTimer = null\n\n\tself.on('finish', function () {\n\t\tself._onFinish()\n\t})\n}\n\ninherits(ClientRequest, stream.Writable)\n\nClientRequest.prototype.setHeader = function (name, value) {\n\tvar self = this\n\tvar lowerName = name.toLowerCase()\n\t// This check is not necessary, but it prevents warnings from browsers about setting unsafe\n\t// headers. To be honest I'm not entirely sure hiding these warnings is a good thing, but\n\t// http-browserify did it, so I will too.\n\tif (unsafeHeaders.indexOf(lowerName) !== -1)\n\t\treturn\n\n\tself._headers[lowerName] = {\n\t\tname: name,\n\t\tvalue: value\n\t}\n}\n\nClientRequest.prototype.getHeader = function (name) {\n\tvar header = this._headers[name.toLowerCase()]\n\tif (header)\n\t\treturn header.value\n\treturn null\n}\n\nClientRequest.prototype.removeHeader = function (name) {\n\tvar self = this\n\tdelete self._headers[name.toLowerCase()]\n}\n\nClientRequest.prototype._onFinish = function () {\n\tvar self = this\n\n\tif (self._destroyed)\n\t\treturn\n\tvar opts = self._opts\n\n\tvar headersObj = self._headers\n\tvar body = null\n\tif (opts.method !== 'GET' && opts.method !== 'HEAD') {\n\t\tif (capability.arraybuffer) {\n\t\t\tbody = toArrayBuffer(Buffer.concat(self._body))\n\t\t} else if (capability.blobConstructor) {\n\t\t\tbody = new global.Blob(self._body.map(function (buffer) {\n\t\t\t\treturn toArrayBuffer(buffer)\n\t\t\t}), {\n\t\t\t\ttype: (headersObj['content-type'] || {}).value || ''\n\t\t\t})\n\t\t} else {\n\t\t\t// get utf8 string\n\t\t\tbody = Buffer.concat(self._body).toString()\n\t\t}\n\t}\n\n\t// create flattened list of headers\n\tvar headersList = []\n\tObject.keys(headersObj).forEach(function (keyName) {\n\t\tvar name = headersObj[keyName].name\n\t\tvar value = headersObj[keyName].value\n\t\tif (Array.isArray(value)) {\n\t\t\tvalue.forEach(function (v) {\n\t\t\t\theadersList.push([name, v])\n\t\t\t})\n\t\t} else {\n\t\t\theadersList.push([name, value])\n\t\t}\n\t})\n\n\tif (self._mode === 'fetch') {\n\t\tvar signal = null\n\t\tvar fetchTimer = null\n\t\tif (capability.abortController) {\n\t\t\tvar controller = new AbortController()\n\t\t\tsignal = controller.signal\n\t\t\tself._fetchAbortController = controller\n\n\t\t\tif ('requestTimeout' in opts && opts.requestTimeout !== 0) {\n\t\t\t\tself._fetchTimer = global.setTimeout(function () {\n\t\t\t\t\tself.emit('requestTimeout')\n\t\t\t\t\tif (self._fetchAbortController)\n\t\t\t\t\t\tself._fetchAbortController.abort()\n\t\t\t\t}, opts.requestTimeout)\n\t\t\t}\n\t\t}\n\n\t\tglobal.fetch(self._opts.url, {\n\t\t\tmethod: self._opts.method,\n\t\t\theaders: headersList,\n\t\t\tbody: body || undefined,\n\t\t\tmode: 'cors',\n\t\t\tcredentials: opts.withCredentials ? 'include' : 'same-origin',\n\t\t\tsignal: signal\n\t\t}).then(function (response) {\n\t\t\tself._fetchResponse = response\n\t\t\tself._connect()\n\t\t}, function (reason) {\n\t\t\tglobal.clearTimeout(self._fetchTimer)\n\t\t\tif (!self._destroyed)\n\t\t\t\tself.emit('error', reason)\n\t\t})\n\t} else {\n\t\tvar xhr = self._xhr = new global.XMLHttpRequest()\n\t\ttry {\n\t\t\txhr.open(self._opts.method, self._opts.url, true)\n\t\t} catch (err) {\n\t\t\tprocess.nextTick(function () {\n\t\t\t\tself.emit('error', err)\n\t\t\t})\n\t\t\treturn\n\t\t}\n\n\t\t// Can't set responseType on really old browsers\n\t\tif ('responseType' in xhr)\n\t\t\txhr.responseType = self._mode.split(':')[0]\n\n\t\tif ('withCredentials' in xhr)\n\t\t\txhr.withCredentials = !!opts.withCredentials\n\n\t\tif (self._mode === 'text' && 'overrideMimeType' in xhr)\n\t\t\txhr.overrideMimeType('text/plain; charset=x-user-defined')\n\n\t\tif ('requestTimeout' in opts) {\n\t\t\txhr.timeout = opts.requestTimeout\n\t\t\txhr.ontimeout = function () {\n\t\t\t\tself.emit('requestTimeout')\n\t\t\t}\n\t\t}\n\n\t\theadersList.forEach(function (header) {\n\t\t\txhr.setRequestHeader(header[0], header[1])\n\t\t})\n\n\t\tself._response = null\n\t\txhr.onreadystatechange = function () {\n\t\t\tswitch (xhr.readyState) {\n\t\t\t\tcase rStates.LOADING:\n\t\t\t\tcase rStates.DONE:\n\t\t\t\t\tself._onXHRProgress()\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\t// Necessary for streaming in Firefox, since xhr.response is ONLY defined\n\t\t// in onprogress, not in onreadystatechange with xhr.readyState = 3\n\t\tif (self._mode === 'moz-chunked-arraybuffer') {\n\t\t\txhr.onprogress = function () {\n\t\t\t\tself._onXHRProgress()\n\t\t\t}\n\t\t}\n\n\t\txhr.onerror = function () {\n\t\t\tif (self._destroyed)\n\t\t\t\treturn\n\t\t\tself.emit('error', new Error('XHR error'))\n\t\t}\n\n\t\ttry {\n\t\t\txhr.send(body)\n\t\t} catch (err) {\n\t\t\tprocess.nextTick(function () {\n\t\t\t\tself.emit('error', err)\n\t\t\t})\n\t\t\treturn\n\t\t}\n\t}\n}\n\n/**\n * Checks if xhr.status is readable and non-zero, indicating no error.\n * Even though the spec says it should be available in readyState 3,\n * accessing it throws an exception in IE8\n */\nfunction statusValid (xhr) {\n\ttry {\n\t\tvar status = xhr.status\n\t\treturn (status !== null && status !== 0)\n\t} catch (e) {\n\t\treturn false\n\t}\n}\n\nClientRequest.prototype._onXHRProgress = function () {\n\tvar self = this\n\n\tif (!statusValid(self._xhr) || self._destroyed)\n\t\treturn\n\n\tif (!self._response)\n\t\tself._connect()\n\n\tself._response._onXHRProgress()\n}\n\nClientRequest.prototype._connect = function () {\n\tvar self = this\n\n\tif (self._destroyed)\n\t\treturn\n\n\tself._response = new IncomingMessage(self._xhr, self._fetchResponse, self._mode, self._fetchTimer)\n\tself._response.on('error', function(err) {\n\t\tself.emit('error', err)\n\t})\n\n\tself.emit('response', self._response)\n}\n\nClientRequest.prototype._write = function (chunk, encoding, cb) {\n\tvar self = this\n\n\tself._body.push(chunk)\n\tcb()\n}\n\nClientRequest.prototype.abort = ClientRequest.prototype.destroy = function () {\n\tvar self = this\n\tself._destroyed = true\n\tglobal.clearTimeout(self._fetchTimer)\n\tif (self._response)\n\t\tself._response._destroyed = true\n\tif (self._xhr)\n\t\tself._xhr.abort()\n\telse if (self._fetchAbortController)\n\t\tself._fetchAbortController.abort()\n}\n\nClientRequest.prototype.end = function (data, encoding, cb) {\n\tvar self = this\n\tif (typeof data === 'function') {\n\t\tcb = data\n\t\tdata = undefined\n\t}\n\n\tstream.Writable.prototype.end.call(self, data, encoding, cb)\n}\n\nClientRequest.prototype.flushHeaders = function () {}\nClientRequest.prototype.setTimeout = function () {}\nClientRequest.prototype.setNoDelay = function () {}\nClientRequest.prototype.setSocketKeepAlive = function () {}\n\n// Taken from http://www.w3.org/TR/XMLHttpRequest/#the-setrequestheader%28%29-method\nvar unsafeHeaders = [\n\t'accept-charset',\n\t'accept-encoding',\n\t'access-control-request-headers',\n\t'access-control-request-method',\n\t'connection',\n\t'content-length',\n\t'cookie',\n\t'cookie2',\n\t'date',\n\t'dnt',\n\t'expect',\n\t'host',\n\t'keep-alive',\n\t'origin',\n\t'referer',\n\t'te',\n\t'trailer',\n\t'transfer-encoding',\n\t'upgrade',\n\t'via'\n]\n","'use strict';\nvar regexpFlags = require('./regexp-flags');\nvar stickyHelpers = require('./regexp-sticky-helpers');\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 UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;\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 || UNSUPPORTED_Y;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = regexpFlags.call(re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = flags.replace('y', '');\n if (flags.indexOf('g') === -1) {\n flags += 'g';\n }\n\n strCopy = String(str).slice(re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = match.input.slice(charsAdded);\n match[0] = match[0].slice(charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = 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 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","// Generated by CoffeeScript 1.12.7\n(function() {\n var DocumentPosition, NodeType, XMLCData, XMLComment, XMLDeclaration, XMLDocType, XMLDummy, XMLElement, XMLNamedNodeMap, XMLNode, XMLNodeList, XMLProcessingInstruction, XMLRaw, XMLText, getValue, isEmpty, isFunction, isObject, ref1,\n hasProp = {}.hasOwnProperty;\n\n ref1 = require('./Utility'), isObject = ref1.isObject, isFunction = ref1.isFunction, isEmpty = ref1.isEmpty, getValue = ref1.getValue;\n\n XMLElement = null;\n\n XMLCData = null;\n\n XMLComment = null;\n\n XMLDeclaration = null;\n\n XMLDocType = null;\n\n XMLRaw = null;\n\n XMLText = null;\n\n XMLProcessingInstruction = null;\n\n XMLDummy = null;\n\n NodeType = null;\n\n XMLNodeList = null;\n\n XMLNamedNodeMap = null;\n\n DocumentPosition = null;\n\n module.exports = XMLNode = (function() {\n function XMLNode(parent1) {\n this.parent = parent1;\n if (this.parent) {\n this.options = this.parent.options;\n this.stringify = this.parent.stringify;\n }\n this.value = null;\n this.children = [];\n this.baseURI = null;\n if (!XMLElement) {\n XMLElement = require('./XMLElement');\n XMLCData = require('./XMLCData');\n XMLComment = require('./XMLComment');\n XMLDeclaration = require('./XMLDeclaration');\n XMLDocType = require('./XMLDocType');\n XMLRaw = require('./XMLRaw');\n XMLText = require('./XMLText');\n XMLProcessingInstruction = require('./XMLProcessingInstruction');\n XMLDummy = require('./XMLDummy');\n NodeType = require('./NodeType');\n XMLNodeList = require('./XMLNodeList');\n XMLNamedNodeMap = require('./XMLNamedNodeMap');\n DocumentPosition = require('./DocumentPosition');\n }\n }\n\n Object.defineProperty(XMLNode.prototype, 'nodeName', {\n get: function() {\n return this.name;\n }\n });\n\n Object.defineProperty(XMLNode.prototype, 'nodeType', {\n get: function() {\n return this.type;\n }\n });\n\n Object.defineProperty(XMLNode.prototype, 'nodeValue', {\n get: function() {\n return this.value;\n }\n });\n\n Object.defineProperty(XMLNode.prototype, 'parentNode', {\n get: function() {\n return this.parent;\n }\n });\n\n Object.defineProperty(XMLNode.prototype, 'childNodes', {\n get: function() {\n if (!this.childNodeList || !this.childNodeList.nodes) {\n this.childNodeList = new XMLNodeList(this.children);\n }\n return this.childNodeList;\n }\n });\n\n Object.defineProperty(XMLNode.prototype, 'firstChild', {\n get: function() {\n return this.children[0] || null;\n }\n });\n\n Object.defineProperty(XMLNode.prototype, 'lastChild', {\n get: function() {\n return this.children[this.children.length - 1] || null;\n }\n });\n\n Object.defineProperty(XMLNode.prototype, 'previousSibling', {\n get: function() {\n var i;\n i = this.parent.children.indexOf(this);\n return this.parent.children[i - 1] || null;\n }\n });\n\n Object.defineProperty(XMLNode.prototype, 'nextSibling', {\n get: function() {\n var i;\n i = this.parent.children.indexOf(this);\n return this.parent.children[i + 1] || null;\n }\n });\n\n Object.defineProperty(XMLNode.prototype, 'ownerDocument', {\n get: function() {\n return this.document() || null;\n }\n });\n\n Object.defineProperty(XMLNode.prototype, 'textContent', {\n get: function() {\n var child, j, len, ref2, str;\n if (this.nodeType === NodeType.Element || this.nodeType === NodeType.DocumentFragment) {\n str = '';\n ref2 = this.children;\n for (j = 0, len = ref2.length; j < len; j++) {\n child = ref2[j];\n if (child.textContent) {\n str += child.textContent;\n }\n }\n return str;\n } else {\n return null;\n }\n },\n set: function(value) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n }\n });\n\n XMLNode.prototype.setParent = function(parent) {\n var child, j, len, ref2, results;\n this.parent = parent;\n if (parent) {\n this.options = parent.options;\n this.stringify = parent.stringify;\n }\n ref2 = this.children;\n results = [];\n for (j = 0, len = ref2.length; j < len; j++) {\n child = ref2[j];\n results.push(child.setParent(this));\n }\n return results;\n };\n\n XMLNode.prototype.element = function(name, attributes, text) {\n var childNode, item, j, k, key, lastChild, len, len1, ref2, ref3, val;\n lastChild = null;\n if (attributes === null && (text == null)) {\n ref2 = [{}, null], attributes = ref2[0], text = ref2[1];\n }\n if (attributes == null) {\n attributes = {};\n }\n attributes = getValue(attributes);\n if (!isObject(attributes)) {\n ref3 = [attributes, text], text = ref3[0], attributes = ref3[1];\n }\n if (name != null) {\n name = getValue(name);\n }\n if (Array.isArray(name)) {\n for (j = 0, len = name.length; j < len; j++) {\n item = name[j];\n lastChild = this.element(item);\n }\n } else if (isFunction(name)) {\n lastChild = this.element(name.apply());\n } else if (isObject(name)) {\n for (key in name) {\n if (!hasProp.call(name, key)) continue;\n val = name[key];\n if (isFunction(val)) {\n val = val.apply();\n }\n if (!this.options.ignoreDecorators && this.stringify.convertAttKey && key.indexOf(this.stringify.convertAttKey) === 0) {\n lastChild = this.attribute(key.substr(this.stringify.convertAttKey.length), val);\n } else if (!this.options.separateArrayItems && Array.isArray(val) && isEmpty(val)) {\n lastChild = this.dummy();\n } else if (isObject(val) && isEmpty(val)) {\n lastChild = this.element(key);\n } else if (!this.options.keepNullNodes && (val == null)) {\n lastChild = this.dummy();\n } else if (!this.options.separateArrayItems && Array.isArray(val)) {\n for (k = 0, len1 = val.length; k < len1; k++) {\n item = val[k];\n childNode = {};\n childNode[key] = item;\n lastChild = this.element(childNode);\n }\n } else if (isObject(val)) {\n if (!this.options.ignoreDecorators && this.stringify.convertTextKey && key.indexOf(this.stringify.convertTextKey) === 0) {\n lastChild = this.element(val);\n } else {\n lastChild = this.element(key);\n lastChild.element(val);\n }\n } else {\n lastChild = this.element(key, val);\n }\n }\n } else if (!this.options.keepNullNodes && text === null) {\n lastChild = this.dummy();\n } else {\n if (!this.options.ignoreDecorators && this.stringify.convertTextKey && name.indexOf(this.stringify.convertTextKey) === 0) {\n lastChild = this.text(text);\n } else if (!this.options.ignoreDecorators && this.stringify.convertCDataKey && name.indexOf(this.stringify.convertCDataKey) === 0) {\n lastChild = this.cdata(text);\n } else if (!this.options.ignoreDecorators && this.stringify.convertCommentKey && name.indexOf(this.stringify.convertCommentKey) === 0) {\n lastChild = this.comment(text);\n } else if (!this.options.ignoreDecorators && this.stringify.convertRawKey && name.indexOf(this.stringify.convertRawKey) === 0) {\n lastChild = this.raw(text);\n } else if (!this.options.ignoreDecorators && this.stringify.convertPIKey && name.indexOf(this.stringify.convertPIKey) === 0) {\n lastChild = this.instruction(name.substr(this.stringify.convertPIKey.length), text);\n } else {\n lastChild = this.node(name, attributes, text);\n }\n }\n if (lastChild == null) {\n throw new Error(\"Could not create any elements with: \" + name + \". \" + this.debugInfo());\n }\n return lastChild;\n };\n\n XMLNode.prototype.insertBefore = function(name, attributes, text) {\n var child, i, newChild, refChild, removed;\n if (name != null ? name.type : void 0) {\n newChild = name;\n refChild = attributes;\n newChild.setParent(this);\n if (refChild) {\n i = children.indexOf(refChild);\n removed = children.splice(i);\n children.push(newChild);\n Array.prototype.push.apply(children, removed);\n } else {\n children.push(newChild);\n }\n return newChild;\n } else {\n if (this.isRoot) {\n throw new Error(\"Cannot insert elements at root level. \" + this.debugInfo(name));\n }\n i = this.parent.children.indexOf(this);\n removed = this.parent.children.splice(i);\n child = this.parent.element(name, attributes, text);\n Array.prototype.push.apply(this.parent.children, removed);\n return child;\n }\n };\n\n XMLNode.prototype.insertAfter = function(name, attributes, text) {\n var child, i, removed;\n if (this.isRoot) {\n throw new Error(\"Cannot insert elements at root level. \" + this.debugInfo(name));\n }\n i = this.parent.children.indexOf(this);\n removed = this.parent.children.splice(i + 1);\n child = this.parent.element(name, attributes, text);\n Array.prototype.push.apply(this.parent.children, removed);\n return child;\n };\n\n XMLNode.prototype.remove = function() {\n var i, ref2;\n if (this.isRoot) {\n throw new Error(\"Cannot remove the root element. \" + this.debugInfo());\n }\n i = this.parent.children.indexOf(this);\n [].splice.apply(this.parent.children, [i, i - i + 1].concat(ref2 = [])), ref2;\n return this.parent;\n };\n\n XMLNode.prototype.node = function(name, attributes, text) {\n var child, ref2;\n if (name != null) {\n name = getValue(name);\n }\n attributes || (attributes = {});\n attributes = getValue(attributes);\n if (!isObject(attributes)) {\n ref2 = [attributes, text], text = ref2[0], attributes = ref2[1];\n }\n child = new XMLElement(this, name, attributes);\n if (text != null) {\n child.text(text);\n }\n this.children.push(child);\n return child;\n };\n\n XMLNode.prototype.text = function(value) {\n var child;\n if (isObject(value)) {\n this.element(value);\n }\n child = new XMLText(this, value);\n this.children.push(child);\n return this;\n };\n\n XMLNode.prototype.cdata = function(value) {\n var child;\n child = new XMLCData(this, value);\n this.children.push(child);\n return this;\n };\n\n XMLNode.prototype.comment = function(value) {\n var child;\n child = new XMLComment(this, value);\n this.children.push(child);\n return this;\n };\n\n XMLNode.prototype.commentBefore = function(value) {\n var child, i, removed;\n i = this.parent.children.indexOf(this);\n removed = this.parent.children.splice(i);\n child = this.parent.comment(value);\n Array.prototype.push.apply(this.parent.children, removed);\n return this;\n };\n\n XMLNode.prototype.commentAfter = function(value) {\n var child, i, removed;\n i = this.parent.children.indexOf(this);\n removed = this.parent.children.splice(i + 1);\n child = this.parent.comment(value);\n Array.prototype.push.apply(this.parent.children, removed);\n return this;\n };\n\n XMLNode.prototype.raw = function(value) {\n var child;\n child = new XMLRaw(this, value);\n this.children.push(child);\n return this;\n };\n\n XMLNode.prototype.dummy = function() {\n var child;\n child = new XMLDummy(this);\n return child;\n };\n\n XMLNode.prototype.instruction = function(target, value) {\n var insTarget, insValue, instruction, j, len;\n if (target != null) {\n target = getValue(target);\n }\n if (value != null) {\n value = getValue(value);\n }\n if (Array.isArray(target)) {\n for (j = 0, len = target.length; j < len; j++) {\n insTarget = target[j];\n this.instruction(insTarget);\n }\n } else if (isObject(target)) {\n for (insTarget in target) {\n if (!hasProp.call(target, insTarget)) continue;\n insValue = target[insTarget];\n this.instruction(insTarget, insValue);\n }\n } else {\n if (isFunction(value)) {\n value = value.apply();\n }\n instruction = new XMLProcessingInstruction(this, target, value);\n this.children.push(instruction);\n }\n return this;\n };\n\n XMLNode.prototype.instructionBefore = function(target, value) {\n var child, i, removed;\n i = this.parent.children.indexOf(this);\n removed = this.parent.children.splice(i);\n child = this.parent.instruction(target, value);\n Array.prototype.push.apply(this.parent.children, removed);\n return this;\n };\n\n XMLNode.prototype.instructionAfter = function(target, value) {\n var child, i, removed;\n i = this.parent.children.indexOf(this);\n removed = this.parent.children.splice(i + 1);\n child = this.parent.instruction(target, value);\n Array.prototype.push.apply(this.parent.children, removed);\n return this;\n };\n\n XMLNode.prototype.declaration = function(version, encoding, standalone) {\n var doc, xmldec;\n doc = this.document();\n xmldec = new XMLDeclaration(doc, version, encoding, standalone);\n if (doc.children.length === 0) {\n doc.children.unshift(xmldec);\n } else if (doc.children[0].type === NodeType.Declaration) {\n doc.children[0] = xmldec;\n } else {\n doc.children.unshift(xmldec);\n }\n return doc.root() || doc;\n };\n\n XMLNode.prototype.dtd = function(pubID, sysID) {\n var child, doc, doctype, i, j, k, len, len1, ref2, ref3;\n doc = this.document();\n doctype = new XMLDocType(doc, pubID, sysID);\n ref2 = doc.children;\n for (i = j = 0, len = ref2.length; j < len; i = ++j) {\n child = ref2[i];\n if (child.type === NodeType.DocType) {\n doc.children[i] = doctype;\n return doctype;\n }\n }\n ref3 = doc.children;\n for (i = k = 0, len1 = ref3.length; k < len1; i = ++k) {\n child = ref3[i];\n if (child.isRoot) {\n doc.children.splice(i, 0, doctype);\n return doctype;\n }\n }\n doc.children.push(doctype);\n return doctype;\n };\n\n XMLNode.prototype.up = function() {\n if (this.isRoot) {\n throw new Error(\"The root node has no parent. Use doc() if you need to get the document object.\");\n }\n return this.parent;\n };\n\n XMLNode.prototype.root = function() {\n var node;\n node = this;\n while (node) {\n if (node.type === NodeType.Document) {\n return node.rootObject;\n } else if (node.isRoot) {\n return node;\n } else {\n node = node.parent;\n }\n }\n };\n\n XMLNode.prototype.document = function() {\n var node;\n node = this;\n while (node) {\n if (node.type === NodeType.Document) {\n return node;\n } else {\n node = node.parent;\n }\n }\n };\n\n XMLNode.prototype.end = function(options) {\n return this.document().end(options);\n };\n\n XMLNode.prototype.prev = function() {\n var i;\n i = this.parent.children.indexOf(this);\n if (i < 1) {\n throw new Error(\"Already at the first node. \" + this.debugInfo());\n }\n return this.parent.children[i - 1];\n };\n\n XMLNode.prototype.next = function() {\n var i;\n i = this.parent.children.indexOf(this);\n if (i === -1 || i === this.parent.children.length - 1) {\n throw new Error(\"Already at the last node. \" + this.debugInfo());\n }\n return this.parent.children[i + 1];\n };\n\n XMLNode.prototype.importDocument = function(doc) {\n var clonedRoot;\n clonedRoot = doc.root().clone();\n clonedRoot.parent = this;\n clonedRoot.isRoot = false;\n this.children.push(clonedRoot);\n return this;\n };\n\n XMLNode.prototype.debugInfo = function(name) {\n var ref2, ref3;\n name = name || this.name;\n if ((name == null) && !((ref2 = this.parent) != null ? ref2.name : void 0)) {\n return \"\";\n } else if (name == null) {\n return \"parent: <\" + this.parent.name + \">\";\n } else if (!((ref3 = this.parent) != null ? ref3.name : void 0)) {\n return \"node: <\" + name + \">\";\n } else {\n return \"node: <\" + name + \">, parent: <\" + this.parent.name + \">\";\n }\n };\n\n XMLNode.prototype.ele = function(name, attributes, text) {\n return this.element(name, attributes, text);\n };\n\n XMLNode.prototype.nod = function(name, attributes, text) {\n return this.node(name, attributes, text);\n };\n\n XMLNode.prototype.txt = function(value) {\n return this.text(value);\n };\n\n XMLNode.prototype.dat = function(value) {\n return this.cdata(value);\n };\n\n XMLNode.prototype.com = function(value) {\n return this.comment(value);\n };\n\n XMLNode.prototype.ins = function(target, value) {\n return this.instruction(target, value);\n };\n\n XMLNode.prototype.doc = function() {\n return this.document();\n };\n\n XMLNode.prototype.dec = function(version, encoding, standalone) {\n return this.declaration(version, encoding, standalone);\n };\n\n XMLNode.prototype.e = function(name, attributes, text) {\n return this.element(name, attributes, text);\n };\n\n XMLNode.prototype.n = function(name, attributes, text) {\n return this.node(name, attributes, text);\n };\n\n XMLNode.prototype.t = function(value) {\n return this.text(value);\n };\n\n XMLNode.prototype.d = function(value) {\n return this.cdata(value);\n };\n\n XMLNode.prototype.c = function(value) {\n return this.comment(value);\n };\n\n XMLNode.prototype.r = function(value) {\n return this.raw(value);\n };\n\n XMLNode.prototype.i = function(target, value) {\n return this.instruction(target, value);\n };\n\n XMLNode.prototype.u = function() {\n return this.up();\n };\n\n XMLNode.prototype.importXMLBuilder = function(doc) {\n return this.importDocument(doc);\n };\n\n XMLNode.prototype.replaceChild = function(newChild, oldChild) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.removeChild = function(oldChild) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.appendChild = function(newChild) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.hasChildNodes = function() {\n return this.children.length !== 0;\n };\n\n XMLNode.prototype.cloneNode = function(deep) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.normalize = function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.isSupported = function(feature, version) {\n return true;\n };\n\n XMLNode.prototype.hasAttributes = function() {\n return this.attribs.length !== 0;\n };\n\n XMLNode.prototype.compareDocumentPosition = function(other) {\n var ref, res;\n ref = this;\n if (ref === other) {\n return 0;\n } else if (this.document() !== other.document()) {\n res = DocumentPosition.Disconnected | DocumentPosition.ImplementationSpecific;\n if (Math.random() < 0.5) {\n res |= DocumentPosition.Preceding;\n } else {\n res |= DocumentPosition.Following;\n }\n return res;\n } else if (ref.isAncestor(other)) {\n return DocumentPosition.Contains | DocumentPosition.Preceding;\n } else if (ref.isDescendant(other)) {\n return DocumentPosition.Contains | DocumentPosition.Following;\n } else if (ref.isPreceding(other)) {\n return DocumentPosition.Preceding;\n } else {\n return DocumentPosition.Following;\n }\n };\n\n XMLNode.prototype.isSameNode = function(other) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.lookupPrefix = function(namespaceURI) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.isDefaultNamespace = function(namespaceURI) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.lookupNamespaceURI = function(prefix) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.isEqualNode = function(node) {\n var i, j, ref2;\n if (node.nodeType !== this.nodeType) {\n return false;\n }\n if (node.children.length !== this.children.length) {\n return false;\n }\n for (i = j = 0, ref2 = this.children.length - 1; 0 <= ref2 ? j <= ref2 : j >= ref2; i = 0 <= ref2 ? ++j : --j) {\n if (!this.children[i].isEqualNode(node.children[i])) {\n return false;\n }\n }\n return true;\n };\n\n XMLNode.prototype.getFeature = function(feature, version) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.setUserData = function(key, data, handler) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.getUserData = function(key) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.contains = function(other) {\n if (!other) {\n return false;\n }\n return other === this || this.isDescendant(other);\n };\n\n XMLNode.prototype.isDescendant = function(node) {\n var child, isDescendantChild, j, len, ref2;\n ref2 = this.children;\n for (j = 0, len = ref2.length; j < len; j++) {\n child = ref2[j];\n if (node === child) {\n return true;\n }\n isDescendantChild = child.isDescendant(node);\n if (isDescendantChild) {\n return true;\n }\n }\n return false;\n };\n\n XMLNode.prototype.isAncestor = function(node) {\n return node.isDescendant(this);\n };\n\n XMLNode.prototype.isPreceding = function(node) {\n var nodePos, thisPos;\n nodePos = this.treePosition(node);\n thisPos = this.treePosition(this);\n if (nodePos === -1 || thisPos === -1) {\n return false;\n } else {\n return nodePos < thisPos;\n }\n };\n\n XMLNode.prototype.isFollowing = function(node) {\n var nodePos, thisPos;\n nodePos = this.treePosition(node);\n thisPos = this.treePosition(this);\n if (nodePos === -1 || thisPos === -1) {\n return false;\n } else {\n return nodePos > thisPos;\n }\n };\n\n XMLNode.prototype.treePosition = function(node) {\n var found, pos;\n pos = 0;\n found = false;\n this.foreachTreeNode(this.document(), function(childNode) {\n pos++;\n if (!found && childNode === node) {\n return found = true;\n }\n });\n if (found) {\n return pos;\n } else {\n return -1;\n }\n };\n\n XMLNode.prototype.foreachTreeNode = function(node, func) {\n var child, j, len, ref2, res;\n node || (node = this.document());\n ref2 = node.children;\n for (j = 0, len = ref2.length; j < len; j++) {\n child = ref2[j];\n if (res = func(child)) {\n return res;\n } else {\n res = this.foreachTreeNode(child, func);\n if (res) {\n return res;\n }\n }\n }\n };\n\n return XMLNode;\n\n })();\n\n}).call(this);\n","var ClientRequest = require('./lib/request')\nvar response = require('./lib/response')\nvar extend = require('xtend')\nvar statusCodes = require('builtin-status-codes')\nvar url = require('url')\n\nvar http = exports\n\nhttp.request = function (opts, cb) {\n\tif (typeof opts === 'string')\n\t\topts = url.parse(opts)\n\telse\n\t\topts = extend(opts)\n\n\t// Normally, the page is loaded from http or https, so not specifying a protocol\n\t// will result in a (valid) protocol-relative url. However, this won't work if\n\t// the protocol is something else, like 'file:'\n\tvar defaultProtocol = global.location.protocol.search(/^https?:$/) === -1 ? 'http:' : ''\n\n\tvar protocol = opts.protocol || defaultProtocol\n\tvar host = opts.hostname || opts.host\n\tvar port = opts.port\n\tvar path = opts.path || '/'\n\n\t// Necessary for IPv6 addresses\n\tif (host && host.indexOf(':') !== -1)\n\t\thost = '[' + host + ']'\n\n\t// This may be a relative url. The browser should always be able to interpret it correctly.\n\topts.url = (host ? (protocol + '//' + host) : '') + (port ? ':' + port : '') + path\n\topts.method = (opts.method || 'GET').toUpperCase()\n\topts.headers = opts.headers || {}\n\n\t// Also valid opts.auth, opts.mode\n\n\tvar req = new ClientRequest(opts)\n\tif (cb)\n\t\treq.on('response', cb)\n\treturn req\n}\n\nhttp.get = function get (opts, cb) {\n\tvar req = http.request(opts, cb)\n\treq.end()\n\treturn req\n}\n\nhttp.ClientRequest = ClientRequest\nhttp.IncomingMessage = response.IncomingMessage\n\nhttp.Agent = function () {}\nhttp.Agent.defaultMaxSockets = 4\n\nhttp.globalAgent = new http.Agent()\n\nhttp.STATUS_CODES = statusCodes\n\nhttp.METHODS = [\n\t'CHECKOUT',\n\t'CONNECT',\n\t'COPY',\n\t'DELETE',\n\t'GET',\n\t'HEAD',\n\t'LOCK',\n\t'M-SEARCH',\n\t'MERGE',\n\t'MKACTIVITY',\n\t'MKCOL',\n\t'MOVE',\n\t'NOTIFY',\n\t'OPTIONS',\n\t'PATCH',\n\t'POST',\n\t'PROPFIND',\n\t'PROPPATCH',\n\t'PURGE',\n\t'PUT',\n\t'REPORT',\n\t'SEARCH',\n\t'SUBSCRIBE',\n\t'TRACE',\n\t'UNLOCK',\n\t'UNSUBSCRIBE'\n]","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\n\nif (typeof process === 'undefined' ||\n !process.version ||\n process.version.indexOf('v0.') === 0 ||\n process.version.indexOf('v1.') === 0 && process.version.indexOf('v1.8.') !== 0) {\n module.exports = { nextTick: nextTick };\n} else {\n module.exports = process\n}\n\nfunction nextTick(fn, arg1, arg2, arg3) {\n if (typeof fn !== 'function') {\n throw new TypeError('\"callback\" argument must be a function');\n }\n var len = arguments.length;\n var args, i;\n switch (len) {\n case 0:\n case 1:\n return process.nextTick(fn);\n case 2:\n return process.nextTick(function afterTickOne() {\n fn.call(null, arg1);\n });\n case 3:\n return process.nextTick(function afterTickTwo() {\n fn.call(null, arg1, arg2);\n });\n case 4:\n return process.nextTick(function afterTickThree() {\n fn.call(null, arg1, arg2, arg3);\n });\n default:\n args = new Array(len - 1);\n i = 0;\n while (i < args.length) {\n args[i++] = arguments[i];\n }\n return process.nextTick(function afterTick() {\n fn.apply(null, args);\n });\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 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 generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n 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 this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n 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 Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has');\nvar bind = require('../internals/function-bind-context');\nvar classof = require('../internals/classof');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $fetch = getBuiltIn('fetch');\nvar Headers = getBuiltIn('Headers');\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n\nvar plus = /\\+/g;\nvar sequences = Array(4);\n\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\n\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\n\nvar deserialize = function (it) {\n var result = it.replace(plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = result.replace(percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\n\nvar replacer = function (match) {\n return replace[match];\n};\n\nvar serialize = function (it) {\n return encodeURIComponent(it).replace(find, replacer);\n};\n\nvar parseSearchParams = function (result, query) {\n if (query) {\n var attributes = query.split('&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = attribute.split('=');\n result.push({\n key: deserialize(entry.shift()),\n value: deserialize(entry.join('='))\n });\n }\n }\n }\n};\n\nvar updateSearchParams = function (query) {\n this.entries.length = 0;\n parseSearchParams(this.entries, query);\n};\n\nvar validateArgumentsLength = function (passed, required) {\n if (passed < required) throw TypeError('Not enough arguments');\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];\n } return step;\n});\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var that = this;\n var entries = [];\n var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;\n\n setInternalState(that, {\n type: URL_SEARCH_PARAMS,\n entries: entries,\n updateURL: function () { /* empty */ },\n updateSearchParams: updateSearchParams\n });\n\n if (init !== undefined) {\n if (isObject(init)) {\n iteratorMethod = getIteratorMethod(init);\n if (typeof iteratorMethod === 'function') {\n iterator = iteratorMethod.call(init);\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if (\n (first = entryNext.call(entryIterator)).done ||\n (second = entryNext.call(entryIterator)).done ||\n !entryNext.call(entryIterator).done\n ) throw TypeError('Expected sequence with length 2');\n entries.push({ key: first.value + '', value: second.value + '' });\n }\n } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: init[key] + '' });\n } else {\n parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');\n }\n }\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\nredefineAll(URLSearchParamsPrototype, {\n // `URLSearchParams.prototype.appent` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-append\n append: function append(name, value) {\n validateArgumentsLength(arguments.length, 2);\n var state = getInternalParamsState(this);\n state.entries.push({ key: name + '', value: value + '' });\n state.updateURL();\n },\n // `URLSearchParams.prototype.delete` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key) entries.splice(index, 1);\n else index++;\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.get` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) return entries[index].value;\n }\n return null;\n },\n // `URLSearchParams.prototype.getAll` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) result.push(entries[index].value);\n }\n return result;\n },\n // `URLSearchParams.prototype.has` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key) return true;\n }\n return false;\n },\n // `URLSearchParams.prototype.set` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = name + '';\n var val = value + '';\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found) entries.splice(index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found) entries.push({ key: key, value: val });\n state.updateURL();\n },\n // `URLSearchParams.prototype.sort` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n sort: function sort() {\n var state = getInternalParamsState(this);\n var entries = state.entries;\n // Array#sort is not stable in some engines\n var slice = entries.slice();\n var entry, entriesIndex, sliceIndex;\n entries.length = 0;\n for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n entry = slice[sliceIndex];\n for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n if (entries[entriesIndex].key > entry.key) {\n entries.splice(entriesIndex, 0, entry);\n break;\n }\n }\n if (entriesIndex === sliceIndex) entries.push(entry);\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.forEach` method\n forEach: function forEach(callback /* , thisArg */) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n // `URLSearchParams.prototype.keys` method\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n // `URLSearchParams.prototype.values` method\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n // `URLSearchParams.prototype.entries` method\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n var entries = getInternalParamsState(this).entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n result.push(serialize(entry.key) + '=' + serialize(entry.value));\n } return result.join('&');\n}, { enumerable: true });\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, forced: !USE_NATIVE_URL }, {\n URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` for correct work with polyfilled `URLSearchParams`\n// https://github.com/zloirock/core-js/issues/674\nif (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {\n $({ global: true, enumerable: true, forced: true }, {\n fetch: function fetch(input /* , init */) {\n var args = [input];\n var init, body, headers;\n if (arguments.length > 1) {\n init = arguments[1];\n if (isObject(init)) {\n body = init.body;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headers.has('content-type')) {\n headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n init = create(init, {\n body: createPropertyDescriptor(0, String(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n }\n args.push(init);\n } return $fetch.apply(this, args);\n }\n });\n}\n\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.link` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.link\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('link') }, {\n link: function link(url) {\n return createHTML(this, 'a', 'href', url);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n concat: function concat(arg) { // eslint-disable-line no-unused-vars\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","var anObject = require('../internals/an-object');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nmodule.exports = function (it) {\n var iteratorMethod = getIteratorMethod(it);\n if (typeof iteratorMethod != 'function') {\n throw TypeError(String(it) + ' is not iterable');\n } return anObject(iteratorMethod.call(it));\n};\n","var anObject = require('../internals/an-object');\n\n// call something on iterator step with safe closing on error\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 (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) anObject(returnMethod.call(iterator));\n throw error;\n }\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* 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","import VIcon from './VIcon';\nexport { VIcon };\nexport default VIcon;\n//# sourceMappingURL=index.js.map","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLCharacterData, XMLText,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n NodeType = require('./NodeType');\n\n XMLCharacterData = require('./XMLCharacterData');\n\n module.exports = XMLText = (function(superClass) {\n extend(XMLText, superClass);\n\n function XMLText(parent, text) {\n XMLText.__super__.constructor.call(this, parent);\n if (text == null) {\n throw new Error(\"Missing element text. \" + this.debugInfo());\n }\n this.name = \"#text\";\n this.type = NodeType.Text;\n this.value = this.stringify.text(text);\n }\n\n Object.defineProperty(XMLText.prototype, 'isElementContentWhitespace', {\n get: function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n }\n });\n\n Object.defineProperty(XMLText.prototype, 'wholeText', {\n get: function() {\n var next, prev, str;\n str = '';\n prev = this.previousSibling;\n while (prev) {\n str = prev.data + str;\n prev = prev.previousSibling;\n }\n str += this.data;\n next = this.nextSibling;\n while (next) {\n str = str + next.data;\n next = next.nextSibling;\n }\n return str;\n }\n });\n\n XMLText.prototype.clone = function() {\n return Object.create(this);\n };\n\n XMLText.prototype.toString = function(options) {\n return this.options.writer.text(this, this.options.writer.filterOptions(options));\n };\n\n XMLText.prototype.splitText = function(offset) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLText.prototype.replaceWholeText = function(content) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n return XMLText;\n\n })(XMLCharacterData);\n\n}).call(this);\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\n\nvar fails = require('./fails');\n\n// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,\n// so we use an intermediate function.\nfunction RE(s, f) {\n return RegExp(s, f);\n}\n\nexports.UNSUPPORTED_Y = fails(function () {\n // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\n var re = RE('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\nexports.BROKEN_CARET = fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = RE('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLDOMErrorHandler;\n\n module.exports = XMLDOMErrorHandler = (function() {\n function XMLDOMErrorHandler() {}\n\n XMLDOMErrorHandler.prototype.handleError = function(error) {\n throw new Error(error);\n };\n\n return XMLDOMErrorHandler;\n\n })();\n\n}).call(this);\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.decodeHTML = exports.decodeHTMLStrict = exports.decodeXML = void 0;\nvar entities_json_1 = __importDefault(require(\"./maps/entities.json\"));\nvar legacy_json_1 = __importDefault(require(\"./maps/legacy.json\"));\nvar xml_json_1 = __importDefault(require(\"./maps/xml.json\"));\nvar decode_codepoint_1 = __importDefault(require(\"./decode_codepoint\"));\nexports.decodeXML = getStrictDecoder(xml_json_1.default);\nexports.decodeHTMLStrict = getStrictDecoder(entities_json_1.default);\nfunction getStrictDecoder(map) {\n var keys = Object.keys(map).join(\"|\");\n var replace = getReplacer(map);\n keys += \"|#[xX][\\\\da-fA-F]+|#\\\\d+\";\n var re = new RegExp(\"&(?:\" + keys + \");\", \"g\");\n return function (str) { return String(str).replace(re, replace); };\n}\nvar sorter = function (a, b) { return (a < b ? 1 : -1); };\nexports.decodeHTML = (function () {\n var legacy = Object.keys(legacy_json_1.default).sort(sorter);\n var keys = Object.keys(entities_json_1.default).sort(sorter);\n for (var i = 0, j = 0; i < keys.length; i++) {\n if (legacy[j] === keys[i]) {\n keys[i] += \";?\";\n j++;\n }\n else {\n keys[i] += \";\";\n }\n }\n var re = new RegExp(\"&(?:\" + keys.join(\"|\") + \"|#[xX][\\\\da-fA-F]+;?|#\\\\d+;?)\", \"g\");\n var replace = getReplacer(entities_json_1.default);\n function replacer(str) {\n if (str.substr(-1) !== \";\")\n str += \";\";\n return replace(str);\n }\n //TODO consider creating a merged map\n return function (str) { return String(str).replace(re, replacer); };\n})();\nfunction getReplacer(map) {\n return function replace(str) {\n if (str.charAt(1) === \"#\") {\n var secondChar = str.charAt(2);\n if (secondChar === \"X\" || secondChar === \"x\") {\n return decode_codepoint_1.default(parseInt(str.substr(3), 16));\n }\n return decode_codepoint_1.default(parseInt(str.substr(2), 10));\n }\n return map[str.slice(1, -1)];\n };\n}\n","import Vue from 'vue';\n/* @vue/component */\n\nexport default Vue.extend({\n name: 'roundable',\n props: {\n rounded: [Boolean, String],\n tile: Boolean\n },\n computed: {\n roundedClasses() {\n const composite = [];\n const rounded = typeof this.rounded === 'string' ? String(this.rounded) : this.rounded === true;\n\n if (this.tile) {\n composite.push('rounded-0');\n } else if (typeof rounded === 'string') {\n const values = rounded.split(' ');\n\n for (const value of values) {\n composite.push(`rounded-${value}`);\n }\n } else if (rounded) {\n composite.push('rounded');\n }\n\n return composite.length > 0 ? {\n [composite.join(' ')]: true\n } : {};\n }\n\n }\n});\n//# sourceMappingURL=index.js.map","import Vue from 'vue';\nexport function factory(prop = 'value', event = 'change') {\n return Vue.extend({\n name: 'proxyable',\n model: {\n prop,\n event\n },\n props: {\n [prop]: {\n required: false\n }\n },\n\n data() {\n return {\n internalLazyValue: this[prop]\n };\n },\n\n computed: {\n internalValue: {\n get() {\n return this.internalLazyValue;\n },\n\n set(val) {\n if (val === this.internalLazyValue) return;\n this.internalLazyValue = val;\n this.$emit(event, val);\n }\n\n }\n },\n watch: {\n [prop](val) {\n this.internalLazyValue = val;\n }\n\n }\n });\n}\n/* eslint-disable-next-line @typescript-eslint/no-redeclare */\n\nconst Proxyable = factory();\nexport default Proxyable;\n//# sourceMappingURL=index.js.map","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, WriterState, XMLCData, XMLComment, XMLDTDAttList, XMLDTDElement, XMLDTDEntity, XMLDTDNotation, XMLDeclaration, XMLDocType, XMLDummy, XMLElement, XMLProcessingInstruction, XMLRaw, XMLText, XMLWriterBase, assign,\n hasProp = {}.hasOwnProperty;\n\n assign = require('./Utility').assign;\n\n NodeType = require('./NodeType');\n\n XMLDeclaration = require('./XMLDeclaration');\n\n XMLDocType = require('./XMLDocType');\n\n XMLCData = require('./XMLCData');\n\n XMLComment = require('./XMLComment');\n\n XMLElement = require('./XMLElement');\n\n XMLRaw = require('./XMLRaw');\n\n XMLText = require('./XMLText');\n\n XMLProcessingInstruction = require('./XMLProcessingInstruction');\n\n XMLDummy = require('./XMLDummy');\n\n XMLDTDAttList = require('./XMLDTDAttList');\n\n XMLDTDElement = require('./XMLDTDElement');\n\n XMLDTDEntity = require('./XMLDTDEntity');\n\n XMLDTDNotation = require('./XMLDTDNotation');\n\n WriterState = require('./WriterState');\n\n module.exports = XMLWriterBase = (function() {\n function XMLWriterBase(options) {\n var key, ref, value;\n options || (options = {});\n this.options = options;\n ref = options.writer || {};\n for (key in ref) {\n if (!hasProp.call(ref, key)) continue;\n value = ref[key];\n this[\"_\" + key] = this[key];\n this[key] = value;\n }\n }\n\n XMLWriterBase.prototype.filterOptions = function(options) {\n var filteredOptions, ref, ref1, ref2, ref3, ref4, ref5, ref6;\n options || (options = {});\n options = assign({}, this.options, options);\n filteredOptions = {\n writer: this\n };\n filteredOptions.pretty = options.pretty || false;\n filteredOptions.allowEmpty = options.allowEmpty || false;\n filteredOptions.indent = (ref = options.indent) != null ? ref : ' ';\n filteredOptions.newline = (ref1 = options.newline) != null ? ref1 : '\\n';\n filteredOptions.offset = (ref2 = options.offset) != null ? ref2 : 0;\n filteredOptions.dontPrettyTextNodes = (ref3 = (ref4 = options.dontPrettyTextNodes) != null ? ref4 : options.dontprettytextnodes) != null ? ref3 : 0;\n filteredOptions.spaceBeforeSlash = (ref5 = (ref6 = options.spaceBeforeSlash) != null ? ref6 : options.spacebeforeslash) != null ? ref5 : '';\n if (filteredOptions.spaceBeforeSlash === true) {\n filteredOptions.spaceBeforeSlash = ' ';\n }\n filteredOptions.suppressPrettyCount = 0;\n filteredOptions.user = {};\n filteredOptions.state = WriterState.None;\n return filteredOptions;\n };\n\n XMLWriterBase.prototype.indent = function(node, options, level) {\n var indentLevel;\n if (!options.pretty || options.suppressPrettyCount) {\n return '';\n } else if (options.pretty) {\n indentLevel = (level || 0) + options.offset + 1;\n if (indentLevel > 0) {\n return new Array(indentLevel).join(options.indent);\n }\n }\n return '';\n };\n\n XMLWriterBase.prototype.endline = function(node, options, level) {\n if (!options.pretty || options.suppressPrettyCount) {\n return '';\n } else {\n return options.newline;\n }\n };\n\n XMLWriterBase.prototype.attribute = function(att, options, level) {\n var r;\n this.openAttribute(att, options, level);\n r = ' ' + att.name + '=\"' + att.value + '\"';\n this.closeAttribute(att, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.cdata = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level) + '<![CDATA[';\n options.state = WriterState.InsideTag;\n r += node.value;\n options.state = WriterState.CloseTag;\n r += ']]>' + this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.comment = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level) + '<!-- ';\n options.state = WriterState.InsideTag;\n r += node.value;\n options.state = WriterState.CloseTag;\n r += ' -->' + this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.declaration = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level) + '<?xml';\n options.state = WriterState.InsideTag;\n r += ' version=\"' + node.version + '\"';\n if (node.encoding != null) {\n r += ' encoding=\"' + node.encoding + '\"';\n }\n if (node.standalone != null) {\n r += ' standalone=\"' + node.standalone + '\"';\n }\n options.state = WriterState.CloseTag;\n r += options.spaceBeforeSlash + '?>';\n r += this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.docType = function(node, options, level) {\n var child, i, len, r, ref;\n level || (level = 0);\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level);\n r += '<!DOCTYPE ' + node.root().name;\n if (node.pubID && node.sysID) {\n r += ' PUBLIC \"' + node.pubID + '\" \"' + node.sysID + '\"';\n } else if (node.sysID) {\n r += ' SYSTEM \"' + node.sysID + '\"';\n }\n if (node.children.length > 0) {\n r += ' [';\n r += this.endline(node, options, level);\n options.state = WriterState.InsideTag;\n ref = node.children;\n for (i = 0, len = ref.length; i < len; i++) {\n child = ref[i];\n r += this.writeChildNode(child, options, level + 1);\n }\n options.state = WriterState.CloseTag;\n r += ']';\n }\n options.state = WriterState.CloseTag;\n r += options.spaceBeforeSlash + '>';\n r += this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.element = function(node, options, level) {\n var att, child, childNodeCount, firstChildNode, i, j, len, len1, name, prettySuppressed, r, ref, ref1, ref2;\n level || (level = 0);\n prettySuppressed = false;\n r = '';\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r += this.indent(node, options, level) + '<' + node.name;\n ref = node.attribs;\n for (name in ref) {\n if (!hasProp.call(ref, name)) continue;\n att = ref[name];\n r += this.attribute(att, options, level);\n }\n childNodeCount = node.children.length;\n firstChildNode = childNodeCount === 0 ? null : node.children[0];\n if (childNodeCount === 0 || node.children.every(function(e) {\n return (e.type === NodeType.Text || e.type === NodeType.Raw) && e.value === '';\n })) {\n if (options.allowEmpty) {\n r += '>';\n options.state = WriterState.CloseTag;\n r += '</' + node.name + '>' + this.endline(node, options, level);\n } else {\n options.state = WriterState.CloseTag;\n r += options.spaceBeforeSlash + '/>' + this.endline(node, options, level);\n }\n } else if (options.pretty && childNodeCount === 1 && (firstChildNode.type === NodeType.Text || firstChildNode.type === NodeType.Raw) && (firstChildNode.value != null)) {\n r += '>';\n options.state = WriterState.InsideTag;\n options.suppressPrettyCount++;\n prettySuppressed = true;\n r += this.writeChildNode(firstChildNode, options, level + 1);\n options.suppressPrettyCount--;\n prettySuppressed = false;\n options.state = WriterState.CloseTag;\n r += '</' + node.name + '>' + this.endline(node, options, level);\n } else {\n if (options.dontPrettyTextNodes) {\n ref1 = node.children;\n for (i = 0, len = ref1.length; i < len; i++) {\n child = ref1[i];\n if ((child.type === NodeType.Text || child.type === NodeType.Raw) && (child.value != null)) {\n options.suppressPrettyCount++;\n prettySuppressed = true;\n break;\n }\n }\n }\n r += '>' + this.endline(node, options, level);\n options.state = WriterState.InsideTag;\n ref2 = node.children;\n for (j = 0, len1 = ref2.length; j < len1; j++) {\n child = ref2[j];\n r += this.writeChildNode(child, options, level + 1);\n }\n options.state = WriterState.CloseTag;\n r += this.indent(node, options, level) + '</' + node.name + '>';\n if (prettySuppressed) {\n options.suppressPrettyCount--;\n }\n r += this.endline(node, options, level);\n options.state = WriterState.None;\n }\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.writeChildNode = function(node, options, level) {\n switch (node.type) {\n case NodeType.CData:\n return this.cdata(node, options, level);\n case NodeType.Comment:\n return this.comment(node, options, level);\n case NodeType.Element:\n return this.element(node, options, level);\n case NodeType.Raw:\n return this.raw(node, options, level);\n case NodeType.Text:\n return this.text(node, options, level);\n case NodeType.ProcessingInstruction:\n return this.processingInstruction(node, options, level);\n case NodeType.Dummy:\n return '';\n case NodeType.Declaration:\n return this.declaration(node, options, level);\n case NodeType.DocType:\n return this.docType(node, options, level);\n case NodeType.AttributeDeclaration:\n return this.dtdAttList(node, options, level);\n case NodeType.ElementDeclaration:\n return this.dtdElement(node, options, level);\n case NodeType.EntityDeclaration:\n return this.dtdEntity(node, options, level);\n case NodeType.NotationDeclaration:\n return this.dtdNotation(node, options, level);\n default:\n throw new Error(\"Unknown XML node type: \" + node.constructor.name);\n }\n };\n\n XMLWriterBase.prototype.processingInstruction = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level) + '<?';\n options.state = WriterState.InsideTag;\n r += node.target;\n if (node.value) {\n r += ' ' + node.value;\n }\n options.state = WriterState.CloseTag;\n r += options.spaceBeforeSlash + '?>';\n r += this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.raw = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level);\n options.state = WriterState.InsideTag;\n r += node.value;\n options.state = WriterState.CloseTag;\n r += this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.text = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level);\n options.state = WriterState.InsideTag;\n r += node.value;\n options.state = WriterState.CloseTag;\n r += this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.dtdAttList = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level) + '<!ATTLIST';\n options.state = WriterState.InsideTag;\n r += ' ' + node.elementName + ' ' + node.attributeName + ' ' + node.attributeType;\n if (node.defaultValueType !== '#DEFAULT') {\n r += ' ' + node.defaultValueType;\n }\n if (node.defaultValue) {\n r += ' \"' + node.defaultValue + '\"';\n }\n options.state = WriterState.CloseTag;\n r += options.spaceBeforeSlash + '>' + this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.dtdElement = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level) + '<!ELEMENT';\n options.state = WriterState.InsideTag;\n r += ' ' + node.name + ' ' + node.value;\n options.state = WriterState.CloseTag;\n r += options.spaceBeforeSlash + '>' + this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.dtdEntity = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level) + '<!ENTITY';\n options.state = WriterState.InsideTag;\n if (node.pe) {\n r += ' %';\n }\n r += ' ' + node.name;\n if (node.value) {\n r += ' \"' + node.value + '\"';\n } else {\n if (node.pubID && node.sysID) {\n r += ' PUBLIC \"' + node.pubID + '\" \"' + node.sysID + '\"';\n } else if (node.sysID) {\n r += ' SYSTEM \"' + node.sysID + '\"';\n }\n if (node.nData) {\n r += ' NDATA ' + node.nData;\n }\n }\n options.state = WriterState.CloseTag;\n r += options.spaceBeforeSlash + '>' + this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.dtdNotation = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level) + '<!NOTATION';\n options.state = WriterState.InsideTag;\n r += ' ' + node.name;\n if (node.pubID && node.sysID) {\n r += ' PUBLIC \"' + node.pubID + '\" \"' + node.sysID + '\"';\n } else if (node.pubID) {\n r += ' PUBLIC \"' + node.pubID + '\"';\n } else if (node.sysID) {\n r += ' SYSTEM \"' + node.sysID + '\"';\n }\n options.state = WriterState.CloseTag;\n r += options.spaceBeforeSlash + '>' + this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.openNode = function(node, options, level) {};\n\n XMLWriterBase.prototype.closeNode = function(node, options, level) {};\n\n XMLWriterBase.prototype.openAttribute = function(att, options, level) {};\n\n XMLWriterBase.prototype.closeAttribute = function(att, options, level) {};\n\n return XMLWriterBase;\n\n })();\n\n}).call(this);\n","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar noop = function noop() {};\nfunction loadScript(url, preconnectOrigin) {\n return new Promise(function (resolve, reject) {\n var head = document.head || document.getElementsByTagName(\"head\")[0];\n var script = document.createElement(\"script\");\n script.async = true;\n script.src = url;\n script.charset = \"utf-8\";\n\n if (preconnectOrigin) {\n var link = document.createElement(\"link\");\n link.href = preconnectOrigin;\n link.rel = \"preconnect\";\n head.appendChild(link);\n }\n\n head.appendChild(script);\n script.onload = resolve;\n script.onerror = reject;\n });\n}\nfunction warn(msg, err) {\n console.error(\"[vue-gtag] \" + msg);\n\n if (err && err.stack) {\n console.error(err.stack);\n }\n}\nfunction isFn(item) {\n return typeof item === \"function\";\n}\nfunction isObject(item) {\n return item && _typeof(item) === \"object\" && !Array.isArray(item);\n}\nfunction mergeDeep(target) {\n for (var _len = arguments.length, sources = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n sources[_key - 1] = arguments[_key];\n }\n\n if (!sources.length) {\n return target;\n }\n\n var source = sources.shift();\n\n if (!isObject(target) || !isObject(source)) {\n return;\n }\n\n for (var key in source) {\n if (isObject(source[key])) {\n if (!target[key]) {\n Object.assign(target, _defineProperty({}, key, {}));\n }\n\n mergeDeep(target[key], source[key]);\n } else {\n Object.assign(target, _defineProperty({}, key, source[key]));\n }\n }\n\n return mergeDeep.apply(void 0, [target].concat(sources));\n}\n\nfunction query () {\n var _window;\n\n var _getOptions = getOptions(),\n globalObjectName = _getOptions.globalObjectName;\n\n if (typeof window === \"undefined\") {\n return;\n }\n\n (_window = window)[globalObjectName].apply(_window, arguments);\n}\n\nvar config = (function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var _getOptions = getOptions(),\n config = _getOptions.config,\n includes = _getOptions.includes;\n\n query.apply(void 0, [\"config\", config.id].concat(args));\n\n if (Array.isArray(includes)) {\n includes.forEach(function (domain) {\n query.apply(void 0, [\"config\", domain.id].concat(args));\n });\n }\n});\n\nvar event = (function (name) {\n var _params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var _getOptions = getOptions(),\n defaultGroupName = _getOptions.defaultGroupName,\n includes = _getOptions.includes;\n\n var params = _params;\n\n if (includes && params.send_to == null) {\n params.send_to = includes.map(function (include) {\n return include.id;\n }).concat(defaultGroupName);\n }\n\n query(\"event\", name, params);\n});\n\nvar pageview = (function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var arg = args[0];\n var params = {};\n\n if (typeof arg === \"string\") {\n params = {\n page_path: arg,\n page_location: window.location.href\n };\n } else {\n params = arg;\n }\n\n if (params.send_page_view == null) {\n params.send_page_view = true;\n }\n\n event(\"page_view\", params);\n});\n\nvar screenview = (function () {\n var _getOptions = getOptions(),\n appName = _getOptions.appName;\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 arg = args[0];\n var params = {};\n\n if (typeof arg === \"string\") {\n params = {\n screen_name: arg\n };\n } else {\n params = arg;\n }\n\n if (params.app_name == null) {\n params.app_name = appName;\n }\n\n if (params.send_page_view == null) {\n params.send_page_view = true;\n }\n\n event(\"screen_view\", params);\n});\n\nvar customMap = (function (map) {\n config({\n custom_map: map\n });\n});\n\nvar time = (function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n event.apply(void 0, [\"timing_complete\"].concat(args));\n});\n\nvar exception = (function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n event.apply(void 0, [\"exception\"].concat(args));\n});\n\nvar linker = (function (params) {\n config(\"linker\", params);\n});\n\nvar purchase = (function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n event.apply(void 0, [\"purchase\"].concat(args));\n});\n\nvar refund = (function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n event.apply(void 0, [\"refund\"].concat(args));\n});\n\nvar set = (function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n query.apply(void 0, [\"set\"].concat(args));\n});\n\nvar disable = (function () {\n var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n var _getOptions = getOptions(),\n includes = _getOptions.includes,\n config = _getOptions.config;\n\n window[\"ga-disable-\".concat(config.id)] = value;\n\n if (Array.isArray(includes)) {\n includes.forEach(function (domain) {\n window[\"ga-disable-\".concat(domain.id)] = value;\n });\n }\n});\n\nvar optIn = (function () {\n disable(false);\n});\n\nvar optOut = (function () {\n disable(true);\n});\n\nvar api = {\n query: query,\n config: config,\n event: event,\n pageview: pageview,\n screenview: screenview,\n customMap: customMap,\n time: time,\n exception: exception,\n linker: linker,\n purchase: purchase,\n refund: refund,\n set: set,\n optIn: optIn,\n optOut: optOut\n};\n\nvar extend = (function () {\n var Vue = getVue();\n Vue.$gtag = Vue.prototype.$gtag = api;\n});\n\nvar getPageviewTemplate = function getPageviewTemplate() {\n var to = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var _getOptions = getOptions(),\n pageTrackerTemplate = _getOptions.pageTrackerTemplate,\n pageTrackerScreenviewEnabled = _getOptions.pageTrackerScreenviewEnabled,\n appName = _getOptions.appName;\n\n var template;\n var customTemplate = pageTrackerTemplate(to, from);\n\n if (customTemplate) {\n template = customTemplate;\n } else if (pageTrackerScreenviewEnabled) {\n template = {\n app_name: appName,\n screen_name: to.name\n };\n } else {\n template = {\n page_title: to.name,\n page_path: to.path,\n page_location: window.location.href\n };\n }\n\n return template;\n};\nvar trackPage = function trackPage() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$to = _ref.to,\n to = _ref$to === void 0 ? {} : _ref$to,\n _ref$from = _ref.from,\n from = _ref$from === void 0 ? {} : _ref$from,\n _ref$params = _ref.params,\n params = _ref$params === void 0 ? {} : _ref$params;\n\n var _getOptions2 = getOptions(),\n pageTrackerSkipSamePath = _getOptions2.pageTrackerSkipSamePath,\n pageTrackerScreenviewEnabled = _getOptions2.pageTrackerScreenviewEnabled;\n\n if (pageTrackerSkipSamePath && to.path === from.path) {\n return;\n }\n\n var newParams = _objectSpread2(_objectSpread2({}, getPageviewTemplate(to, from)), params);\n\n if (pageTrackerScreenviewEnabled && !newParams.app_name) {\n warn(\"To use the screenview, add the appName to the plugin options\");\n return;\n }\n\n if (pageTrackerScreenviewEnabled && !newParams.screen_name) {\n warn(\"To use the screenview, name your routes\");\n return;\n }\n\n if (pageTrackerScreenviewEnabled) {\n screenview(newParams);\n return;\n }\n\n pageview(newParams);\n};\nvar startRouter = function startRouter(Router) {\n var Vue = getVue();\n\n var _getOptions3 = getOptions(),\n onBeforeTrack = _getOptions3.onBeforeTrack,\n onAfterTrack = _getOptions3.onAfterTrack,\n config = _getOptions3.config;\n /* istanbul ignore next */\n\n\n Router.onReady(function (current) {\n Vue.nextTick().then(function () {\n api.config(config.params);\n trackPage({\n to: current\n });\n });\n Router.afterEach(function (to, from) {\n Vue.nextTick().then(function () {\n onBeforeTrack(to, from);\n trackPage({\n to: to,\n from: from\n });\n onAfterTrack(to, from);\n });\n });\n });\n};\nvar autotrack = function autotrack() {\n var Router = getRouter();\n\n if (!Router) {\n return;\n }\n\n startRouter(Router);\n};\n\nfunction _bootstrap () {\n if (typeof document === \"undefined\" || typeof window === \"undefined\") {\n return;\n }\n\n var _getOptions = getOptions(),\n customResourceURL = _getOptions.customResourceURL,\n customPreconnectOrigin = _getOptions.customPreconnectOrigin,\n enabled = _getOptions.enabled,\n globalObjectName = _getOptions.globalObjectName,\n globalDataLayerName = _getOptions.globalDataLayerName,\n config = _getOptions.config,\n pageTrackerEnabled = _getOptions.pageTrackerEnabled,\n onReady = _getOptions.onReady,\n disableScriptLoad = _getOptions.disableScriptLoad;\n\n var Router = getRouter();\n var isPageTrackerEnabled = Boolean(pageTrackerEnabled && Router);\n\n if (!enabled) {\n optOut();\n }\n\n if (window[globalObjectName] == null) {\n window[globalDataLayerName] = window[globalDataLayerName] || [];\n\n window[globalObjectName] = function () {\n window[globalDataLayerName].push(arguments);\n };\n }\n\n window[globalObjectName](\"js\", new Date());\n\n if (isPageTrackerEnabled) {\n autotrack();\n } else {\n api.config(config.params);\n }\n\n if (disableScriptLoad) {\n return;\n }\n\n var resource = \"\".concat(customResourceURL, \"?id=\").concat(config.id, \"&l=\").concat(globalDataLayerName);\n return loadScript(resource, customPreconnectOrigin).then(function () {\n var library = window[globalObjectName];\n\n if (isFn(onReady)) {\n onReady(library);\n }\n\n return library;\n }).catch(function (error) {\n warn(\"Ops! Something happened and gtag.js couldn't be loaded\", error);\n return error;\n });\n}\n\nvar Vue;\nvar Router;\nvar options = {\n customResourceURL: \"https://www.googletagmanager.com/gtag/js\",\n customPreconnectOrigin: \"https://www.googletagmanager.com\",\n pageTrackerTemplate: noop,\n onBeforeTrack: noop,\n onAfterTrack: noop,\n onReady: noop,\n enabled: true,\n disableScriptLoad: false,\n bootstrap: true,\n globalObjectName: \"gtag\",\n globalDataLayerName: \"dataLayer\",\n pageTrackerEnabled: true,\n pageTrackerScreenviewEnabled: false,\n pageTrackerSkipSamePath: true,\n defaultGroupName: \"default\",\n includes: null,\n appName: null,\n config: {\n id: null,\n params: {\n send_page_view: false\n }\n }\n};\nvar getOptions = function getOptions() {\n return options;\n};\nvar setOptions = function setOptions(_options) {\n return mergeDeep(options, _options);\n};\nvar getVue = function getVue() {\n return Vue;\n};\nvar getRouter = function getRouter() {\n return Router;\n};\nfunction install(_Vue) {\n var _options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var _Router = arguments.length > 2 ? arguments[2] : undefined;\n\n Vue = _Vue;\n Router = _Router;\n setOptions(_options);\n extend();\n\n if (!options.bootstrap) {\n return;\n }\n\n _bootstrap();\n}\n\nvar bootstrap = _bootstrap;\nvar setOptions$1 = setOptions; // export api for usages outside Vuejs context\n\nvar query$1 = api.query;\nvar config$1 = api.config;\nvar event$1 = api.event;\nvar pageview$1 = api.pageview;\nvar screenview$1 = api.screenview;\nvar customMap$1 = api.customMap;\nvar time$1 = api.time;\nvar exception$1 = api.exception;\nvar linker$1 = api.linker;\nvar purchase$1 = api.purchase;\nvar set$1 = api.set;\nvar optIn$1 = api.optIn;\nvar optOut$1 = api.optOut;\nvar refund$1 = api.refund;\n\nexport default install;\nexport { bootstrap, config$1 as config, customMap$1 as customMap, event$1 as event, exception$1 as exception, install, linker$1 as linker, optIn$1 as optIn, optOut$1 as optOut, pageview$1 as pageview, purchase$1 as purchase, query$1 as query, refund$1 as refund, screenview$1 as screenview, set$1 as set, setOptions$1 as setOptions, time$1 as time };\n","// Generated by CoffeeScript 1.12.7\n(function() {\n exports.defaults = {\n \"0.1\": {\n explicitCharkey: false,\n trim: true,\n normalize: true,\n normalizeTags: false,\n attrkey: \"@\",\n charkey: \"#\",\n explicitArray: false,\n ignoreAttrs: false,\n mergeAttrs: false,\n explicitRoot: false,\n validator: null,\n xmlns: false,\n explicitChildren: false,\n childkey: '@@',\n charsAsChildren: false,\n includeWhiteChars: false,\n async: false,\n strict: true,\n attrNameProcessors: null,\n attrValueProcessors: null,\n tagNameProcessors: null,\n valueProcessors: null,\n emptyTag: ''\n },\n \"0.2\": {\n explicitCharkey: false,\n trim: false,\n normalize: false,\n normalizeTags: false,\n attrkey: \"$\",\n charkey: \"_\",\n explicitArray: true,\n ignoreAttrs: false,\n mergeAttrs: false,\n explicitRoot: true,\n validator: null,\n xmlns: false,\n explicitChildren: false,\n preserveChildrenOrder: false,\n childkey: '$$',\n charsAsChildren: false,\n includeWhiteChars: false,\n async: false,\n strict: true,\n attrNameProcessors: null,\n attrValueProcessors: null,\n tagNameProcessors: null,\n valueProcessors: null,\n rootName: 'root',\n xmldec: {\n 'version': '1.0',\n 'encoding': 'UTF-8',\n 'standalone': true\n },\n doctype: null,\n renderOpts: {\n 'pretty': true,\n 'indent': ' ',\n 'newline': '\\n'\n },\n headless: false,\n chunkSize: 10000,\n emptyTag: '',\n cdata: false\n }\n };\n\n}).call(this);\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar fails = require('../internals/fails');\nvar getBuiltIn = require('../internals/get-built-in');\nvar speciesConstructor = require('../internals/species-constructor');\nvar promiseResolve = require('../internals/promise-resolve');\nvar redefine = require('../internals/redefine');\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromise && fails(function () {\n NativePromise.prototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.github.io/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n }\n});\n\n// patch native Promise.prototype for native async functions\nif (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {\n redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);\n}\n","/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n","import Vue from 'vue';\nimport { consoleError } from '../../util/console';\nimport { isCssColor } from '../../util/colorUtils';\nexport default Vue.extend({\n name: 'colorable',\n props: {\n color: String\n },\n methods: {\n setBackgroundColor(color, data = {}) {\n if (typeof data.style === 'string') {\n // istanbul ignore next\n consoleError('style must be an object', this); // istanbul ignore next\n\n return data;\n }\n\n if (typeof data.class === 'string') {\n // istanbul ignore next\n consoleError('class must be an object', this); // istanbul ignore next\n\n return data;\n }\n\n if (isCssColor(color)) {\n data.style = { ...data.style,\n 'background-color': `${color}`,\n 'border-color': `${color}`\n };\n } else if (color) {\n data.class = { ...data.class,\n [color]: true\n };\n }\n\n return data;\n },\n\n setTextColor(color, data = {}) {\n if (typeof data.style === 'string') {\n // istanbul ignore next\n consoleError('style must be an object', this); // istanbul ignore next\n\n return data;\n }\n\n if (typeof data.class === 'string') {\n // istanbul ignore next\n consoleError('class must be an object', this); // istanbul ignore next\n\n return data;\n }\n\n if (isCssColor(color)) {\n data.style = { ...data.style,\n color: `${color}`,\n 'caret-color': `${color}`\n };\n } else if (color) {\n const [colorName, colorModifier] = color.toString().trim().split(' ', 2);\n data.class = { ...data.class,\n [colorName + '--text']: true\n };\n\n if (colorModifier) {\n data.class['text--' + colorModifier] = true;\n }\n }\n\n return data;\n }\n\n }\n});\n//# sourceMappingURL=index.js.map","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof-raw');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.github.io/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n var first, third, radix, maxCode, digits, length, index, code;\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = it.charCodeAt(0);\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 of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = it.slice(2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = digits.charCodeAt(index);\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\n// `Number` constructor\n// https://tc39.github.io/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var dummy = this;\n return dummy instanceof NumberWrapper\n // check on 1..constructor(foo) case\n && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)\n ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 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(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global, NUMBER, NumberWrapper);\n}\n","exports.fetch = isFunction(global.fetch) && isFunction(global.ReadableStream)\n\nexports.writableStream = isFunction(global.WritableStream)\n\nexports.abortController = isFunction(global.AbortController)\n\nexports.blobConstructor = false\ntry {\n\tnew Blob([new ArrayBuffer(1)])\n\texports.blobConstructor = true\n} catch (e) {}\n\n// The xhr request to example.com may violate some restrictive CSP configurations,\n// so if we're running in a browser that supports `fetch`, avoid calling getXHR()\n// and assume support for certain features below.\nvar xhr\nfunction getXHR () {\n\t// Cache the xhr value\n\tif (xhr !== undefined) return xhr\n\n\tif (global.XMLHttpRequest) {\n\t\txhr = new global.XMLHttpRequest()\n\t\t// If XDomainRequest is available (ie only, where xhr might not work\n\t\t// cross domain), use the page location. Otherwise use example.com\n\t\t// Note: this doesn't actually make an http request.\n\t\ttry {\n\t\t\txhr.open('GET', global.XDomainRequest ? '/' : 'https://example.com')\n\t\t} catch(e) {\n\t\t\txhr = null\n\t\t}\n\t} else {\n\t\t// Service workers don't have XHR\n\t\txhr = null\n\t}\n\treturn xhr\n}\n\nfunction checkTypeSupport (type) {\n\tvar xhr = getXHR()\n\tif (!xhr) return false\n\ttry {\n\t\txhr.responseType = type\n\t\treturn xhr.responseType === type\n\t} catch (e) {}\n\treturn false\n}\n\n// For some strange reason, Safari 7.0 reports typeof global.ArrayBuffer === 'object'.\n// Safari 7.1 appears to have fixed this bug.\nvar haveArrayBuffer = typeof global.ArrayBuffer !== 'undefined'\nvar haveSlice = haveArrayBuffer && isFunction(global.ArrayBuffer.prototype.slice)\n\n// If fetch is supported, then arraybuffer will be supported too. Skip calling\n// checkTypeSupport(), since that calls getXHR().\nexports.arraybuffer = exports.fetch || (haveArrayBuffer && checkTypeSupport('arraybuffer'))\n\n// These next two tests unavoidably show warnings in Chrome. Since fetch will always\n// be used if it's available, just return false for these to avoid the warnings.\nexports.msstream = !exports.fetch && haveSlice && checkTypeSupport('ms-stream')\nexports.mozchunkedarraybuffer = !exports.fetch && haveArrayBuffer &&\n\tcheckTypeSupport('moz-chunked-arraybuffer')\n\n// If fetch is supported, then overrideMimeType will be supported too. Skip calling\n// getXHR().\nexports.overrideMimeType = exports.fetch || (getXHR() ? isFunction(getXHR().overrideMimeType) : false)\n\nexports.vbArray = isFunction(global.VBArray)\n\nfunction isFunction (value) {\n\treturn typeof value === 'function'\n}\n\nxhr = null // Help gc\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/*<replacement>*/\n\nvar Buffer = require('safe-buffer').Buffer;\n/*</replacement>*/\n\nvar isEncoding = Buffer.isEncoding || function (encoding) {\n encoding = '' + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':\n return true;\n default:\n return false;\n }\n};\n\nfunction _normalizeEncoding(enc) {\n if (!enc) return 'utf8';\n var retried;\n while (true) {\n switch (enc) {\n case 'utf8':\n case 'utf-8':\n return 'utf8';\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return 'utf16le';\n case 'latin1':\n case 'binary':\n return 'latin1';\n case 'base64':\n case 'ascii':\n case 'hex':\n return enc;\n default:\n if (retried) return; // undefined\n enc = ('' + enc).toLowerCase();\n retried = true;\n }\n }\n};\n\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\nfunction normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n return nenc || enc;\n}\n\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\nexports.StringDecoder = StringDecoder;\nfunction StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case 'utf16le':\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case 'utf8':\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case 'base64':\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer.allocUnsafe(nb);\n}\n\nStringDecoder.prototype.write = function (buf) {\n if (buf.length === 0) return '';\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf);\n if (r === undefined) return '';\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n return r || '';\n};\n\nStringDecoder.prototype.end = utf8End;\n\n// Returns only complete characters in a Buffer\nStringDecoder.prototype.text = utf8Text;\n\n// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\nStringDecoder.prototype.fillLast = function (buf) {\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n this.lastNeed -= buf.length;\n};\n\n// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n// continuation byte. If an invalid byte is detected, -2 is returned.\nfunction utf8CheckByte(byte) {\n if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;\n return byte >> 6 === 0x02 ? -1 : -2;\n}\n\n// Checks at most 3 bytes at the end of a Buffer in order to detect an\n// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n// needed to complete the UTF-8 character (if applicable) are returned.\nfunction utf8CheckIncomplete(self, buf, i) {\n var j = buf.length - 1;\n if (j < i) return 0;\n var nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2) nb = 0;else self.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n}\n\n// Validates as many continuation bytes for a multi-byte UTF-8 character as\n// needed or are available. If we see a non-continuation byte where we expect\n// one, we \"replace\" the validated continuation bytes we've seen so far with\n// a single UTF-8 replacement character ('\\ufffd'), to match v8's UTF-8 decoding\n// behavior. The continuation byte check is included three times in the case\n// where all of the continuation bytes for a character exist in the same buffer.\n// It is also done this way as a slight performance increase instead of using a\n// loop.\nfunction utf8CheckExtraBytes(self, buf, p) {\n if ((buf[0] & 0xC0) !== 0x80) {\n self.lastNeed = 0;\n return '\\ufffd';\n }\n if (self.lastNeed > 1 && buf.length > 1) {\n if ((buf[1] & 0xC0) !== 0x80) {\n self.lastNeed = 1;\n return '\\ufffd';\n }\n if (self.lastNeed > 2 && buf.length > 2) {\n if ((buf[2] & 0xC0) !== 0x80) {\n self.lastNeed = 2;\n return '\\ufffd';\n }\n }\n }\n}\n\n// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\nfunction utf8FillLast(buf) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf, p);\n if (r !== undefined) return r;\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, p, 0, buf.length);\n this.lastNeed -= buf.length;\n}\n\n// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n// partial character, the character's bytes are buffered until the required\n// number of bytes are available.\nfunction utf8Text(buf, i) {\n var total = utf8CheckIncomplete(this, buf, i);\n if (!this.lastNeed) return buf.toString('utf8', i);\n this.lastTotal = total;\n var end = buf.length - (total - this.lastNeed);\n buf.copy(this.lastChar, 0, end);\n return buf.toString('utf8', i, end);\n}\n\n// For UTF-8, a replacement character is added when ending on a partial\n// character.\nfunction utf8End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + '\\ufffd';\n return r;\n}\n\n// UTF-16LE typically needs two bytes per character, but even if we have an even\n// number of bytes available, we need to check if we end on a leading/high\n// surrogate. In that case, we need to wait for the next two bytes in order to\n// decode the last character properly.\nfunction utf16Text(buf, i) {\n if ((buf.length - i) % 2 === 0) {\n var r = buf.toString('utf16le', i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 0xD800 && c <= 0xDBFF) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf[buf.length - 1];\n return buf.toString('utf16le', i, buf.length - 1);\n}\n\n// For UTF-16LE we do not explicitly append special replacement characters if we\n// end on a partial character, we simply let v8 handle that.\nfunction utf16End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString('utf16le', 0, end);\n }\n return r;\n}\n\nfunction base64Text(buf, i) {\n var n = (buf.length - i) % 3;\n if (n === 0) return buf.toString('base64', i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf[buf.length - 1];\n } else {\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n }\n return buf.toString('base64', i, buf.length - n);\n}\n\nfunction base64End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);\n return r;\n}\n\n// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\nfunction simpleWrite(buf) {\n return buf.toString(this.encoding);\n}\n\nfunction simpleEnd(buf) {\n return buf && buf.length ? this.write(buf) : '';\n}","// Generated by CoffeeScript 1.12.7\n(function() {\n \"use strict\";\n var bom, defaults, events, isEmpty, processItem, processors, sax, setImmediate,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n sax = require('sax');\n\n events = require('events');\n\n bom = require('./bom');\n\n processors = require('./processors');\n\n setImmediate = require('timers').setImmediate;\n\n defaults = require('./defaults').defaults;\n\n isEmpty = function(thing) {\n return typeof thing === \"object\" && (thing != null) && Object.keys(thing).length === 0;\n };\n\n processItem = function(processors, item, key) {\n var i, len, process;\n for (i = 0, len = processors.length; i < len; i++) {\n process = processors[i];\n item = process(item, key);\n }\n return item;\n };\n\n exports.Parser = (function(superClass) {\n extend(Parser, superClass);\n\n function Parser(opts) {\n this.parseStringPromise = bind(this.parseStringPromise, this);\n this.parseString = bind(this.parseString, this);\n this.reset = bind(this.reset, this);\n this.assignOrPush = bind(this.assignOrPush, this);\n this.processAsync = bind(this.processAsync, this);\n var key, ref, value;\n if (!(this instanceof exports.Parser)) {\n return new exports.Parser(opts);\n }\n this.options = {};\n ref = defaults[\"0.2\"];\n for (key in ref) {\n if (!hasProp.call(ref, key)) continue;\n value = ref[key];\n this.options[key] = value;\n }\n for (key in opts) {\n if (!hasProp.call(opts, key)) continue;\n value = opts[key];\n this.options[key] = value;\n }\n if (this.options.xmlns) {\n this.options.xmlnskey = this.options.attrkey + \"ns\";\n }\n if (this.options.normalizeTags) {\n if (!this.options.tagNameProcessors) {\n this.options.tagNameProcessors = [];\n }\n this.options.tagNameProcessors.unshift(processors.normalize);\n }\n this.reset();\n }\n\n Parser.prototype.processAsync = function() {\n var chunk, err;\n try {\n if (this.remaining.length <= this.options.chunkSize) {\n chunk = this.remaining;\n this.remaining = '';\n this.saxParser = this.saxParser.write(chunk);\n return this.saxParser.close();\n } else {\n chunk = this.remaining.substr(0, this.options.chunkSize);\n this.remaining = this.remaining.substr(this.options.chunkSize, this.remaining.length);\n this.saxParser = this.saxParser.write(chunk);\n return setImmediate(this.processAsync);\n }\n } catch (error1) {\n err = error1;\n if (!this.saxParser.errThrown) {\n this.saxParser.errThrown = true;\n return this.emit(err);\n }\n }\n };\n\n Parser.prototype.assignOrPush = function(obj, key, newValue) {\n if (!(key in obj)) {\n if (!this.options.explicitArray) {\n return obj[key] = newValue;\n } else {\n return obj[key] = [newValue];\n }\n } else {\n if (!(obj[key] instanceof Array)) {\n obj[key] = [obj[key]];\n }\n return obj[key].push(newValue);\n }\n };\n\n Parser.prototype.reset = function() {\n var attrkey, charkey, ontext, stack;\n this.removeAllListeners();\n this.saxParser = sax.parser(this.options.strict, {\n trim: false,\n normalize: false,\n xmlns: this.options.xmlns\n });\n this.saxParser.errThrown = false;\n this.saxParser.onerror = (function(_this) {\n return function(error) {\n _this.saxParser.resume();\n if (!_this.saxParser.errThrown) {\n _this.saxParser.errThrown = true;\n return _this.emit(\"error\", error);\n }\n };\n })(this);\n this.saxParser.onend = (function(_this) {\n return function() {\n if (!_this.saxParser.ended) {\n _this.saxParser.ended = true;\n return _this.emit(\"end\", _this.resultObject);\n }\n };\n })(this);\n this.saxParser.ended = false;\n this.EXPLICIT_CHARKEY = this.options.explicitCharkey;\n this.resultObject = null;\n stack = [];\n attrkey = this.options.attrkey;\n charkey = this.options.charkey;\n this.saxParser.onopentag = (function(_this) {\n return function(node) {\n var key, newValue, obj, processedKey, ref;\n obj = {};\n obj[charkey] = \"\";\n if (!_this.options.ignoreAttrs) {\n ref = node.attributes;\n for (key in ref) {\n if (!hasProp.call(ref, key)) continue;\n if (!(attrkey in obj) && !_this.options.mergeAttrs) {\n obj[attrkey] = {};\n }\n newValue = _this.options.attrValueProcessors ? processItem(_this.options.attrValueProcessors, node.attributes[key], key) : node.attributes[key];\n processedKey = _this.options.attrNameProcessors ? processItem(_this.options.attrNameProcessors, key) : key;\n if (_this.options.mergeAttrs) {\n _this.assignOrPush(obj, processedKey, newValue);\n } else {\n obj[attrkey][processedKey] = newValue;\n }\n }\n }\n obj[\"#name\"] = _this.options.tagNameProcessors ? processItem(_this.options.tagNameProcessors, node.name) : node.name;\n if (_this.options.xmlns) {\n obj[_this.options.xmlnskey] = {\n uri: node.uri,\n local: node.local\n };\n }\n return stack.push(obj);\n };\n })(this);\n this.saxParser.onclosetag = (function(_this) {\n return function() {\n var cdata, emptyStr, key, node, nodeName, obj, objClone, old, s, xpath;\n obj = stack.pop();\n nodeName = obj[\"#name\"];\n if (!_this.options.explicitChildren || !_this.options.preserveChildrenOrder) {\n delete obj[\"#name\"];\n }\n if (obj.cdata === true) {\n cdata = obj.cdata;\n delete obj.cdata;\n }\n s = stack[stack.length - 1];\n if (obj[charkey].match(/^\\s*$/) && !cdata) {\n emptyStr = obj[charkey];\n delete obj[charkey];\n } else {\n if (_this.options.trim) {\n obj[charkey] = obj[charkey].trim();\n }\n if (_this.options.normalize) {\n obj[charkey] = obj[charkey].replace(/\\s{2,}/g, \" \").trim();\n }\n obj[charkey] = _this.options.valueProcessors ? processItem(_this.options.valueProcessors, obj[charkey], nodeName) : obj[charkey];\n if (Object.keys(obj).length === 1 && charkey in obj && !_this.EXPLICIT_CHARKEY) {\n obj = obj[charkey];\n }\n }\n if (isEmpty(obj)) {\n obj = _this.options.emptyTag !== '' ? _this.options.emptyTag : emptyStr;\n }\n if (_this.options.validator != null) {\n xpath = \"/\" + ((function() {\n var i, len, results;\n results = [];\n for (i = 0, len = stack.length; i < len; i++) {\n node = stack[i];\n results.push(node[\"#name\"]);\n }\n return results;\n })()).concat(nodeName).join(\"/\");\n (function() {\n var err;\n try {\n return obj = _this.options.validator(xpath, s && s[nodeName], obj);\n } catch (error1) {\n err = error1;\n return _this.emit(\"error\", err);\n }\n })();\n }\n if (_this.options.explicitChildren && !_this.options.mergeAttrs && typeof obj === 'object') {\n if (!_this.options.preserveChildrenOrder) {\n node = {};\n if (_this.options.attrkey in obj) {\n node[_this.options.attrkey] = obj[_this.options.attrkey];\n delete obj[_this.options.attrkey];\n }\n if (!_this.options.charsAsChildren && _this.options.charkey in obj) {\n node[_this.options.charkey] = obj[_this.options.charkey];\n delete obj[_this.options.charkey];\n }\n if (Object.getOwnPropertyNames(obj).length > 0) {\n node[_this.options.childkey] = obj;\n }\n obj = node;\n } else if (s) {\n s[_this.options.childkey] = s[_this.options.childkey] || [];\n objClone = {};\n for (key in obj) {\n if (!hasProp.call(obj, key)) continue;\n objClone[key] = obj[key];\n }\n s[_this.options.childkey].push(objClone);\n delete obj[\"#name\"];\n if (Object.keys(obj).length === 1 && charkey in obj && !_this.EXPLICIT_CHARKEY) {\n obj = obj[charkey];\n }\n }\n }\n if (stack.length > 0) {\n return _this.assignOrPush(s, nodeName, obj);\n } else {\n if (_this.options.explicitRoot) {\n old = obj;\n obj = {};\n obj[nodeName] = old;\n }\n _this.resultObject = obj;\n _this.saxParser.ended = true;\n return _this.emit(\"end\", _this.resultObject);\n }\n };\n })(this);\n ontext = (function(_this) {\n return function(text) {\n var charChild, s;\n s = stack[stack.length - 1];\n if (s) {\n s[charkey] += text;\n if (_this.options.explicitChildren && _this.options.preserveChildrenOrder && _this.options.charsAsChildren && (_this.options.includeWhiteChars || text.replace(/\\\\n/g, '').trim() !== '')) {\n s[_this.options.childkey] = s[_this.options.childkey] || [];\n charChild = {\n '#name': '__text__'\n };\n charChild[charkey] = text;\n if (_this.options.normalize) {\n charChild[charkey] = charChild[charkey].replace(/\\s{2,}/g, \" \").trim();\n }\n s[_this.options.childkey].push(charChild);\n }\n return s;\n }\n };\n })(this);\n this.saxParser.ontext = ontext;\n return this.saxParser.oncdata = (function(_this) {\n return function(text) {\n var s;\n s = ontext(text);\n if (s) {\n return s.cdata = true;\n }\n };\n })(this);\n };\n\n Parser.prototype.parseString = function(str, cb) {\n var err;\n if ((cb != null) && typeof cb === \"function\") {\n this.on(\"end\", function(result) {\n this.reset();\n return cb(null, result);\n });\n this.on(\"error\", function(err) {\n this.reset();\n return cb(err);\n });\n }\n try {\n str = str.toString();\n if (str.trim() === '') {\n this.emit(\"end\", null);\n return true;\n }\n str = bom.stripBOM(str);\n if (this.options.async) {\n this.remaining = str;\n setImmediate(this.processAsync);\n return this.saxParser;\n }\n return this.saxParser.write(str).close();\n } catch (error1) {\n err = error1;\n if (!(this.saxParser.errThrown || this.saxParser.ended)) {\n this.emit('error', err);\n return this.saxParser.errThrown = true;\n } else if (this.saxParser.ended) {\n throw err;\n }\n }\n };\n\n Parser.prototype.parseStringPromise = function(str) {\n return new Promise((function(_this) {\n return function(resolve, reject) {\n return _this.parseString(str, function(err, value) {\n if (err) {\n return reject(err);\n } else {\n return resolve(value);\n }\n });\n };\n })(this));\n };\n\n return Parser;\n\n })(events);\n\n exports.parseString = function(str, a, b) {\n var cb, options, parser;\n if (b != null) {\n if (typeof b === 'function') {\n cb = b;\n }\n if (typeof a === 'object') {\n options = a;\n }\n } else {\n if (typeof a === 'function') {\n cb = a;\n }\n options = {};\n }\n parser = new exports.Parser(options);\n return parser.parseString(str, cb);\n };\n\n exports.parseStringPromise = function(str, a) {\n var options, parser;\n if (typeof a === 'object') {\n options = a;\n }\n parser = new exports.Parser(options);\n return parser.parseStringPromise(str);\n };\n\n}).call(this);\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (e) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (f) { /* empty */ }\n } return false;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags\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.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/*<replacement>*/\n\nvar pna = require('process-nextick-args');\n/*</replacement>*/\n\nmodule.exports = Readable;\n\n/*<replacement>*/\nvar isArray = require('isarray');\n/*</replacement>*/\n\n/*<replacement>*/\nvar Duplex;\n/*</replacement>*/\n\nReadable.ReadableState = ReadableState;\n\n/*<replacement>*/\nvar EE = require('events').EventEmitter;\n\nvar EElistenerCount = function (emitter, type) {\n return emitter.listeners(type).length;\n};\n/*</replacement>*/\n\n/*<replacement>*/\nvar Stream = require('./internal/streams/stream');\n/*</replacement>*/\n\n/*<replacement>*/\n\nvar Buffer = require('safe-buffer').Buffer;\nvar OurUint8Array = global.Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/*</replacement>*/\n\n/*<replacement>*/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/*</replacement>*/\n\n/*<replacement>*/\nvar debugUtil = require('util');\nvar debug = void 0;\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function () {};\n}\n/*</replacement>*/\n\nvar BufferList = require('./internal/streams/BufferList');\nvar destroyImpl = require('./internal/streams/destroy');\nvar StringDecoder;\n\nutil.inherits(Readable, Stream);\n\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\n\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);\n\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\n\nfunction ReadableState(options, stream) {\n Duplex = Duplex || require('./_stream_duplex');\n\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n var isDuplex = stream instanceof Duplex;\n\n // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n this.objectMode = !!options.objectMode;\n\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n\n // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n var hwm = options.highWaterMark;\n var readableHwm = options.readableHighWaterMark;\n var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n\n if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (readableHwm || readableHwm === 0)) this.highWaterMark = readableHwm;else this.highWaterMark = defaultHwm;\n\n // cast to ints.\n this.highWaterMark = Math.floor(this.highWaterMark);\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n\n // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n this.sync = true;\n\n // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // the number of writers that are awaiting a drain event in .pipe()s\n this.awaitDrain = 0;\n\n // if true, a maybeReadMore has been scheduled\n this.readingMore = false;\n\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n if (!(this instanceof Readable)) return new Readable(options);\n\n this._readableState = new ReadableState(options, this);\n\n // legacy\n this.readable = true;\n\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n\n Stream.call(this);\n}\n\nObject.defineProperty(Readable.prototype, 'destroyed', {\n get: function () {\n if (this._readableState === undefined) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n }\n});\n\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\nReadable.prototype._destroy = function (err, cb) {\n this.push(null);\n cb(err);\n};\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\n\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n if (er) {\n stream.emit('error', er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (addToFront) {\n if (state.endEmitted) stream.emit('error', new Error('stream.unshift() after end event'));else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n stream.emit('error', new Error('stream.push() after EOF'));\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n }\n }\n\n return needMoreData(state);\n}\n\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n stream.emit('data', chunk);\n stream.read(0);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n\n if (state.needReadable) emitReadable(stream);\n }\n maybeReadMore(stream, state);\n}\n\nfunction chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new TypeError('Invalid non-string/buffer chunk');\n }\n return er;\n}\n\n// if it's past the high water mark, we can push in some more.\n// Also, if we have no data yet, we can stand some\n// more bytes. This is to work around cases where hwm=0,\n// such as the repl. Also, if the push() triggered a\n// readable event, and the user called read(largeNumber) such that\n// needReadable was set, then we ought to push more, so that another\n// 'readable' event will be triggered.\nfunction needMoreData(state) {\n return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0);\n}\n\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n};\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this._readableState.decoder = new StringDecoder(enc);\n this._readableState.encoding = enc;\n return this;\n};\n\n// Don't raise the hwm > 8MB\nvar MAX_HWM = 0x800000;\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n }\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n;\n // Don't have enough\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n}\n\n// you can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n\n if (n !== 0) state.emittedReadable = false;\n\n // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n\n n = howMuchToRead(n, state);\n\n // if we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n var doRead = state.needReadable;\n debug('need readable', doRead);\n\n // if we currently have less than the highWaterMark, then also read some\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n }\n\n // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true;\n // if the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.needReadable = true;\n // call internal read method\n this._read(state.highWaterMark);\n state.sync = false;\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n\n if (ret === null) {\n state.needReadable = true;\n n = 0;\n } else {\n state.length -= n;\n }\n\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true;\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) endReadable(this);\n }\n\n if (ret !== null) this.emit('data', ret);\n\n return ret;\n};\n\nfunction onEofChunk(stream, state) {\n if (state.ended) return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n\n // emit 'readable' now to make sure it gets picked up.\n emitReadable(stream);\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n var state = stream._readableState;\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n if (state.sync) pna.nextTick(emitReadable_, stream);else emitReadable_(stream);\n }\n}\n\nfunction emitReadable_(stream) {\n debug('emit readable');\n stream.emit('readable');\n flow(stream);\n}\n\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n pna.nextTick(maybeReadMore_, stream, state);\n }\n}\n\nfunction maybeReadMore_(stream, state) {\n var len = state.length;\n while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) {\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length)\n // didn't get any data, stop spinning.\n break;else len = state.length;\n }\n state.readingMore = false;\n}\n\n// abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n this.emit('error', new Error('_read() is not implemented'));\n};\n\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) pna.nextTick(endFn);else src.once('end', endFn);\n\n dest.on('unpipe', onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n\n function onend() {\n debug('onend');\n dest.end();\n }\n\n // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n\n var cleanedUp = false;\n function cleanup() {\n debug('cleanup');\n // cleanup event handlers once the pipe is broken\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n\n cleanedUp = true;\n\n // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n\n // If the user pushes more data while we're writing to dest then we'll end up\n // in ondata again. However, we only want to increase awaitDrain once because\n // dest will only emit one 'drain' event for the multiple writes.\n // => Introduce a guard on increasing awaitDrain.\n var increasedAwaitDrain = false;\n src.on('data', ondata);\n function ondata(chunk) {\n debug('ondata');\n increasedAwaitDrain = false;\n var ret = dest.write(chunk);\n if (false === ret && !increasedAwaitDrain) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', src._readableState.awaitDrain);\n src._readableState.awaitDrain++;\n increasedAwaitDrain = true;\n }\n src.pause();\n }\n }\n\n // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) dest.emit('error', er);\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror);\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n dest.once('close', onclose);\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n dest.once('finish', onfinish);\n\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n }\n\n // tell the dest that it's being piped to\n dest.emit('pipe', src);\n\n // start the flow if it hasn't been started already.\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n\n return dest;\n};\n\nfunction pipeOnDrain(src) {\n return function () {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\n\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = { hasUnpiped: false };\n\n // if we're not piping anywhere, then do nothing.\n if (state.pipesCount === 0) return this;\n\n // just one destination. most common case.\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n\n if (!dest) dest = state.pipes;\n\n // got a match.\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n }\n\n // slow case. multiple pipe destinations.\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n\n for (var i = 0; i < len; i++) {\n dests[i].emit('unpipe', this, unpipeInfo);\n }return this;\n }\n\n // try to find the right one.\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n\n dest.emit('unpipe', this, unpipeInfo);\n\n return this;\n};\n\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n\n if (ev === 'data') {\n // Start flowing on next tick if stream isn't explicitly paused\n if (this._readableState.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n var state = this._readableState;\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.emittedReadable = false;\n if (!state.reading) {\n pna.nextTick(nReadingNextTick, this);\n } else if (state.length) {\n emitReadable(this);\n }\n }\n }\n\n return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\n\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n var state = this._readableState;\n if (!state.flowing) {\n debug('resume');\n state.flowing = true;\n resume(this, state);\n }\n return this;\n};\n\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n pna.nextTick(resume_, stream, state);\n }\n}\n\nfunction resume_(stream, state) {\n if (!state.reading) {\n debug('resume read 0');\n stream.read(0);\n }\n\n state.resumeScheduled = false;\n state.awaitDrain = 0;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\n\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n if (false !== this._readableState.flowing) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n return this;\n};\n\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n while (state.flowing && stream.read() !== null) {}\n}\n\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n\n var state = this._readableState;\n var paused = false;\n\n stream.on('end', function () {\n debug('wrapped end');\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n\n _this.push(null);\n });\n\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk);\n\n // don't skip over falsy values in objectMode\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n\n // proxy all the other methods.\n // important when wrapping filters and duplexes.\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function (method) {\n return function () {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n\n // proxy certain important events.\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n\n // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n this._read = function (n) {\n debug('wrapped _read', n);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n\n return this;\n};\n\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._readableState.highWaterMark;\n }\n});\n\n// exposed for testing purposes only.\nReadable._fromList = fromList;\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.head.data;else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = fromListPartial(n, state.buffer, state.decoder);\n }\n\n return ret;\n}\n\n// Extracts only enough buffered data to satisfy the amount requested.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromListPartial(n, list, hasStrings) {\n var ret;\n if (n < list.head.data.length) {\n // slice is the same for buffers and strings\n ret = list.head.data.slice(0, n);\n list.head.data = list.head.data.slice(n);\n } else if (n === list.head.data.length) {\n // first chunk is a perfect match\n ret = list.shift();\n } else {\n // result spans more than one buffer\n ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list);\n }\n return ret;\n}\n\n// Copies a specified amount of characters from the list of buffered data\n// chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBufferString(n, list) {\n var p = list.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) list.head = p.next;else list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\n// Copies a specified amount of bytes from the list of buffered data chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBuffer(n, list) {\n var ret = Buffer.allocUnsafe(n);\n var p = list.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) list.head = p.next;else list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\nfunction endReadable(stream) {\n var state = stream._readableState;\n\n // If we get here before consuming all the bytes, then that is a\n // bug in node. Should never happen.\n if (state.length > 0) throw new Error('\"endReadable()\" called on non-empty stream');\n\n if (!state.endEmitted) {\n state.ended = true;\n pna.nextTick(endReadableNT, state, stream);\n }\n}\n\nfunction endReadableNT(state, stream) {\n // Check that we didn't get one last unshift.\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n }\n}\n\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n return -1;\n}","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLDOMConfiguration, XMLDOMImplementation, XMLDocument, XMLNode, XMLStringWriter, XMLStringifier, isPlainObject,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n isPlainObject = require('./Utility').isPlainObject;\n\n XMLDOMImplementation = require('./XMLDOMImplementation');\n\n XMLDOMConfiguration = require('./XMLDOMConfiguration');\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n XMLStringifier = require('./XMLStringifier');\n\n XMLStringWriter = require('./XMLStringWriter');\n\n module.exports = XMLDocument = (function(superClass) {\n extend(XMLDocument, superClass);\n\n function XMLDocument(options) {\n XMLDocument.__super__.constructor.call(this, null);\n this.name = \"#document\";\n this.type = NodeType.Document;\n this.documentURI = null;\n this.domConfig = new XMLDOMConfiguration();\n options || (options = {});\n if (!options.writer) {\n options.writer = new XMLStringWriter();\n }\n this.options = options;\n this.stringify = new XMLStringifier(options);\n }\n\n Object.defineProperty(XMLDocument.prototype, 'implementation', {\n value: new XMLDOMImplementation()\n });\n\n Object.defineProperty(XMLDocument.prototype, 'doctype', {\n get: function() {\n var child, i, len, ref;\n ref = this.children;\n for (i = 0, len = ref.length; i < len; i++) {\n child = ref[i];\n if (child.type === NodeType.DocType) {\n return child;\n }\n }\n return null;\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'documentElement', {\n get: function() {\n return this.rootObject || null;\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'inputEncoding', {\n get: function() {\n return null;\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'strictErrorChecking', {\n get: function() {\n return false;\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'xmlEncoding', {\n get: function() {\n if (this.children.length !== 0 && this.children[0].type === NodeType.Declaration) {\n return this.children[0].encoding;\n } else {\n return null;\n }\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'xmlStandalone', {\n get: function() {\n if (this.children.length !== 0 && this.children[0].type === NodeType.Declaration) {\n return this.children[0].standalone === 'yes';\n } else {\n return false;\n }\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'xmlVersion', {\n get: function() {\n if (this.children.length !== 0 && this.children[0].type === NodeType.Declaration) {\n return this.children[0].version;\n } else {\n return \"1.0\";\n }\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'URL', {\n get: function() {\n return this.documentURI;\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'origin', {\n get: function() {\n return null;\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'compatMode', {\n get: function() {\n return null;\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'characterSet', {\n get: function() {\n return null;\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'contentType', {\n get: function() {\n return null;\n }\n });\n\n XMLDocument.prototype.end = function(writer) {\n var writerOptions;\n writerOptions = {};\n if (!writer) {\n writer = this.options.writer;\n } else if (isPlainObject(writer)) {\n writerOptions = writer;\n writer = this.options.writer;\n }\n return writer.document(this, writer.filterOptions(writerOptions));\n };\n\n XMLDocument.prototype.toString = function(options) {\n return this.options.writer.document(this, this.options.writer.filterOptions(options));\n };\n\n XMLDocument.prototype.createElement = function(tagName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createDocumentFragment = function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createTextNode = function(data) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createComment = function(data) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createCDATASection = function(data) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createProcessingInstruction = function(target, data) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createAttribute = function(name) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createEntityReference = function(name) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.getElementsByTagName = function(tagname) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.importNode = function(importedNode, deep) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createElementNS = function(namespaceURI, qualifiedName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createAttributeNS = function(namespaceURI, qualifiedName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.getElementsByTagNameNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.getElementById = function(elementId) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.adoptNode = function(source) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.normalizeDocument = function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.renameNode = function(node, namespaceURI, qualifiedName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.getElementsByClassName = function(classNames) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createEvent = function(eventInterface) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createRange = function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createNodeIterator = function(root, whatToShow, filter) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createTreeWalker = function(root, whatToShow, filter) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n return XMLDocument;\n\n })(XMLNode);\n\n}).call(this);\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\n\nvar defineProperty = Object.defineProperty;\nvar cache = {};\n\nvar thrower = function (it) { throw it; };\n\nmodule.exports = function (METHOD_NAME, options) {\n if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];\n if (!options) options = {};\n var method = [][METHOD_NAME];\n var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;\n var argument0 = has(options, 0) ? options[0] : thrower;\n var argument1 = has(options, 1) ? options[1] : undefined;\n\n return cache[METHOD_NAME] = !!method && !fails(function () {\n if (ACCESSORS && !DESCRIPTORS) return true;\n var O = { length: -1 };\n\n if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower });\n else O[1] = 1;\n\n method.call(O, argument0, argument1);\n });\n};\n","'use strict';\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nif (IteratorPrototype == undefined) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","var fails = require('../internals/fails');\n\n// check the existence of a method, lowercase\n// of a tag and escaping quotes in arguments\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n var test = ''[METHOD_NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n });\n};\n","import Vue from 'vue';\nexport default Vue.extend({\n name: 'sizeable',\n props: {\n large: Boolean,\n small: Boolean,\n xLarge: Boolean,\n xSmall: Boolean\n },\n computed: {\n medium() {\n return Boolean(!this.xSmall && !this.small && !this.large && !this.xLarge);\n },\n\n sizeableClasses() {\n return {\n 'v-size--x-small': this.xSmall,\n 'v-size--small': this.small,\n 'v-size--default': this.medium,\n 'v-size--large': this.large,\n 'v-size--x-large': this.xLarge\n };\n }\n\n }\n});\n//# sourceMappingURL=index.js.map","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","const fields = module.exports = {};\n\nfields.feed = [\n ['author', 'creator'],\n ['dc:publisher', 'publisher'],\n ['dc:creator', 'creator'],\n ['dc:source', 'source'],\n ['dc:title', 'title'],\n ['dc:type', 'type'],\n 'title',\n 'description',\n 'author',\n 'pubDate',\n 'webMaster',\n 'managingEditor',\n 'generator',\n 'link',\n 'language',\n 'copyright',\n 'lastBuildDate',\n 'docs',\n 'generator',\n 'ttl',\n 'rating',\n 'skipHours',\n 'skipDays',\n];\n\nfields.item = [\n ['author', 'creator'],\n ['dc:creator', 'creator'],\n ['dc:date', 'date'],\n ['dc:language', 'language'],\n ['dc:rights', 'rights'],\n ['dc:source', 'source'],\n ['dc:title', 'title'],\n 'title',\n 'link',\n 'pubDate',\n 'author',\n ['content:encoded', 'content:encoded', {includeSnippet: true}],\n 'enclosure',\n 'dc:creator',\n 'dc:date',\n 'comments',\n];\n\nvar mapItunesField = function(f) {\n return ['itunes:' + f, f];\n}\n\nfields.podcastFeed = ([\n 'author',\n 'subtitle',\n 'summary',\n 'explicit'\n]).map(mapItunesField);\n\nfields.podcastItem = ([\n 'author',\n 'subtitle',\n 'summary',\n 'explicit',\n 'duration',\n 'image',\n 'episode',\n 'image',\n 'season',\n 'keywords',\n]).map(mapItunesField);\n\n","'use strict';\n\nmodule.exports = require('./lib/parser');\n\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\n'use strict';\n\n/*<replacement>*/\n\nvar pna = require('process-nextick-args');\n/*</replacement>*/\n\n/*<replacement>*/\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) {\n keys.push(key);\n }return keys;\n};\n/*</replacement>*/\n\nmodule.exports = Duplex;\n\n/*<replacement>*/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/*</replacement>*/\n\nvar Readable = require('./_stream_readable');\nvar Writable = require('./_stream_writable');\n\nutil.inherits(Duplex, Readable);\n\n{\n // avoid scope creep, the keys array can then be collected\n var keys = objectKeys(Writable.prototype);\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\n\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n\n Readable.call(this, options);\n Writable.call(this, options);\n\n if (options && options.readable === false) this.readable = false;\n\n if (options && options.writable === false) this.writable = false;\n\n this.allowHalfOpen = true;\n if (options && options.allowHalfOpen === false) this.allowHalfOpen = false;\n\n this.once('end', onend);\n}\n\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._writableState.highWaterMark;\n }\n});\n\n// the no-half-open enforcer\nfunction onend() {\n // if we allow half-open state, or if the writable side ended,\n // then we're ok.\n if (this.allowHalfOpen || this._writableState.ended) return;\n\n // no more data can be written.\n // But allow more writes to happen in this tick.\n pna.nextTick(onEndNT, this);\n}\n\nfunction onEndNT(self) {\n self.end();\n}\n\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n get: function () {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});\n\nDuplex.prototype._destroy = function (err, cb) {\n this.push(null);\n this.end();\n\n pna.nextTick(cb, err);\n};","'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar classof = require('../internals/classof-raw');\nvar macrotask = require('../internals/task').set;\nvar IS_IOS = require('../internals/engine-is-ios');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar IS_NODE = classof(process) == 'process';\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n\nvar flush, head, last, notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head) notify();\n else last = undefined;\n throw error;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n } else if (MutationObserver && !IS_IOS) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\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 promise = Promise.resolve(undefined);\n then = promise.then;\n notify = function () {\n then.call(promise, 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\nmodule.exports = queueMicrotask || 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","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <http://feross.org>\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return '<Buffer ' + str + '>'\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLDTDNotation, XMLNode,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n module.exports = XMLDTDNotation = (function(superClass) {\n extend(XMLDTDNotation, superClass);\n\n function XMLDTDNotation(parent, name, value) {\n XMLDTDNotation.__super__.constructor.call(this, parent);\n if (name == null) {\n throw new Error(\"Missing DTD notation name. \" + this.debugInfo(name));\n }\n if (!value.pubID && !value.sysID) {\n throw new Error(\"Public or system identifiers are required for an external entity. \" + this.debugInfo(name));\n }\n this.name = this.stringify.name(name);\n this.type = NodeType.NotationDeclaration;\n if (value.pubID != null) {\n this.pubID = this.stringify.dtdPubID(value.pubID);\n }\n if (value.sysID != null) {\n this.sysID = this.stringify.dtdSysID(value.sysID);\n }\n }\n\n Object.defineProperty(XMLDTDNotation.prototype, 'publicId', {\n get: function() {\n return this.pubID;\n }\n });\n\n Object.defineProperty(XMLDTDNotation.prototype, 'systemId', {\n get: function() {\n return this.sysID;\n }\n });\n\n XMLDTDNotation.prototype.toString = function(options) {\n return this.options.writer.dtdNotation(this, this.options.writer.filterOptions(options));\n };\n\n return XMLDTDNotation;\n\n })(XMLNode);\n\n}).call(this);\n","\n/**\n * Module exports.\n */\n\nmodule.exports = deprecate;\n\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */\n\nfunction deprecate (fn, msg) {\n if (config('noDeprecation')) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config('throwDeprecation')) {\n throw new Error(msg);\n } else if (config('traceDeprecation')) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n}\n\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */\n\nfunction config (name) {\n // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n try {\n if (!global.localStorage) return false;\n } catch (_) {\n return false;\n }\n var val = global.localStorage[name];\n if (null == val) return false;\n return String(val).toLowerCase() === 'true';\n}\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLAttribute, XMLElement, XMLNamedNodeMap, XMLNode, getValue, isFunction, isObject, ref,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n ref = require('./Utility'), isObject = ref.isObject, isFunction = ref.isFunction, getValue = ref.getValue;\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n XMLAttribute = require('./XMLAttribute');\n\n XMLNamedNodeMap = require('./XMLNamedNodeMap');\n\n module.exports = XMLElement = (function(superClass) {\n extend(XMLElement, superClass);\n\n function XMLElement(parent, name, attributes) {\n var child, j, len, ref1;\n XMLElement.__super__.constructor.call(this, parent);\n if (name == null) {\n throw new Error(\"Missing element name. \" + this.debugInfo());\n }\n this.name = this.stringify.name(name);\n this.type = NodeType.Element;\n this.attribs = {};\n this.schemaTypeInfo = null;\n if (attributes != null) {\n this.attribute(attributes);\n }\n if (parent.type === NodeType.Document) {\n this.isRoot = true;\n this.documentObject = parent;\n parent.rootObject = this;\n if (parent.children) {\n ref1 = parent.children;\n for (j = 0, len = ref1.length; j < len; j++) {\n child = ref1[j];\n if (child.type === NodeType.DocType) {\n child.name = this.name;\n break;\n }\n }\n }\n }\n }\n\n Object.defineProperty(XMLElement.prototype, 'tagName', {\n get: function() {\n return this.name;\n }\n });\n\n Object.defineProperty(XMLElement.prototype, 'namespaceURI', {\n get: function() {\n return '';\n }\n });\n\n Object.defineProperty(XMLElement.prototype, 'prefix', {\n get: function() {\n return '';\n }\n });\n\n Object.defineProperty(XMLElement.prototype, 'localName', {\n get: function() {\n return this.name;\n }\n });\n\n Object.defineProperty(XMLElement.prototype, 'id', {\n get: function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n }\n });\n\n Object.defineProperty(XMLElement.prototype, 'className', {\n get: function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n }\n });\n\n Object.defineProperty(XMLElement.prototype, 'classList', {\n get: function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n }\n });\n\n Object.defineProperty(XMLElement.prototype, 'attributes', {\n get: function() {\n if (!this.attributeMap || !this.attributeMap.nodes) {\n this.attributeMap = new XMLNamedNodeMap(this.attribs);\n }\n return this.attributeMap;\n }\n });\n\n XMLElement.prototype.clone = function() {\n var att, attName, clonedSelf, ref1;\n clonedSelf = Object.create(this);\n if (clonedSelf.isRoot) {\n clonedSelf.documentObject = null;\n }\n clonedSelf.attribs = {};\n ref1 = this.attribs;\n for (attName in ref1) {\n if (!hasProp.call(ref1, attName)) continue;\n att = ref1[attName];\n clonedSelf.attribs[attName] = att.clone();\n }\n clonedSelf.children = [];\n this.children.forEach(function(child) {\n var clonedChild;\n clonedChild = child.clone();\n clonedChild.parent = clonedSelf;\n return clonedSelf.children.push(clonedChild);\n });\n return clonedSelf;\n };\n\n XMLElement.prototype.attribute = function(name, value) {\n var attName, attValue;\n if (name != null) {\n name = getValue(name);\n }\n if (isObject(name)) {\n for (attName in name) {\n if (!hasProp.call(name, attName)) continue;\n attValue = name[attName];\n this.attribute(attName, attValue);\n }\n } else {\n if (isFunction(value)) {\n value = value.apply();\n }\n if (this.options.keepNullAttributes && (value == null)) {\n this.attribs[name] = new XMLAttribute(this, name, \"\");\n } else if (value != null) {\n this.attribs[name] = new XMLAttribute(this, name, value);\n }\n }\n return this;\n };\n\n XMLElement.prototype.removeAttribute = function(name) {\n var attName, j, len;\n if (name == null) {\n throw new Error(\"Missing attribute name. \" + this.debugInfo());\n }\n name = getValue(name);\n if (Array.isArray(name)) {\n for (j = 0, len = name.length; j < len; j++) {\n attName = name[j];\n delete this.attribs[attName];\n }\n } else {\n delete this.attribs[name];\n }\n return this;\n };\n\n XMLElement.prototype.toString = function(options) {\n return this.options.writer.element(this, this.options.writer.filterOptions(options));\n };\n\n XMLElement.prototype.att = function(name, value) {\n return this.attribute(name, value);\n };\n\n XMLElement.prototype.a = function(name, value) {\n return this.attribute(name, value);\n };\n\n XMLElement.prototype.getAttribute = function(name) {\n if (this.attribs.hasOwnProperty(name)) {\n return this.attribs[name].value;\n } else {\n return null;\n }\n };\n\n XMLElement.prototype.setAttribute = function(name, value) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.getAttributeNode = function(name) {\n if (this.attribs.hasOwnProperty(name)) {\n return this.attribs[name];\n } else {\n return null;\n }\n };\n\n XMLElement.prototype.setAttributeNode = function(newAttr) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.removeAttributeNode = function(oldAttr) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.getElementsByTagName = function(name) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.getAttributeNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.setAttributeNS = function(namespaceURI, qualifiedName, value) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.removeAttributeNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.getAttributeNodeNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.setAttributeNodeNS = function(newAttr) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.getElementsByTagNameNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.hasAttribute = function(name) {\n return this.attribs.hasOwnProperty(name);\n };\n\n XMLElement.prototype.hasAttributeNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.setIdAttribute = function(name, isId) {\n if (this.attribs.hasOwnProperty(name)) {\n return this.attribs[name].isId;\n } else {\n return isId;\n }\n };\n\n XMLElement.prototype.setIdAttributeNS = function(namespaceURI, localName, isId) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.setIdAttributeNode = function(idAttr, isId) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.getElementsByTagName = function(tagname) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.getElementsByTagNameNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.getElementsByClassName = function(classNames) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.isEqualNode = function(node) {\n var i, j, ref1;\n if (!XMLElement.__super__.isEqualNode.apply(this, arguments).isEqualNode(node)) {\n return false;\n }\n if (node.namespaceURI !== this.namespaceURI) {\n return false;\n }\n if (node.prefix !== this.prefix) {\n return false;\n }\n if (node.localName !== this.localName) {\n return false;\n }\n if (node.attribs.length !== this.attribs.length) {\n return false;\n }\n for (i = j = 0, ref1 = this.attribs.length - 1; 0 <= ref1 ? j <= ref1 : j >= ref1; i = 0 <= ref1 ? ++j : --j) {\n if (!this.attribs[i].isEqualNode(node.attribs[i])) {\n return false;\n }\n }\n return true;\n };\n\n return XMLElement;\n\n })(XMLNode);\n\n}).call(this);\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\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 (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","module.exports = require('./readable').PassThrough\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, WriterState, XMLStreamWriter, XMLWriterBase,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n NodeType = require('./NodeType');\n\n XMLWriterBase = require('./XMLWriterBase');\n\n WriterState = require('./WriterState');\n\n module.exports = XMLStreamWriter = (function(superClass) {\n extend(XMLStreamWriter, superClass);\n\n function XMLStreamWriter(stream, options) {\n this.stream = stream;\n XMLStreamWriter.__super__.constructor.call(this, options);\n }\n\n XMLStreamWriter.prototype.endline = function(node, options, level) {\n if (node.isLastRootNode && options.state === WriterState.CloseTag) {\n return '';\n } else {\n return XMLStreamWriter.__super__.endline.call(this, node, options, level);\n }\n };\n\n XMLStreamWriter.prototype.document = function(doc, options) {\n var child, i, j, k, len, len1, ref, ref1, results;\n ref = doc.children;\n for (i = j = 0, len = ref.length; j < len; i = ++j) {\n child = ref[i];\n child.isLastRootNode = i === doc.children.length - 1;\n }\n options = this.filterOptions(options);\n ref1 = doc.children;\n results = [];\n for (k = 0, len1 = ref1.length; k < len1; k++) {\n child = ref1[k];\n results.push(this.writeChildNode(child, options, 0));\n }\n return results;\n };\n\n XMLStreamWriter.prototype.attribute = function(att, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.attribute.call(this, att, options, level));\n };\n\n XMLStreamWriter.prototype.cdata = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.cdata.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.comment = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.comment.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.declaration = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.declaration.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.docType = function(node, options, level) {\n var child, j, len, ref;\n level || (level = 0);\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n this.stream.write(this.indent(node, options, level));\n this.stream.write('<!DOCTYPE ' + node.root().name);\n if (node.pubID && node.sysID) {\n this.stream.write(' PUBLIC \"' + node.pubID + '\" \"' + node.sysID + '\"');\n } else if (node.sysID) {\n this.stream.write(' SYSTEM \"' + node.sysID + '\"');\n }\n if (node.children.length > 0) {\n this.stream.write(' [');\n this.stream.write(this.endline(node, options, level));\n options.state = WriterState.InsideTag;\n ref = node.children;\n for (j = 0, len = ref.length; j < len; j++) {\n child = ref[j];\n this.writeChildNode(child, options, level + 1);\n }\n options.state = WriterState.CloseTag;\n this.stream.write(']');\n }\n options.state = WriterState.CloseTag;\n this.stream.write(options.spaceBeforeSlash + '>');\n this.stream.write(this.endline(node, options, level));\n options.state = WriterState.None;\n return this.closeNode(node, options, level);\n };\n\n XMLStreamWriter.prototype.element = function(node, options, level) {\n var att, child, childNodeCount, firstChildNode, j, len, name, prettySuppressed, ref, ref1;\n level || (level = 0);\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n this.stream.write(this.indent(node, options, level) + '<' + node.name);\n ref = node.attribs;\n for (name in ref) {\n if (!hasProp.call(ref, name)) continue;\n att = ref[name];\n this.attribute(att, options, level);\n }\n childNodeCount = node.children.length;\n firstChildNode = childNodeCount === 0 ? null : node.children[0];\n if (childNodeCount === 0 || node.children.every(function(e) {\n return (e.type === NodeType.Text || e.type === NodeType.Raw) && e.value === '';\n })) {\n if (options.allowEmpty) {\n this.stream.write('>');\n options.state = WriterState.CloseTag;\n this.stream.write('</' + node.name + '>');\n } else {\n options.state = WriterState.CloseTag;\n this.stream.write(options.spaceBeforeSlash + '/>');\n }\n } else if (options.pretty && childNodeCount === 1 && (firstChildNode.type === NodeType.Text || firstChildNode.type === NodeType.Raw) && (firstChildNode.value != null)) {\n this.stream.write('>');\n options.state = WriterState.InsideTag;\n options.suppressPrettyCount++;\n prettySuppressed = true;\n this.writeChildNode(firstChildNode, options, level + 1);\n options.suppressPrettyCount--;\n prettySuppressed = false;\n options.state = WriterState.CloseTag;\n this.stream.write('</' + node.name + '>');\n } else {\n this.stream.write('>' + this.endline(node, options, level));\n options.state = WriterState.InsideTag;\n ref1 = node.children;\n for (j = 0, len = ref1.length; j < len; j++) {\n child = ref1[j];\n this.writeChildNode(child, options, level + 1);\n }\n options.state = WriterState.CloseTag;\n this.stream.write(this.indent(node, options, level) + '</' + node.name + '>');\n }\n this.stream.write(this.endline(node, options, level));\n options.state = WriterState.None;\n return this.closeNode(node, options, level);\n };\n\n XMLStreamWriter.prototype.processingInstruction = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.processingInstruction.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.raw = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.raw.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.text = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.text.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.dtdAttList = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.dtdAttList.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.dtdElement = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.dtdElement.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.dtdEntity = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.dtdEntity.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.dtdNotation = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.dtdNotation.call(this, node, options, level));\n };\n\n return XMLStreamWriter;\n\n })(XMLWriterBase);\n\n}).call(this);\n","module.exports = false;\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","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","var capability = require('./capability')\nvar inherits = require('inherits')\nvar stream = require('readable-stream')\n\nvar rStates = exports.readyStates = {\n\tUNSENT: 0,\n\tOPENED: 1,\n\tHEADERS_RECEIVED: 2,\n\tLOADING: 3,\n\tDONE: 4\n}\n\nvar IncomingMessage = exports.IncomingMessage = function (xhr, response, mode, fetchTimer) {\n\tvar self = this\n\tstream.Readable.call(self)\n\n\tself._mode = mode\n\tself.headers = {}\n\tself.rawHeaders = []\n\tself.trailers = {}\n\tself.rawTrailers = []\n\n\t// Fake the 'close' event, but only once 'end' fires\n\tself.on('end', function () {\n\t\t// The nextTick is necessary to prevent the 'request' module from causing an infinite loop\n\t\tprocess.nextTick(function () {\n\t\t\tself.emit('close')\n\t\t})\n\t})\n\n\tif (mode === 'fetch') {\n\t\tself._fetchResponse = response\n\n\t\tself.url = response.url\n\t\tself.statusCode = response.status\n\t\tself.statusMessage = response.statusText\n\t\t\n\t\tresponse.headers.forEach(function (header, key){\n\t\t\tself.headers[key.toLowerCase()] = header\n\t\t\tself.rawHeaders.push(key, header)\n\t\t})\n\n\t\tif (capability.writableStream) {\n\t\t\tvar writable = new WritableStream({\n\t\t\t\twrite: function (chunk) {\n\t\t\t\t\treturn new Promise(function (resolve, reject) {\n\t\t\t\t\t\tif (self._destroyed) {\n\t\t\t\t\t\t\treject()\n\t\t\t\t\t\t} else if(self.push(new Buffer(chunk))) {\n\t\t\t\t\t\t\tresolve()\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tself._resumeFetch = resolve\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tclose: function () {\n\t\t\t\t\tglobal.clearTimeout(fetchTimer)\n\t\t\t\t\tif (!self._destroyed)\n\t\t\t\t\t\tself.push(null)\n\t\t\t\t},\n\t\t\t\tabort: function (err) {\n\t\t\t\t\tif (!self._destroyed)\n\t\t\t\t\t\tself.emit('error', err)\n\t\t\t\t}\n\t\t\t})\n\n\t\t\ttry {\n\t\t\t\tresponse.body.pipeTo(writable).catch(function (err) {\n\t\t\t\t\tglobal.clearTimeout(fetchTimer)\n\t\t\t\t\tif (!self._destroyed)\n\t\t\t\t\t\tself.emit('error', err)\n\t\t\t\t})\n\t\t\t\treturn\n\t\t\t} catch (e) {} // pipeTo method isn't defined. Can't find a better way to feature test this\n\t\t}\n\t\t// fallback for when writableStream or pipeTo aren't available\n\t\tvar reader = response.body.getReader()\n\t\tfunction read () {\n\t\t\treader.read().then(function (result) {\n\t\t\t\tif (self._destroyed)\n\t\t\t\t\treturn\n\t\t\t\tif (result.done) {\n\t\t\t\t\tglobal.clearTimeout(fetchTimer)\n\t\t\t\t\tself.push(null)\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tself.push(new Buffer(result.value))\n\t\t\t\tread()\n\t\t\t}).catch(function (err) {\n\t\t\t\tglobal.clearTimeout(fetchTimer)\n\t\t\t\tif (!self._destroyed)\n\t\t\t\t\tself.emit('error', err)\n\t\t\t})\n\t\t}\n\t\tread()\n\t} else {\n\t\tself._xhr = xhr\n\t\tself._pos = 0\n\n\t\tself.url = xhr.responseURL\n\t\tself.statusCode = xhr.status\n\t\tself.statusMessage = xhr.statusText\n\t\tvar headers = xhr.getAllResponseHeaders().split(/\\r?\\n/)\n\t\theaders.forEach(function (header) {\n\t\t\tvar matches = header.match(/^([^:]+):\\s*(.*)/)\n\t\t\tif (matches) {\n\t\t\t\tvar key = matches[1].toLowerCase()\n\t\t\t\tif (key === 'set-cookie') {\n\t\t\t\t\tif (self.headers[key] === undefined) {\n\t\t\t\t\t\tself.headers[key] = []\n\t\t\t\t\t}\n\t\t\t\t\tself.headers[key].push(matches[2])\n\t\t\t\t} else if (self.headers[key] !== undefined) {\n\t\t\t\t\tself.headers[key] += ', ' + matches[2]\n\t\t\t\t} else {\n\t\t\t\t\tself.headers[key] = matches[2]\n\t\t\t\t}\n\t\t\t\tself.rawHeaders.push(matches[1], matches[2])\n\t\t\t}\n\t\t})\n\n\t\tself._charset = 'x-user-defined'\n\t\tif (!capability.overrideMimeType) {\n\t\t\tvar mimeType = self.rawHeaders['mime-type']\n\t\t\tif (mimeType) {\n\t\t\t\tvar charsetMatch = mimeType.match(/;\\s*charset=([^;])(;|$)/)\n\t\t\t\tif (charsetMatch) {\n\t\t\t\t\tself._charset = charsetMatch[1].toLowerCase()\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!self._charset)\n\t\t\t\tself._charset = 'utf-8' // best guess\n\t\t}\n\t}\n}\n\ninherits(IncomingMessage, stream.Readable)\n\nIncomingMessage.prototype._read = function () {\n\tvar self = this\n\n\tvar resolve = self._resumeFetch\n\tif (resolve) {\n\t\tself._resumeFetch = null\n\t\tresolve()\n\t}\n}\n\nIncomingMessage.prototype._onXHRProgress = function () {\n\tvar self = this\n\n\tvar xhr = self._xhr\n\n\tvar response = null\n\tswitch (self._mode) {\n\t\tcase 'text:vbarray': // For IE9\n\t\t\tif (xhr.readyState !== rStates.DONE)\n\t\t\t\tbreak\n\t\t\ttry {\n\t\t\t\t// This fails in IE8\n\t\t\t\tresponse = new global.VBArray(xhr.responseBody).toArray()\n\t\t\t} catch (e) {}\n\t\t\tif (response !== null) {\n\t\t\t\tself.push(new Buffer(response))\n\t\t\t\tbreak\n\t\t\t}\n\t\t\t// Falls through in IE8\t\n\t\tcase 'text':\n\t\t\ttry { // This will fail when readyState = 3 in IE9. Switch mode and wait for readyState = 4\n\t\t\t\tresponse = xhr.responseText\n\t\t\t} catch (e) {\n\t\t\t\tself._mode = 'text:vbarray'\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tif (response.length > self._pos) {\n\t\t\t\tvar newData = response.substr(self._pos)\n\t\t\t\tif (self._charset === 'x-user-defined') {\n\t\t\t\t\tvar buffer = new Buffer(newData.length)\n\t\t\t\t\tfor (var i = 0; i < newData.length; i++)\n\t\t\t\t\t\tbuffer[i] = newData.charCodeAt(i) & 0xff\n\n\t\t\t\t\tself.push(buffer)\n\t\t\t\t} else {\n\t\t\t\t\tself.push(newData, self._charset)\n\t\t\t\t}\n\t\t\t\tself._pos = response.length\n\t\t\t}\n\t\t\tbreak\n\t\tcase 'arraybuffer':\n\t\t\tif (xhr.readyState !== rStates.DONE || !xhr.response)\n\t\t\t\tbreak\n\t\t\tresponse = xhr.response\n\t\t\tself.push(new Buffer(new Uint8Array(response)))\n\t\t\tbreak\n\t\tcase 'moz-chunked-arraybuffer': // take whole\n\t\t\tresponse = xhr.response\n\t\t\tif (xhr.readyState !== rStates.LOADING || !response)\n\t\t\t\tbreak\n\t\t\tself.push(new Buffer(new Uint8Array(response)))\n\t\t\tbreak\n\t\tcase 'ms-stream':\n\t\t\tresponse = xhr.response\n\t\t\tif (xhr.readyState !== rStates.LOADING)\n\t\t\t\tbreak\n\t\t\tvar reader = new global.MSStreamReader()\n\t\t\treader.onprogress = function () {\n\t\t\t\tif (reader.result.byteLength > self._pos) {\n\t\t\t\t\tself.push(new Buffer(new Uint8Array(reader.result.slice(self._pos))))\n\t\t\t\t\tself._pos = reader.result.byteLength\n\t\t\t\t}\n\t\t\t}\n\t\t\treader.onload = function () {\n\t\t\t\tself.push(null)\n\t\t\t}\n\t\t\t// reader.onerror = ??? // TODO: this\n\t\t\treader.readAsArrayBuffer(response)\n\t\t\tbreak\n\t}\n\n\t// The ms-stream case handles end separately in reader.onload()\n\tif (self._xhr.readyState === rStates.DONE && self._mode !== 'ms-stream') {\n\t\tself.push(null)\n\t}\n}\n","import Vue from 'vue';\nexport default Vue.extend({\n name: 'elevatable',\n props: {\n elevation: [Number, String]\n },\n computed: {\n computedElevation() {\n return this.elevation;\n },\n\n elevationClasses() {\n const elevation = this.computedElevation;\n if (elevation == null) return {};\n if (isNaN(parseInt(elevation))) return {};\n return {\n [`elevation-${this.elevation}`]: true\n };\n }\n\n }\n});\n//# sourceMappingURL=index.js.map","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && 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 ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n assign: assign\n});\n","var anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","module.exports = {};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","module.exports = require('./readable').Transform\n","// Generated by CoffeeScript 1.12.7\n(function() {\n module.exports = {\n Disconnected: 1,\n Preceding: 2,\n Following: 4,\n Contains: 8,\n ContainedBy: 16,\n ImplementationSpecific: 32\n };\n\n}).call(this);\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nmodule.exports = Stream;\n\nvar EE = require('events').EventEmitter;\nvar inherits = require('inherits');\n\ninherits(Stream, EE);\nStream.Readable = require('readable-stream/readable.js');\nStream.Writable = require('readable-stream/writable.js');\nStream.Duplex = require('readable-stream/duplex.js');\nStream.Transform = require('readable-stream/transform.js');\nStream.PassThrough = require('readable-stream/passthrough.js');\n\n// Backwards-compat with node 0.4.x\nStream.Stream = Stream;\n\n\n\n// old-style streams. Note that the pipe method (the only relevant\n// part of this class) is overridden in the Readable class.\n\nfunction Stream() {\n EE.call(this);\n}\n\nStream.prototype.pipe = function(dest, options) {\n var source = this;\n\n function ondata(chunk) {\n if (dest.writable) {\n if (false === dest.write(chunk) && source.pause) {\n source.pause();\n }\n }\n }\n\n source.on('data', ondata);\n\n function ondrain() {\n if (source.readable && source.resume) {\n source.resume();\n }\n }\n\n dest.on('drain', ondrain);\n\n // If the 'end' option is not supplied, dest.end() will be called when\n // source gets the 'end' or 'close' events. Only dest.end() once.\n if (!dest._isStdio && (!options || options.end !== false)) {\n source.on('end', onend);\n source.on('close', onclose);\n }\n\n var didOnEnd = false;\n function onend() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n dest.end();\n }\n\n\n function onclose() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n if (typeof dest.destroy === 'function') dest.destroy();\n }\n\n // don't leave dangling pipes when there are errors.\n function onerror(er) {\n cleanup();\n if (EE.listenerCount(this, 'error') === 0) {\n throw er; // Unhandled stream error in pipe.\n }\n }\n\n source.on('error', onerror);\n dest.on('error', onerror);\n\n // remove all the event listeners that were added.\n function cleanup() {\n source.removeListener('data', ondata);\n dest.removeListener('drain', ondrain);\n\n source.removeListener('end', onend);\n source.removeListener('close', onclose);\n\n source.removeListener('error', onerror);\n dest.removeListener('error', onerror);\n\n source.removeListener('end', cleanup);\n source.removeListener('close', cleanup);\n\n dest.removeListener('close', cleanup);\n }\n\n source.on('end', cleanup);\n source.on('close', cleanup);\n\n dest.on('close', cleanup);\n\n dest.emit('pipe', source);\n\n // Allow for unix-like usage: A.pipe(B).pipe(C)\n return dest;\n};\n","const utils = module.exports = {};\nconst entities = require('entities');\nconst xml2js = require('xml2js');\n\nutils.stripHtml = function(str) {\n str = str.replace(/([^\\n])<\\/?(h|br|p|ul|ol|li|blockquote|section|table|tr|div)(?:.|\\n)*?>([^\\n])/gm, '$1\\n$3')\n str = str.replace(/<(?:.|\\n)*?>/gm, '');\n return str;\n}\n\nutils.getSnippet = function(str) {\n return entities.decodeHTML(utils.stripHtml(str)).trim();\n}\n\nutils.getLink = function(links, rel, fallbackIdx) {\n if (!links) return;\n for (let i = 0; i < links.length; ++i) {\n if (links[i].$.rel === rel) return links[i].$.href;\n }\n if (links[fallbackIdx]) return links[fallbackIdx].$.href;\n}\n\nutils.getContent = function(content) {\n if (typeof content._ === 'string') {\n return content._;\n } else if (typeof content === 'object') {\n let builder = new xml2js.Builder({headless: true, explicitRoot: true, rootName: 'div', renderOpts: {pretty: false}});\n return builder.buildObject(content);\n } else {\n return content;\n }\n}\n\nutils.copyFromXML = function(xml, dest, fields) {\n fields.forEach(function(f) {\n let from = f;\n let to = f;\n let options = {};\n if (Array.isArray(f)) {\n from = f[0];\n to = f[1];\n if (f.length > 2) {\n options = f[2];\n }\n }\n const { keepArray, includeSnippet } = options;\n if (xml[from] !== undefined){\n dest[to] = keepArray ? xml[from] : xml[from][0];\n }\n if (dest[to] && typeof dest[to]._ === 'string') {\n dest[to]=dest[to]._;\n }\n if (includeSnippet && dest[to] && typeof dest[to] === 'string') {\n dest[to + 'Snippet'] = utils.getSnippet(dest[to]);\n }\n })\n}\n\nutils.maybePromisify = function(callback, promise) {\n if (!callback) return promise;\n return promise.then(\n data => setTimeout(() => callback(null, data)),\n err => setTimeout(() => callback(err))\n );\n}\n\nconst DEFAULT_ENCODING = 'utf8';\nconst ENCODING_REGEX = /(encoding|charset)\\s*=\\s*(\\S+)/;\nconst SUPPORTED_ENCODINGS = ['ascii', 'utf8', 'utf16le', 'ucs2', 'base64', 'latin1', 'binary', 'hex'];\nconst ENCODING_ALIASES = {\n 'utf-8': 'utf8',\n 'iso-8859-1': 'latin1',\n}\n\nutils.getEncodingFromContentType = function(contentType) {\n contentType = contentType || '';\n let match = contentType.match(ENCODING_REGEX);\n let encoding = (match || [])[2] || '';\n encoding = encoding.toLowerCase();\n encoding = ENCODING_ALIASES[encoding] || encoding;\n if (!encoding || SUPPORTED_ENCODINGS.indexOf(encoding) === -1) {\n encoding = DEFAULT_ENCODING;\n }\n return encoding;\n}\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar regexpExec = require('../internals/regexp-exec');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$<a>') !== '7';\n});\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\nvar REPLACE = wellKnownSymbol('replace');\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\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, sham) {\n var SYMBOL = wellKnownSymbol(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\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\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 re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !(\n REPLACE_SUPPORTS_NAMED_GROUPS &&\n REPLACE_KEEPS_$0 &&\n !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n )) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (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 REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,\n REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n });\n var stringMethod = methods[0];\n var regexMethod = methods[1];\n\n redefine(String.prototype, KEY, stringMethod);\n redefine(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 regexMethod.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 regexMethod.call(string, this); }\n );\n }\n\n if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);\n};\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLDTDAttList, XMLDTDElement, XMLDTDEntity, XMLDTDNotation, XMLDocType, XMLNamedNodeMap, XMLNode, isObject,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n isObject = require('./Utility').isObject;\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n XMLDTDAttList = require('./XMLDTDAttList');\n\n XMLDTDEntity = require('./XMLDTDEntity');\n\n XMLDTDElement = require('./XMLDTDElement');\n\n XMLDTDNotation = require('./XMLDTDNotation');\n\n XMLNamedNodeMap = require('./XMLNamedNodeMap');\n\n module.exports = XMLDocType = (function(superClass) {\n extend(XMLDocType, superClass);\n\n function XMLDocType(parent, pubID, sysID) {\n var child, i, len, ref, ref1, ref2;\n XMLDocType.__super__.constructor.call(this, parent);\n this.type = NodeType.DocType;\n if (parent.children) {\n ref = parent.children;\n for (i = 0, len = ref.length; i < len; i++) {\n child = ref[i];\n if (child.type === NodeType.Element) {\n this.name = child.name;\n break;\n }\n }\n }\n this.documentObject = parent;\n if (isObject(pubID)) {\n ref1 = pubID, pubID = ref1.pubID, sysID = ref1.sysID;\n }\n if (sysID == null) {\n ref2 = [pubID, sysID], sysID = ref2[0], pubID = ref2[1];\n }\n if (pubID != null) {\n this.pubID = this.stringify.dtdPubID(pubID);\n }\n if (sysID != null) {\n this.sysID = this.stringify.dtdSysID(sysID);\n }\n }\n\n Object.defineProperty(XMLDocType.prototype, 'entities', {\n get: function() {\n var child, i, len, nodes, ref;\n nodes = {};\n ref = this.children;\n for (i = 0, len = ref.length; i < len; i++) {\n child = ref[i];\n if ((child.type === NodeType.EntityDeclaration) && !child.pe) {\n nodes[child.name] = child;\n }\n }\n return new XMLNamedNodeMap(nodes);\n }\n });\n\n Object.defineProperty(XMLDocType.prototype, 'notations', {\n get: function() {\n var child, i, len, nodes, ref;\n nodes = {};\n ref = this.children;\n for (i = 0, len = ref.length; i < len; i++) {\n child = ref[i];\n if (child.type === NodeType.NotationDeclaration) {\n nodes[child.name] = child;\n }\n }\n return new XMLNamedNodeMap(nodes);\n }\n });\n\n Object.defineProperty(XMLDocType.prototype, 'publicId', {\n get: function() {\n return this.pubID;\n }\n });\n\n Object.defineProperty(XMLDocType.prototype, 'systemId', {\n get: function() {\n return this.sysID;\n }\n });\n\n Object.defineProperty(XMLDocType.prototype, 'internalSubset', {\n get: function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n }\n });\n\n XMLDocType.prototype.element = function(name, value) {\n var child;\n child = new XMLDTDElement(this, name, value);\n this.children.push(child);\n return this;\n };\n\n XMLDocType.prototype.attList = function(elementName, attributeName, attributeType, defaultValueType, defaultValue) {\n var child;\n child = new XMLDTDAttList(this, elementName, attributeName, attributeType, defaultValueType, defaultValue);\n this.children.push(child);\n return this;\n };\n\n XMLDocType.prototype.entity = function(name, value) {\n var child;\n child = new XMLDTDEntity(this, false, name, value);\n this.children.push(child);\n return this;\n };\n\n XMLDocType.prototype.pEntity = function(name, value) {\n var child;\n child = new XMLDTDEntity(this, true, name, value);\n this.children.push(child);\n return this;\n };\n\n XMLDocType.prototype.notation = function(name, value) {\n var child;\n child = new XMLDTDNotation(this, name, value);\n this.children.push(child);\n return this;\n };\n\n XMLDocType.prototype.toString = function(options) {\n return this.options.writer.docType(this, this.options.writer.filterOptions(options));\n };\n\n XMLDocType.prototype.ele = function(name, value) {\n return this.element(name, value);\n };\n\n XMLDocType.prototype.att = function(elementName, attributeName, attributeType, defaultValueType, defaultValue) {\n return this.attList(elementName, attributeName, attributeType, defaultValueType, defaultValue);\n };\n\n XMLDocType.prototype.ent = function(name, value) {\n return this.entity(name, value);\n };\n\n XMLDocType.prototype.pent = function(name, value) {\n return this.pEntity(name, value);\n };\n\n XMLDocType.prototype.not = function(name, value) {\n return this.notation(name, value);\n };\n\n XMLDocType.prototype.up = function() {\n return this.root() || this.documentObject;\n };\n\n XMLDocType.prototype.isEqualNode = function(node) {\n if (!XMLDocType.__super__.isEqualNode.apply(this, arguments).isEqualNode(node)) {\n return false;\n }\n if (node.name !== this.name) {\n return false;\n }\n if (node.publicId !== this.publicId) {\n return false;\n }\n if (node.systemId !== this.systemId) {\n return false;\n }\n return true;\n };\n\n return XMLDocType;\n\n })(XMLNode);\n\n}).call(this);\n","var Buffer = require('buffer').Buffer\n\nmodule.exports = function (buf) {\n\t// If the buffer is backed by a Uint8Array, a faster version will work\n\tif (buf instanceof Uint8Array) {\n\t\t// If the buffer isn't a subarray, return the underlying ArrayBuffer\n\t\tif (buf.byteOffset === 0 && buf.byteLength === buf.buffer.byteLength) {\n\t\t\treturn buf.buffer\n\t\t} else if (typeof buf.buffer.slice === 'function') {\n\t\t\t// Otherwise we need to get a proper copy\n\t\t\treturn buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength)\n\t\t}\n\t}\n\n\tif (Buffer.isBuffer(buf)) {\n\t\t// This is the slow version that will work with any Buffer\n\t\t// implementation (even in old browsers)\n\t\tvar arrayCopy = new Uint8Array(buf.length)\n\t\tvar len = buf.length\n\t\tfor (var i = 0; i < len; i++) {\n\t\t\tarrayCopy[i] = buf[i]\n\t\t}\n\t\treturn arrayCopy.buffer\n\t} else {\n\t\tthrow new Error('Argument must be a Buffer')\n\t}\n}\n","/* eslint-disable no-console */\nimport Vuetify from '../framework';\n\nfunction createMessage(message, vm, parent) {\n if (Vuetify.config.silent) return;\n\n if (parent) {\n vm = {\n _isVue: true,\n $parent: parent,\n $options: vm\n };\n }\n\n if (vm) {\n // Only show each message once per instance\n vm.$_alreadyWarned = vm.$_alreadyWarned || [];\n if (vm.$_alreadyWarned.includes(message)) return;\n vm.$_alreadyWarned.push(message);\n }\n\n return `[Vuetify] ${message}` + (vm ? generateComponentTrace(vm) : '');\n}\n\nexport function consoleInfo(message, vm, parent) {\n const newMessage = createMessage(message, vm, parent);\n newMessage != null && console.info(newMessage);\n}\nexport function consoleWarn(message, vm, parent) {\n const newMessage = createMessage(message, vm, parent);\n newMessage != null && console.warn(newMessage);\n}\nexport function consoleError(message, vm, parent) {\n const newMessage = createMessage(message, vm, parent);\n newMessage != null && console.error(newMessage);\n}\nexport function deprecate(original, replacement, vm, parent) {\n consoleWarn(`[UPGRADE] '${original}' is deprecated, use '${replacement}' instead.`, vm, parent);\n}\nexport function breaking(original, replacement, vm, parent) {\n consoleError(`[BREAKING] '${original}' has been removed, use '${replacement}' instead. For more information, see the upgrade guide https://github.com/vuetifyjs/vuetify/releases/tag/v2.0.0#user-content-upgrade-guide`, vm, parent);\n}\nexport function removed(original, vm, parent) {\n consoleWarn(`[REMOVED] '${original}' has been removed. You can safely omit it.`, vm, parent);\n}\n/**\n * Shamelessly stolen from vuejs/vue/blob/dev/src/core/util/debug.js\n */\n\nconst classifyRE = /(?:^|[-_])(\\w)/g;\n\nconst classify = str => str.replace(classifyRE, c => c.toUpperCase()).replace(/[-_]/g, '');\n\nfunction formatComponentName(vm, includeFile) {\n if (vm.$root === vm) {\n return '<Root>';\n }\n\n const options = typeof vm === 'function' && vm.cid != null ? vm.options : vm._isVue ? vm.$options || vm.constructor.options : vm || {};\n let name = options.name || options._componentTag;\n const file = options.__file;\n\n if (!name && file) {\n const match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (name ? `<${classify(name)}>` : `<Anonymous>`) + (file && includeFile !== false ? ` at ${file}` : '');\n}\n\nfunction generateComponentTrace(vm) {\n if (vm._isVue && vm.$parent) {\n const tree = [];\n let currentRecursiveSequence = 0;\n\n while (vm) {\n if (tree.length > 0) {\n const last = tree[tree.length - 1];\n\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue;\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n\n tree.push(vm);\n vm = vm.$parent;\n }\n\n return '\\n\\nfound in\\n\\n' + tree.map((vm, i) => `${i === 0 ? '---> ' : ' '.repeat(5 + i * 2)}${Array.isArray(vm) ? `${formatComponentName(vm[0])}... (${vm[1]} recursive calls)` : formatComponentName(vm)}`).join('\\n');\n } else {\n return `\\n\\n(found in ${formatComponentName(vm)})`;\n }\n}\n//# sourceMappingURL=console.js.map","import { camelize, wrapInArray } from './helpers';\nconst pattern = {\n styleList: /;(?![^(]*\\))/g,\n styleProp: /:(.*)/\n};\n\nfunction parseStyle(style) {\n const styleMap = {};\n\n for (const s of style.split(pattern.styleList)) {\n let [key, val] = s.split(pattern.styleProp);\n key = key.trim();\n\n if (!key) {\n continue;\n } // May be undefined if the `key: value` pair is incomplete.\n\n\n if (typeof val === 'string') {\n val = val.trim();\n }\n\n styleMap[camelize(key)] = val;\n }\n\n return styleMap;\n}\n\nexport default function mergeData() {\n const mergeTarget = {};\n let i = arguments.length;\n let prop; // Allow for variadic argument length.\n\n while (i--) {\n // Iterate through the data properties and execute merge strategies\n // Object.keys eliminates need for hasOwnProperty call\n for (prop of Object.keys(arguments[i])) {\n switch (prop) {\n // Array merge strategy (array concatenation)\n case 'class':\n case 'directives':\n if (arguments[i][prop]) {\n mergeTarget[prop] = mergeClasses(mergeTarget[prop], arguments[i][prop]);\n }\n\n break;\n\n case 'style':\n if (arguments[i][prop]) {\n mergeTarget[prop] = mergeStyles(mergeTarget[prop], arguments[i][prop]);\n }\n\n break;\n // Space delimited string concatenation strategy\n\n case 'staticClass':\n if (!arguments[i][prop]) {\n break;\n }\n\n if (mergeTarget[prop] === undefined) {\n mergeTarget[prop] = '';\n }\n\n if (mergeTarget[prop]) {\n // Not an empty string, so concatenate\n mergeTarget[prop] += ' ';\n }\n\n mergeTarget[prop] += arguments[i][prop].trim();\n break;\n // Object, the properties of which to merge via array merge strategy (array concatenation).\n // Callback merge strategy merges callbacks to the beginning of the array,\n // so that the last defined callback will be invoked first.\n // This is done since to mimic how Object.assign merging\n // uses the last given value to assign.\n\n case 'on':\n case 'nativeOn':\n if (arguments[i][prop]) {\n mergeTarget[prop] = mergeListeners(mergeTarget[prop], arguments[i][prop]);\n }\n\n break;\n // Object merge strategy\n\n case 'attrs':\n case 'props':\n case 'domProps':\n case 'scopedSlots':\n case 'staticStyle':\n case 'hook':\n case 'transition':\n if (!arguments[i][prop]) {\n break;\n }\n\n if (!mergeTarget[prop]) {\n mergeTarget[prop] = {};\n }\n\n mergeTarget[prop] = { ...arguments[i][prop],\n ...mergeTarget[prop]\n };\n break;\n // Reassignment strategy (no merge)\n\n default:\n // slot, key, ref, tag, show, keepAlive\n if (!mergeTarget[prop]) {\n mergeTarget[prop] = arguments[i][prop];\n }\n\n }\n }\n }\n\n return mergeTarget;\n}\nexport function mergeStyles(target, source) {\n if (!target) return source;\n if (!source) return target;\n target = wrapInArray(typeof target === 'string' ? parseStyle(target) : target);\n return target.concat(typeof source === 'string' ? parseStyle(source) : source);\n}\nexport function mergeClasses(target, source) {\n if (!source) return target;\n if (!target) return source;\n return target ? wrapInArray(target).concat(source) : source;\n}\nexport function mergeListeners(...args) {\n if (!args[0]) return args[1];\n if (!args[1]) return args[0];\n const dest = {};\n\n for (let i = 2; i--;) {\n const arg = args[i];\n\n for (const event in arg) {\n if (!arg[event]) continue;\n\n if (dest[event]) {\n // Merge current listeners before (because we are iterating backwards).\n // Note that neither \"target\" or \"source\" must be altered.\n dest[event] = [].concat(arg[event], dest[event]);\n } else {\n // Straight assign.\n dest[event] = arg[event];\n }\n }\n }\n\n return dest;\n}\n//# sourceMappingURL=mergeData.js.map","// Styles\nimport \"../../../src/components/VList/VListItem.sass\"; // Mixins\n\nimport Colorable from '../../mixins/colorable';\nimport Routable from '../../mixins/routable';\nimport { factory as GroupableFactory } from '../../mixins/groupable';\nimport Themeable from '../../mixins/themeable';\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'; // Directives\n\nimport Ripple from '../../directives/ripple'; // Utilities\n\nimport { getSlot, keyCodes } from './../../util/helpers';\nimport { removed } from '../../util/console'; // Types\n\nimport mixins from '../../util/mixins';\nconst baseMixins = mixins(Colorable, Routable, Themeable, GroupableFactory('listItemGroup'), ToggleableFactory('inputValue'));\n/* @vue/component */\n\nexport default baseMixins.extend().extend({\n name: 'v-list-item',\n directives: {\n Ripple\n },\n inject: {\n isInGroup: {\n default: false\n },\n isInList: {\n default: false\n },\n isInMenu: {\n default: false\n },\n isInNav: {\n default: false\n }\n },\n inheritAttrs: false,\n props: {\n activeClass: {\n type: String,\n\n default() {\n if (!this.listItemGroup) return '';\n return this.listItemGroup.activeClass;\n }\n\n },\n dense: Boolean,\n inactive: Boolean,\n link: Boolean,\n selectable: {\n type: Boolean\n },\n tag: {\n type: String,\n default: 'div'\n },\n threeLine: Boolean,\n twoLine: Boolean,\n value: null\n },\n data: () => ({\n proxyClass: 'v-list-item--active'\n }),\n computed: {\n classes() {\n return {\n 'v-list-item': true,\n ...Routable.options.computed.classes.call(this),\n 'v-list-item--dense': this.dense,\n 'v-list-item--disabled': this.disabled,\n 'v-list-item--link': this.isClickable && !this.inactive,\n 'v-list-item--selectable': this.selectable,\n 'v-list-item--three-line': this.threeLine,\n 'v-list-item--two-line': this.twoLine,\n ...this.themeClasses\n };\n },\n\n isClickable() {\n return Boolean(Routable.options.computed.isClickable.call(this) || this.listItemGroup);\n }\n\n },\n\n created() {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('avatar')) {\n removed('avatar', this);\n }\n },\n\n methods: {\n click(e) {\n if (e.detail) this.$el.blur();\n this.$emit('click', e);\n this.to || this.toggle();\n },\n\n genAttrs() {\n const attrs = {\n 'aria-disabled': this.disabled ? true : undefined,\n tabindex: this.isClickable && !this.disabled ? 0 : -1,\n ...this.$attrs\n };\n\n if (this.$attrs.hasOwnProperty('role')) {// do nothing, role already provided\n } else if (this.isInNav) {// do nothing, role is inherit\n } else if (this.isInGroup) {\n attrs.role = 'option';\n attrs['aria-selected'] = String(this.isActive);\n } else if (this.isInMenu) {\n attrs.role = this.isClickable ? 'menuitem' : undefined;\n attrs.id = attrs.id || `list-item-${this._uid}`;\n } else if (this.isInList) {\n attrs.role = 'listitem';\n }\n\n return attrs;\n },\n\n toggle() {\n if (this.to && this.inputValue === undefined) {\n this.isActive = !this.isActive;\n }\n\n this.$emit('change');\n }\n\n },\n\n render(h) {\n let {\n tag,\n data\n } = this.generateRouteLink();\n data.attrs = { ...data.attrs,\n ...this.genAttrs()\n };\n data[this.to ? 'nativeOn' : 'on'] = { ...data[this.to ? 'nativeOn' : 'on'],\n keydown: e => {\n if (!this.disabled) {\n /* istanbul ignore else */\n if (e.keyCode === keyCodes.enter) this.click(e);\n this.$emit('keydown', e);\n }\n }\n };\n if (this.inactive) tag = 'div';\n\n if (this.inactive && this.to) {\n data.on = data.nativeOn;\n delete data.nativeOn;\n }\n\n const children = getSlot(this, 'default', {\n active: this.isActive,\n toggle: this.toggle\n });\n return h(tag, this.isActive ? this.setTextColor(this.color, data) : data, children);\n }\n\n});\n//# sourceMappingURL=VListItem.js.map","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n'use strict';\n\n/*<replacement>*/\n\nvar pna = require('process-nextick-args');\n/*</replacement>*/\n\nmodule.exports = Writable;\n\n/* <replacement> */\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n}\n\n// It seems a linked list but it is not\n// there will be only 2 of these for each stream\nfunction CorkedRequest(state) {\n var _this = this;\n\n this.next = null;\n this.entry = null;\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* </replacement> */\n\n/*<replacement>*/\nvar asyncWrite = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick;\n/*</replacement>*/\n\n/*<replacement>*/\nvar Duplex;\n/*</replacement>*/\n\nWritable.WritableState = WritableState;\n\n/*<replacement>*/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/*</replacement>*/\n\n/*<replacement>*/\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/*</replacement>*/\n\n/*<replacement>*/\nvar Stream = require('./internal/streams/stream');\n/*</replacement>*/\n\n/*<replacement>*/\n\nvar Buffer = require('safe-buffer').Buffer;\nvar OurUint8Array = global.Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/*</replacement>*/\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nutil.inherits(Writable, Stream);\n\nfunction nop() {}\n\nfunction WritableState(options, stream) {\n Duplex = Duplex || require('./_stream_duplex');\n\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n var isDuplex = stream instanceof Duplex;\n\n // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!options.objectMode;\n\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;\n\n // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n var hwm = options.highWaterMark;\n var writableHwm = options.writableHighWaterMark;\n var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n\n if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm;else this.highWaterMark = defaultHwm;\n\n // cast to ints.\n this.highWaterMark = Math.floor(this.highWaterMark);\n\n // if _final has been called\n this.finalCalled = false;\n\n // drain event flag.\n this.needDrain = false;\n // at the start of calling end()\n this.ending = false;\n // when end() has been called, and returned\n this.ended = false;\n // when 'finish' is emitted\n this.finished = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n this.length = 0;\n\n // a flag to see when we're in the middle of a write.\n this.writing = false;\n\n // when true all writes will be buffered until .uncork() call\n this.corked = 0;\n\n // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true;\n\n // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n this.bufferProcessing = false;\n\n // the callback that's passed to _write(chunk,cb)\n this.onwrite = function (er) {\n onwrite(stream, er);\n };\n\n // the callback that the user supplies to write(chunk,encoding,cb)\n this.writecb = null;\n\n // the amount that is being written when _write is called.\n this.writelen = 0;\n\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n\n // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n this.pendingcb = 0;\n\n // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n this.prefinished = false;\n\n // True if the error was already emitted and should not be thrown again\n this.errorEmitted = false;\n\n // count buffered requests\n this.bufferedRequestCount = 0;\n\n // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n this.corkedRequestsFree = new CorkedRequest(this);\n}\n\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n};\n\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function () {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})();\n\n// Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\nvar realHasInstance;\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function (object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function (object) {\n return object instanceof this;\n };\n}\n\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) {\n return new Writable(options);\n }\n\n this._writableState = new WritableState(options, this);\n\n // legacy.\n this.writable = true;\n\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n\n if (typeof options.writev === 'function') this._writev = options.writev;\n\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n\n if (typeof options.final === 'function') this._final = options.final;\n }\n\n Stream.call(this);\n}\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function () {\n this.emit('error', new Error('Cannot pipe, not readable'));\n};\n\nfunction writeAfterEnd(stream, cb) {\n var er = new Error('write after end');\n // TODO: defer error events consistently everywhere, not just the cb\n stream.emit('error', er);\n pna.nextTick(cb, er);\n}\n\n// Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\nfunction validChunk(stream, state, chunk, cb) {\n var valid = true;\n var er = false;\n\n if (chunk === null) {\n er = new TypeError('May not write null values to stream');\n } else if (typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new TypeError('Invalid non-string/buffer chunk');\n }\n if (er) {\n stream.emit('error', er);\n pna.nextTick(cb, er);\n valid = false;\n }\n return valid;\n}\n\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n\n if (typeof cb !== 'function') cb = nop;\n\n if (state.ended) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n\n return ret;\n};\n\nWritable.prototype.cork = function () {\n var state = this._writableState;\n\n state.corked++;\n};\n\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n\n if (state.corked) {\n state.corked--;\n\n if (!state.writing && !state.corked && !state.finished && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\n\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new TypeError('Unknown encoding: ' + encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\n\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n return chunk;\n}\n\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._writableState.highWaterMark;\n }\n});\n\n// if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n\n state.length += len;\n\n var ret = state.length < state.highWaterMark;\n // we must ensure that previous needDrain will not be reset to false.\n if (!ret) state.needDrain = true;\n\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n\n return ret;\n}\n\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\n\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n pna.nextTick(cb, er);\n // this can emit finish, and it will always happen\n // after error\n pna.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n stream.emit('error', er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n stream.emit('error', er);\n // this can emit finish, but finish must\n // always follow error\n finishMaybe(stream, state);\n }\n}\n\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\n\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n\n onwriteStateUpdate(state);\n\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state);\n\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n\n if (sync) {\n /*<replacement>*/\n asyncWrite(afterWrite, stream, state, finished, cb);\n /*</replacement>*/\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\n\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n}\n\n// Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n}\n\n// if there's something in the buffer waiting, then process it\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n\n doWrite(stream, state, true, state.length, buffer, '', holder.finish);\n\n // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n if (state.writing) {\n break;\n }\n }\n\n if (entry === null) state.lastBufferedRequest = null;\n }\n\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\n\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new Error('_write() is not implemented'));\n};\n\nWritable.prototype._writev = null;\n\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);\n\n // .end() fully uncorks\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n\n // ignore unnecessary end() calls.\n if (!state.ending && !state.finished) endWritable(this, state, cb);\n};\n\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n if (err) {\n stream.emit('error', err);\n }\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function') {\n state.pendingcb++;\n state.finalCalled = true;\n pna.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\n\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n }\n }\n return need;\n}\n\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished) pna.nextTick(cb);else stream.once('finish', cb);\n }\n state.ended = true;\n stream.writable = false;\n}\n\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n if (state.corkedRequestsFree) {\n state.corkedRequestsFree.next = corkReq;\n } else {\n state.corkedRequestsFree = corkReq;\n }\n}\n\nObject.defineProperty(Writable.prototype, 'destroyed', {\n get: function () {\n if (this._writableState === undefined) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._writableState.destroyed = value;\n }\n});\n\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\nWritable.prototype._destroy = function (err, cb) {\n this.end();\n cb(err);\n};","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","// .dirname, .basename, and .extname methods are extracted from Node.js v8.11.1,\n// backported and transplited with Babel, with backwards-compat fixes\n\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes, empty elements, or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === '.') {\n parts.splice(i, 1);\n } else if (last === '..') {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (allowAboveRoot) {\n for (; up--; up) {\n parts.unshift('..');\n }\n }\n\n return parts;\n}\n\n// path.resolve([from ...], to)\n// posix version\nexports.resolve = function() {\n var resolvedPath = '',\n resolvedAbsolute = false;\n\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = (i >= 0) ? arguments[i] : process.cwd();\n\n // Skip empty and invalid entries\n if (typeof path !== 'string') {\n throw new TypeError('Arguments to path.resolve must be strings');\n } else if (!path) {\n continue;\n }\n\n resolvedPath = path + '/' + resolvedPath;\n resolvedAbsolute = path.charAt(0) === '/';\n }\n\n // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n\n // Normalize the path\n resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) {\n return !!p;\n }), !resolvedAbsolute).join('/');\n\n return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nexports.normalize = function(path) {\n var isAbsolute = exports.isAbsolute(path),\n trailingSlash = substr(path, -1) === '/';\n\n // Normalize the path\n path = normalizeArray(filter(path.split('/'), function(p) {\n return !!p;\n }), !isAbsolute).join('/');\n\n if (!path && !isAbsolute) {\n path = '.';\n }\n if (path && trailingSlash) {\n path += '/';\n }\n\n return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nexports.isAbsolute = function(path) {\n return path.charAt(0) === '/';\n};\n\n// posix version\nexports.join = function() {\n var paths = Array.prototype.slice.call(arguments, 0);\n return exports.normalize(filter(paths, function(p, index) {\n if (typeof p !== 'string') {\n throw new TypeError('Arguments to path.join must be strings');\n }\n return p;\n }).join('/'));\n};\n\n\n// path.relative(from, to)\n// posix version\nexports.relative = function(from, to) {\n from = exports.resolve(from).substr(1);\n to = exports.resolve(to).substr(1);\n\n function trim(arr) {\n var start = 0;\n for (; start < arr.length; start++) {\n if (arr[start] !== '') break;\n }\n\n var end = arr.length - 1;\n for (; end >= 0; end--) {\n if (arr[end] !== '') break;\n }\n\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n\n var fromParts = trim(from.split('/'));\n var toParts = trim(to.split('/'));\n\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push('..');\n }\n\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n return outputParts.join('/');\n};\n\nexports.sep = '/';\nexports.delimiter = ':';\n\nexports.dirname = function (path) {\n if (typeof path !== 'string') path = path + '';\n if (path.length === 0) return '.';\n var code = path.charCodeAt(0);\n var hasRoot = code === 47 /*/*/;\n var end = -1;\n var matchedSlash = true;\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n\n if (end === -1) return hasRoot ? '/' : '.';\n if (hasRoot && end === 1) {\n // return '//';\n // Backwards-compat fix:\n return '/';\n }\n return path.slice(0, end);\n};\n\nfunction basename(path) {\n if (typeof path !== 'string') path = path + '';\n\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n\n for (i = path.length - 1; i >= 0; --i) {\n if (path.charCodeAt(i) === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1) return '';\n return path.slice(start, end);\n}\n\n// Uses a mixed approach for backwards-compatibility, as ext behavior changed\n// in new Node.js versions, so only basename() above is backported here\nexports.basename = function (path, ext) {\n var f = basename(path);\n if (ext && f.substr(-1 * ext.length) === ext) {\n f = f.substr(0, f.length - ext.length);\n }\n return f;\n};\n\nexports.extname = function (path) {\n if (typeof path !== 'string') path = path + '';\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n for (var i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 || end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n return '';\n }\n return path.slice(startDot, end);\n};\n\nfunction filter (xs, f) {\n if (xs.filter) return xs.filter(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n if (f(xs[i], i, xs)) res.push(xs[i]);\n }\n return res;\n}\n\n// String.prototype.substr - negative index don't work in IE8\nvar substr = 'ab'.substr(-1) === 'b'\n ? function (str, start, len) { return str.substr(start, len) }\n : function (str, start, len) {\n if (start < 0) start = str.length + start;\n return str.substr(start, len);\n }\n;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar stringifyPrimitive = function(v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return map(objectKeys(obj), function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (isArray(obj[k])) {\n return map(obj[k], function(v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq +\n encodeURIComponent(stringifyPrimitive(obj));\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n\nfunction map (xs, f) {\n if (xs.map) return xs.map(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n res.push(f(xs[i], i));\n }\n return res;\n}\n\nvar objectKeys = Object.keys || function (obj) {\n var res = [];\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key);\n }\n return res;\n};\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? 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 ? ObjectPrototype : null;\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.github.io/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","exports = module.exports = require('./lib/_stream_readable.js');\nexports.Stream = exports;\nexports.Readable = exports;\nexports.Writable = require('./lib/_stream_writable.js');\nexports.Duplex = require('./lib/_stream_duplex.js');\nexports.Transform = require('./lib/_stream_transform.js');\nexports.PassThrough = require('./lib/_stream_passthrough.js');\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","module.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar isObject = require('../internals/is-object');\nvar aFunction = require('../internals/a-function');\nvar anInstance = require('../internals/an-instance');\nvar classof = require('../internals/classof-raw');\nvar inspectSource = require('../internals/inspect-source');\nvar iterate = require('../internals/iterate');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar promiseResolve = require('../internals/promise-resolve');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar InternalStateModule = require('../internals/internal-state');\nvar isForced = require('../internals/is-forced');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar $fetch = getBuiltIn('fetch');\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar IS_NODE = classof(process) == 'process';\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\n if (!GLOBAL_CORE_JS_PROMISE) {\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 if (V8_VERSION === 66) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n if (!IS_NODE && typeof PromiseRejectionEvent != 'function') return true;\n }\n // We need Promise#finally in the pure version for preventing prototype pollution\n if (IS_PURE && !PromiseConstructor.prototype['finally']) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = PromiseConstructor.resolve(1);\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n return !(promise.then(function () { /* empty */ }) instanceof FakePromise);\n});\n\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\n});\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function (promise, state, isReject) {\n if (state.notified) return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n // variable length - can't use forEach\n while (chain.length > index) {\n var reaction = chain[index++];\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 (state.rejection === UNHANDLED) onHandleUnhandled(promise, state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can 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 (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(promise, state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (handler = global['on' + name]) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (promise, state) {\n task.call(global, function () {\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (promise, state) {\n task.call(global, function () {\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, promise, state, unwrap) {\n return function (value) {\n fn(promise, state, value, unwrap);\n };\n};\n\nvar internalReject = function (promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(promise, state, true);\n};\n\nvar internalResolve = function (promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n then.call(value,\n bind(internalResolve, promise, wrapper, state),\n bind(internalReject, promise, wrapper, state)\n );\n } catch (error) {\n internalReject(promise, wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(promise, state, false);\n }\n } catch (error) {\n internalReject(promise, { done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, this, state), bind(internalReject, this, state));\n } catch (error) {\n internalReject(this, state, error);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n // `Promise.prototype.then` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.then\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING) notify(this, state, false);\n return reaction.promise;\n },\n // `Promise.prototype.catch` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.catch\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, promise, state);\n this.reject = bind(internalReject, promise, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && typeof NativePromise == 'function') {\n nativeThen = NativePromise.prototype.then;\n\n // wrap native Promise#then for native async functions\n redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n\n // wrap fetch result\n if (typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, {\n // eslint-disable-next-line no-unused-vars\n fetch: function fetch(input /* , init */) {\n return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\n }\n });\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n\nPromiseWrapper = getBuiltIn(PROMISE);\n\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n // `Promise.reject` method\n // https://tc39.github.io/ecma262/#sec-promise.reject\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\n // `Promise.resolve` method\n // https://tc39.github.io/ecma262/#sec-promise.resolve\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\n // `Promise.all` method\n // https://tc39.github.io/ecma262/#sec-promise.all\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 $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, 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.error) reject(result.value);\n return capability.promise;\n },\n // `Promise.race` method\n // https://tc39.github.io/ecma262/#sec-promise.race\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 var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLCharacterData, XMLProcessingInstruction,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n NodeType = require('./NodeType');\n\n XMLCharacterData = require('./XMLCharacterData');\n\n module.exports = XMLProcessingInstruction = (function(superClass) {\n extend(XMLProcessingInstruction, superClass);\n\n function XMLProcessingInstruction(parent, target, value) {\n XMLProcessingInstruction.__super__.constructor.call(this, parent);\n if (target == null) {\n throw new Error(\"Missing instruction target. \" + this.debugInfo());\n }\n this.type = NodeType.ProcessingInstruction;\n this.target = this.stringify.insTarget(target);\n this.name = this.target;\n if (value) {\n this.value = this.stringify.insValue(value);\n }\n }\n\n XMLProcessingInstruction.prototype.clone = function() {\n return Object.create(this);\n };\n\n XMLProcessingInstruction.prototype.toString = function(options) {\n return this.options.writer.processingInstruction(this, this.options.writer.filterOptions(options));\n };\n\n XMLProcessingInstruction.prototype.isEqualNode = function(node) {\n if (!XMLProcessingInstruction.__super__.isEqualNode.apply(this, arguments).isEqualNode(node)) {\n return false;\n }\n if (node.target !== this.target) {\n return false;\n }\n return true;\n };\n\n return XMLProcessingInstruction;\n\n })(XMLCharacterData);\n\n}).call(this);\n","'use strict';\nvar aFunction = require('../internals/a-function');\n\nvar PromiseCapability = function (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\n// 25.4.1.5 NewPromiseCapability(C)\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","import Vue from 'vue';\nexport function factory(prop = 'value', event = 'input') {\n return Vue.extend({\n name: 'toggleable',\n model: {\n prop,\n event\n },\n props: {\n [prop]: {\n required: false\n }\n },\n\n data() {\n return {\n isActive: !!this[prop]\n };\n },\n\n watch: {\n [prop](val) {\n this.isActive = !!val;\n },\n\n isActive(val) {\n !!val !== this[prop] && this.$emit(event, val);\n }\n\n }\n });\n}\n/* eslint-disable-next-line @typescript-eslint/no-redeclare */\n\nconst Toggleable = factory();\nexport default Toggleable;\n//# sourceMappingURL=index.js.map","import OurVue from 'vue';\nimport { consoleError } from './util/console';\nexport function install(Vue, args = {}) {\n if (install.installed) return;\n install.installed = true;\n\n if (OurVue !== Vue) {\n consoleError(`Multiple instances of Vue detected\nSee https://github.com/vuetifyjs/vuetify/issues/4068\n\nIf you're seeing \"$attrs is readonly\", it's caused by this`);\n }\n\n const components = args.components || {};\n const directives = args.directives || {};\n\n for (const name in directives) {\n const directive = directives[name];\n Vue.directive(name, directive);\n }\n\n (function registerComponents(components) {\n if (components) {\n for (const key in components) {\n const component = components[key];\n\n if (component && !registerComponents(component.$_vuetify_subcomponents)) {\n Vue.component(key, component);\n }\n }\n\n return true;\n }\n\n return false;\n })(components); // Used to avoid multiple mixins being setup\n // when in dev mode and hot module reload\n // https://github.com/vuejs/vue/issues/5089#issuecomment-284260111\n\n\n if (Vue.$_vuetify_installed) return;\n Vue.$_vuetify_installed = true;\n Vue.mixin({\n beforeCreate() {\n const options = this.$options;\n\n if (options.vuetify) {\n options.vuetify.init(this, this.$ssrContext);\n this.$vuetify = Vue.observable(options.vuetify.framework);\n } else {\n this.$vuetify = options.parent && options.parent.$vuetify || this;\n }\n },\n\n beforeMount() {\n // @ts-ignore\n if (this.$options.vuetify && this.$el && this.$el.hasAttribute('data-server-rendered')) {\n // @ts-ignore\n this.$vuetify.isHydrating = true; // @ts-ignore\n\n this.$vuetify.breakpoint.update(true);\n }\n },\n\n mounted() {\n // @ts-ignore\n if (this.$options.vuetify && this.$vuetify.isHydrating) {\n // @ts-ignore\n this.$vuetify.isHydrating = false; // @ts-ignore\n\n this.$vuetify.breakpoint.update();\n }\n }\n\n });\n}\n//# sourceMappingURL=install.js.map","export default {\n badge: 'Badge',\n close: 'Close',\n dataIterator: {\n noResultsText: 'No matching records found',\n loadingText: 'Loading items...'\n },\n dataTable: {\n itemsPerPageText: 'Rows per page:',\n ariaLabel: {\n sortDescending: 'Sorted descending.',\n sortAscending: 'Sorted ascending.',\n sortNone: 'Not sorted.',\n activateNone: 'Activate to remove sorting.',\n activateDescending: 'Activate to sort descending.',\n activateAscending: 'Activate to sort ascending.'\n },\n sortBy: 'Sort by'\n },\n dataFooter: {\n itemsPerPageText: 'Items per page:',\n itemsPerPageAll: 'All',\n nextPage: 'Next page',\n prevPage: 'Previous page',\n firstPage: 'First page',\n lastPage: 'Last page',\n pageText: '{0}-{1} of {2}'\n },\n datePicker: {\n itemsSelected: '{0} selected',\n nextMonthAriaLabel: 'Next month',\n nextYearAriaLabel: 'Next year',\n prevMonthAriaLabel: 'Previous month',\n prevYearAriaLabel: 'Previous year'\n },\n noDataText: 'No data available',\n carousel: {\n prev: 'Previous visual',\n next: 'Next visual',\n ariaLabel: {\n delimiter: 'Carousel slide {0} of {1}'\n }\n },\n calendar: {\n moreEvents: '{0} more'\n },\n input: {\n clear: 'Clear {0}',\n prependAction: '{0} prepended action',\n appendAction: '{0} appended action'\n },\n fileInput: {\n counter: '{0} files',\n counterSize: '{0} files ({1} in total)'\n },\n timePicker: {\n am: 'AM',\n pm: 'PM'\n },\n pagination: {\n ariaLabel: {\n wrapper: 'Pagination Navigation',\n next: 'Next page',\n previous: 'Previous page',\n page: 'Goto Page {0}',\n currentPage: 'Current Page, Page {0}'\n }\n },\n rating: {\n ariaLabel: {\n icon: 'Rating {0} of {1}'\n }\n },\n loading: 'Loading...'\n};\n//# sourceMappingURL=en.js.map","// Styles\nimport \"../../../src/styles/main.sass\"; // Locale\n\nimport { en } from '../../locale';\nexport const preset = {\n breakpoint: {\n // TODO: update to MD2 spec in v3 - 1280\n mobileBreakpoint: 1264,\n scrollBarWidth: 16,\n thresholds: {\n xs: 600,\n sm: 960,\n md: 1280,\n lg: 1920\n }\n },\n icons: {\n // TODO: remove v3\n iconfont: 'mdi',\n values: {}\n },\n lang: {\n current: 'en',\n locales: {\n en\n },\n // Default translator exists in lang service\n t: undefined\n },\n rtl: false,\n theme: {\n dark: false,\n default: 'light',\n disable: false,\n options: {\n cspNonce: undefined,\n customProperties: undefined,\n minifyTheme: undefined,\n themeCache: undefined,\n variations: true\n },\n themes: {\n light: {\n primary: '#1976D2',\n secondary: '#424242',\n accent: '#82B1FF',\n error: '#FF5252',\n info: '#2196F3',\n success: '#4CAF50',\n warning: '#FB8C00'\n },\n dark: {\n primary: '#2196F3',\n secondary: '#424242',\n accent: '#FF4081',\n error: '#FF5252',\n info: '#2196F3',\n success: '#4CAF50',\n warning: '#FB8C00'\n }\n }\n }\n};\n//# sourceMappingURL=index.js.map","export class Service {\n constructor() {\n this.framework = {};\n }\n\n init(root, ssrContext) {}\n\n}\n//# sourceMappingURL=index.js.map","// Preset\nimport { preset as Preset } from '../../presets/default'; // Utilities\n\nimport { consoleWarn } from '../../util/console';\nimport { mergeDeep } from '../../util/helpers';\nimport { Service } from '../service';\nexport class Presets extends Service {\n constructor(parentPreset, parent) {\n super(); // The default preset\n\n const defaultPreset = mergeDeep({}, Preset); // The user provided preset\n\n const {\n userPreset\n } = parent; // The user provided global preset\n\n const {\n preset: globalPreset = {},\n ...preset\n } = userPreset;\n\n if (globalPreset.preset != null) {\n consoleWarn('Global presets do not support the **preset** option, it can be safely omitted');\n }\n\n parent.preset = mergeDeep(mergeDeep(defaultPreset, globalPreset), preset);\n }\n\n}\nPresets.property = 'presets';\n//# sourceMappingURL=index.js.map","// Extensions\nimport { Service } from '../service';\nexport class Application extends Service {\n constructor() {\n super(...arguments);\n this.bar = 0;\n this.top = 0;\n this.left = 0;\n this.insetFooter = 0;\n this.right = 0;\n this.bottom = 0;\n this.footer = 0;\n this.application = {\n bar: {},\n top: {},\n left: {},\n insetFooter: {},\n right: {},\n bottom: {},\n footer: {}\n };\n }\n\n register(uid, location, size) {\n this.application[location][uid] = size;\n this.update(location);\n }\n\n unregister(uid, location) {\n if (this.application[location][uid] == null) return;\n delete this.application[location][uid];\n this.update(location);\n }\n\n update(location) {\n this[location] = Object.values(this.application[location]).reduce((acc, cur) => acc + cur, 0);\n }\n\n}\nApplication.property = 'application';\n//# sourceMappingURL=index.js.map","// Extensions\nimport { Service } from '../service';\nexport class Breakpoint extends Service {\n constructor(preset) {\n super(); // Public\n\n this.xs = false;\n this.sm = false;\n this.md = false;\n this.lg = false;\n this.xl = false;\n this.xsOnly = false;\n this.smOnly = false;\n this.smAndDown = false;\n this.smAndUp = false;\n this.mdOnly = false;\n this.mdAndDown = false;\n this.mdAndUp = false;\n this.lgOnly = false;\n this.lgAndDown = false;\n this.lgAndUp = false;\n this.xlOnly = false; // Value is xs to match v2.x functionality\n\n this.name = 'xs';\n this.height = 0;\n this.width = 0; // TODO: Add functionality to detect this dynamically in v3\n // Value is true to match v2.x functionality\n\n this.mobile = true;\n this.resizeTimeout = 0;\n const {\n mobileBreakpoint,\n scrollBarWidth,\n thresholds\n } = preset[Breakpoint.property];\n this.mobileBreakpoint = mobileBreakpoint;\n this.scrollBarWidth = scrollBarWidth;\n this.thresholds = thresholds;\n }\n\n init() {\n this.update();\n /* istanbul ignore if */\n\n if (typeof window === 'undefined') return;\n window.addEventListener('resize', this.onResize.bind(this), {\n passive: true\n });\n }\n /* eslint-disable-next-line max-statements */\n\n\n update(ssr = false) {\n const height = ssr ? 0 : this.getClientHeight();\n const width = ssr ? 0 : this.getClientWidth();\n const xs = width < this.thresholds.xs;\n const sm = width < this.thresholds.sm && !xs;\n const md = width < this.thresholds.md - this.scrollBarWidth && !(sm || xs);\n const lg = width < this.thresholds.lg - this.scrollBarWidth && !(md || sm || xs);\n const xl = width >= this.thresholds.lg - this.scrollBarWidth;\n this.height = height;\n this.width = width;\n this.xs = xs;\n this.sm = sm;\n this.md = md;\n this.lg = lg;\n this.xl = xl;\n this.xsOnly = xs;\n this.smOnly = sm;\n this.smAndDown = (xs || sm) && !(md || lg || xl);\n this.smAndUp = !xs && (sm || md || lg || xl);\n this.mdOnly = md;\n this.mdAndDown = (xs || sm || md) && !(lg || xl);\n this.mdAndUp = !(xs || sm) && (md || lg || xl);\n this.lgOnly = lg;\n this.lgAndDown = (xs || sm || md || lg) && !xl;\n this.lgAndUp = !(xs || sm || md) && (lg || xl);\n this.xlOnly = xl;\n\n switch (true) {\n case xs:\n this.name = 'xs';\n break;\n\n case sm:\n this.name = 'sm';\n break;\n\n case md:\n this.name = 'md';\n break;\n\n case lg:\n this.name = 'lg';\n break;\n\n default:\n this.name = 'xl';\n break;\n }\n\n if (typeof this.mobileBreakpoint === 'number') {\n this.mobile = width < parseInt(this.mobileBreakpoint, 10);\n return;\n }\n\n const breakpoints = {\n xs: 0,\n sm: 1,\n md: 2,\n lg: 3,\n xl: 4\n };\n const current = breakpoints[this.name];\n const max = breakpoints[this.mobileBreakpoint];\n this.mobile = current <= max;\n }\n\n onResize() {\n clearTimeout(this.resizeTimeout); // Added debounce to match what\n // v-resize used to do but was\n // removed due to a memory leak\n // https://github.com/vuetifyjs/vuetify/pull/2997\n\n this.resizeTimeout = window.setTimeout(this.update.bind(this), 200);\n } // Cross-browser support as described in:\n // https://stackoverflow.com/questions/1248081\n\n\n getClientWidth() {\n /* istanbul ignore if */\n if (typeof document === 'undefined') return 0; // SSR\n\n return Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n\n getClientHeight() {\n /* istanbul ignore if */\n if (typeof document === 'undefined') return 0; // SSR\n\n return Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n }\n\n}\nBreakpoint.property = 'breakpoint';\n//# sourceMappingURL=index.js.map","// linear\nexport const linear = t => t; // accelerating from zero velocity\n\nexport const easeInQuad = t => t ** 2; // decelerating to zero velocity\n\nexport const easeOutQuad = t => t * (2 - t); // acceleration until halfway, then deceleration\n\nexport const easeInOutQuad = t => t < 0.5 ? 2 * t ** 2 : -1 + (4 - 2 * t) * t; // accelerating from zero velocity\n\nexport const easeInCubic = t => t ** 3; // decelerating to zero velocity\n\nexport const easeOutCubic = t => --t ** 3 + 1; // acceleration until halfway, then deceleration\n\nexport const easeInOutCubic = t => t < 0.5 ? 4 * t ** 3 : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1; // accelerating from zero velocity\n\nexport const easeInQuart = t => t ** 4; // decelerating to zero velocity\n\nexport const easeOutQuart = t => 1 - --t ** 4; // acceleration until halfway, then deceleration\n\nexport const easeInOutQuart = t => t < 0.5 ? 8 * t * t * t * t : 1 - 8 * --t * t * t * t; // accelerating from zero velocity\n\nexport const easeInQuint = t => t ** 5; // decelerating to zero velocity\n\nexport const easeOutQuint = t => 1 + --t ** 5; // acceleration until halfway, then deceleration\n\nexport const easeInOutQuint = t => t < 0.5 ? 16 * t ** 5 : 1 + 16 * --t ** 5;\n//# sourceMappingURL=easing-patterns.js.map","// Return target's cumulative offset from the top\nexport function getOffset(target) {\n if (typeof target === 'number') {\n return target;\n }\n\n let el = $(target);\n\n if (!el) {\n throw typeof target === 'string' ? new Error(`Target element \"${target}\" not found.`) : new TypeError(`Target must be a Number/Selector/HTMLElement/VueComponent, received ${type(target)} instead.`);\n }\n\n let totalOffset = 0;\n\n while (el) {\n totalOffset += el.offsetTop;\n el = el.offsetParent;\n }\n\n return totalOffset;\n}\nexport function getContainer(container) {\n const el = $(container);\n if (el) return el;\n throw typeof container === 'string' ? new Error(`Container element \"${container}\" not found.`) : new TypeError(`Container must be a Selector/HTMLElement/VueComponent, received ${type(container)} instead.`);\n}\n\nfunction type(el) {\n return el == null ? el : el.constructor.name;\n}\n\nfunction $(el) {\n if (typeof el === 'string') {\n return document.querySelector(el);\n } else if (el && el._isVue) {\n return el.$el;\n } else if (el instanceof HTMLElement) {\n return el;\n } else {\n return null;\n }\n}\n//# sourceMappingURL=util.js.map","// Extensions\nimport { Service } from '../service'; // Utilities\n\nimport * as easingPatterns from './easing-patterns';\nimport { getContainer, getOffset } from './util';\nexport default function goTo(_target, _settings = {}) {\n const settings = {\n container: document.scrollingElement || document.body || document.documentElement,\n duration: 500,\n offset: 0,\n easing: 'easeInOutCubic',\n appOffset: true,\n ..._settings\n };\n const container = getContainer(settings.container);\n /* istanbul ignore else */\n\n if (settings.appOffset && goTo.framework.application) {\n const isDrawer = container.classList.contains('v-navigation-drawer');\n const isClipped = container.classList.contains('v-navigation-drawer--clipped');\n const {\n bar,\n top\n } = goTo.framework.application;\n settings.offset += bar;\n /* istanbul ignore else */\n\n if (!isDrawer || isClipped) settings.offset += top;\n }\n\n const startTime = performance.now();\n let targetLocation;\n\n if (typeof _target === 'number') {\n targetLocation = getOffset(_target) - settings.offset;\n } else {\n targetLocation = getOffset(_target) - getOffset(container) - settings.offset;\n }\n\n const startLocation = container.scrollTop;\n if (targetLocation === startLocation) return Promise.resolve(targetLocation);\n const ease = typeof settings.easing === 'function' ? settings.easing : easingPatterns[settings.easing];\n /* istanbul ignore else */\n\n if (!ease) throw new TypeError(`Easing function \"${settings.easing}\" not found.`); // Cannot be tested properly in jsdom\n\n /* istanbul ignore next */\n\n return new Promise(resolve => requestAnimationFrame(function step(currentTime) {\n const timeElapsed = currentTime - startTime;\n const progress = Math.abs(settings.duration ? Math.min(timeElapsed / settings.duration, 1) : 1);\n container.scrollTop = Math.floor(startLocation + (targetLocation - startLocation) * ease(progress));\n const clientHeight = container === document.body ? document.documentElement.clientHeight : container.clientHeight;\n const reachBottom = clientHeight + container.scrollTop >= container.scrollHeight;\n\n if (progress === 1 || // Need to go lower but reach bottom\n targetLocation > container.scrollTop && reachBottom) {\n return resolve(targetLocation);\n }\n\n requestAnimationFrame(step);\n }));\n}\ngoTo.framework = {};\n\ngoTo.init = () => {};\n\nexport class Goto extends Service {\n constructor() {\n super();\n return goTo;\n }\n\n}\nGoto.property = 'goTo';\n//# sourceMappingURL=index.js.map","const icons = {\n complete: 'M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z',\n cancel: 'M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z',\n close: 'M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z',\n delete: 'M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z',\n clear: 'M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z',\n success: 'M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M10 17L5 12L6.41 10.59L10 14.17L17.59 6.58L19 8L10 17Z',\n info: 'M13,9H11V7H13M13,17H11V11H13M12,2C6.48,2 2,6.48 2,12C2,17.52 6.48,22 12,22C17.52,22 22,17.52 22,12C22,6.48 17.52,2 12,2ZM13,9H11V7H13M13,17H11V11H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z',\n warning: 'M13,13H11V7H13M13,17H11V15H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z',\n error: 'M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z',\n prev: 'M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z',\n next: 'M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z',\n checkboxOn: 'M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.89 20.1,3 19,3Z',\n checkboxOff: 'M19,3H5C3.89,3 3,3.89 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.89 20.1,3 19,3M19,5V19H5V5H19Z',\n checkboxIndeterminate: 'M17,13H7V11H17M19,3H5C3.89,3 3,3.89 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.89 20.1,3 19,3Z',\n delimiter: 'M12,2C6.48,2 2,6.48 2,12C2,17.52 6.48,22 12,22C17.52,22 22,17.52 22,12C22,6.48 17.52,2 12,2Z',\n sort: 'M13,20H11V8L5.5,13.5L4.08,12.08L12,4.16L19.92,12.08L18.5,13.5L13,8V20Z',\n expand: 'M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z',\n menu: 'M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z',\n subgroup: 'M7,10L12,15L17,10H7Z',\n dropdown: 'M7,10L12,15L17,10H7Z',\n radioOn: 'M12,20C7.58,20 4,16.42 4,12C4,7.58 7.58,4 12,4C16.42,4 20,7.58 20,12C20,16.42 16.42,20 12,20M12,2C6.48,2 2,6.48 2,12C2,17.52 6.48,22 12,22C17.52,22 22,17.52 22,12C22,6.48 17.52,2 12,2M12,7C9.24,7 7,9.24 7,12C7,14.76 9.24,17 12,17C14.76,17 17,14.76 17,12C17,9.24 14.76,7 12,7Z',\n radioOff: 'M12,20C7.58,20 4,16.42 4,12C4,7.58 7.58,4 12,4C16.42,4 20,7.58 20,12C20,16.42 16.42,20 12,20M12,2C6.48,2 2,6.48 2,12C2,17.52 6.48,22 12,22C17.52,22 22,17.52 22,12C22,6.48 17.52,2 12,2Z',\n edit: 'M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z',\n ratingEmpty: 'M12,15.39L8.24,17.66L9.23,13.38L5.91,10.5L10.29,10.13L12,6.09L13.71,10.13L18.09,10.5L14.77,13.38L15.76,17.66M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z',\n ratingFull: 'M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z',\n ratingHalf: 'M12,15.4V6.1L13.71,10.13L18.09,10.5L14.77,13.39L15.76,17.67M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z',\n loading: 'M19,8L15,12H18C18,15.31 15.31,18 12,18C11,18 10.03,17.75 9.2,17.3L7.74,18.76C8.97,19.54 10.43,20 12,20C16.42,20 20,16.42 20,12H23M6,12C6,8.69 8.69,6 12,6C13,6 13.97,6.25 14.8,6.7L16.26,5.24C15.03,4.46 13.57,4 12,4C7.58,4 4,7.58 4,12H1L5,16L9,12',\n first: 'M18.41,16.59L13.82,12L18.41,7.41L17,6L11,12L17,18L18.41,16.59M6,6H8V18H6V6Z',\n last: 'M5.59,7.41L10.18,12L5.59,16.59L7,18L13,12L7,6L5.59,7.41M16,6H18V18H16V6Z',\n unfold: 'M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z',\n file: 'M16.5,6V17.5C16.5,19.71 14.71,21.5 12.5,21.5C10.29,21.5 8.5,19.71 8.5,17.5V5C8.5,3.62 9.62,2.5 11,2.5C12.38,2.5 13.5,3.62 13.5,5V15.5C13.5,16.05 13.05,16.5 12.5,16.5C11.95,16.5 11.5,16.05 11.5,15.5V6H10V15.5C10,16.88 11.12,18 12.5,18C13.88,18 15,16.88 15,15.5V5C15,2.79 13.21,1 11,1C8.79,1 7,2.79 7,5V17.5C7,20.54 9.46,23 12.5,23C15.54,23 18,20.54 18,17.5V6H16.5Z',\n plus: 'M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z',\n minus: 'M19,13H5V11H19V13Z'\n};\nexport default icons;\n//# sourceMappingURL=mdi-svg.js.map","const icons = {\n complete: 'check',\n cancel: 'cancel',\n close: 'close',\n delete: 'cancel',\n clear: 'clear',\n success: 'check_circle',\n info: 'info',\n warning: 'priority_high',\n error: 'warning',\n prev: 'chevron_left',\n next: 'chevron_right',\n checkboxOn: 'check_box',\n checkboxOff: 'check_box_outline_blank',\n checkboxIndeterminate: 'indeterminate_check_box',\n delimiter: 'fiber_manual_record',\n sort: 'arrow_upward',\n expand: 'keyboard_arrow_down',\n menu: 'menu',\n subgroup: 'arrow_drop_down',\n dropdown: 'arrow_drop_down',\n radioOn: 'radio_button_checked',\n radioOff: 'radio_button_unchecked',\n edit: 'edit',\n ratingEmpty: 'star_border',\n ratingFull: 'star',\n ratingHalf: 'star_half',\n loading: 'cached',\n first: 'first_page',\n last: 'last_page',\n unfold: 'unfold_more',\n file: 'attach_file',\n plus: 'add',\n minus: 'remove'\n};\nexport default icons;\n//# sourceMappingURL=md.js.map","const icons = {\n complete: 'mdi-check',\n cancel: 'mdi-close-circle',\n close: 'mdi-close',\n delete: 'mdi-close-circle',\n clear: 'mdi-close',\n success: 'mdi-check-circle',\n info: 'mdi-information',\n warning: 'mdi-exclamation',\n error: 'mdi-alert',\n prev: 'mdi-chevron-left',\n next: 'mdi-chevron-right',\n checkboxOn: 'mdi-checkbox-marked',\n checkboxOff: 'mdi-checkbox-blank-outline',\n checkboxIndeterminate: 'mdi-minus-box',\n delimiter: 'mdi-circle',\n sort: 'mdi-arrow-up',\n expand: 'mdi-chevron-down',\n menu: 'mdi-menu',\n subgroup: 'mdi-menu-down',\n dropdown: 'mdi-menu-down',\n radioOn: 'mdi-radiobox-marked',\n radioOff: 'mdi-radiobox-blank',\n edit: 'mdi-pencil',\n ratingEmpty: 'mdi-star-outline',\n ratingFull: 'mdi-star',\n ratingHalf: 'mdi-star-half-full',\n loading: 'mdi-cached',\n first: 'mdi-page-first',\n last: 'mdi-page-last',\n unfold: 'mdi-unfold-more-horizontal',\n file: 'mdi-paperclip',\n plus: 'mdi-plus',\n minus: 'mdi-minus'\n};\nexport default icons;\n//# sourceMappingURL=mdi.js.map","const icons = {\n complete: 'fas fa-check',\n cancel: 'fas fa-times-circle',\n close: 'fas fa-times',\n delete: 'fas fa-times-circle',\n clear: 'fas fa-times-circle',\n success: 'fas fa-check-circle',\n info: 'fas fa-info-circle',\n warning: 'fas fa-exclamation-circle',\n error: 'fas fa-exclamation-triangle',\n prev: 'fas fa-chevron-left',\n next: 'fas fa-chevron-right',\n checkboxOn: 'fas fa-check-square',\n checkboxOff: 'far fa-square',\n checkboxIndeterminate: 'fas fa-minus-square',\n delimiter: 'fas fa-circle',\n sort: 'fas fa-sort-up',\n expand: 'fas fa-chevron-down',\n menu: 'fas fa-bars',\n subgroup: 'fas fa-caret-down',\n dropdown: 'fas fa-caret-down',\n radioOn: 'far fa-dot-circle',\n radioOff: 'far fa-circle',\n edit: 'fas fa-edit',\n ratingEmpty: 'far fa-star',\n ratingFull: 'fas fa-star',\n ratingHalf: 'fas fa-star-half',\n loading: 'fas fa-sync',\n first: 'fas fa-step-backward',\n last: 'fas fa-step-forward',\n unfold: 'fas fa-arrows-alt-v',\n file: 'fas fa-paperclip',\n plus: 'fas fa-plus',\n minus: 'fas fa-minus'\n};\nexport default icons;\n//# sourceMappingURL=fa.js.map","const icons = {\n complete: 'fa fa-check',\n cancel: 'fa fa-times-circle',\n close: 'fa fa-times',\n delete: 'fa fa-times-circle',\n clear: 'fa fa-times-circle',\n success: 'fa fa-check-circle',\n info: 'fa fa-info-circle',\n warning: 'fa fa-exclamation',\n error: 'fa fa-exclamation-triangle',\n prev: 'fa fa-chevron-left',\n next: 'fa fa-chevron-right',\n checkboxOn: 'fa fa-check-square',\n checkboxOff: 'fa fa-square-o',\n checkboxIndeterminate: 'fa fa-minus-square',\n delimiter: 'fa fa-circle',\n sort: 'fa fa-sort-up',\n expand: 'fa fa-chevron-down',\n menu: 'fa fa-bars',\n subgroup: 'fa fa-caret-down',\n dropdown: 'fa fa-caret-down',\n radioOn: 'fa fa-dot-circle-o',\n radioOff: 'fa fa-circle-o',\n edit: 'fa fa-pencil',\n ratingEmpty: 'fa fa-star-o',\n ratingFull: 'fa fa-star',\n ratingHalf: 'fa fa-star-half-o',\n loading: 'fa fa-refresh',\n first: 'fa fa-step-backward',\n last: 'fa fa-step-forward',\n unfold: 'fa fa-angle-double-down',\n file: 'fa fa-paperclip',\n plus: 'fa fa-plus',\n minus: 'fa fa-minus'\n};\nexport default icons;\n//# sourceMappingURL=fa4.js.map","import icons from './fa';\nexport function convertToComponentDeclarations(component, iconSet) {\n const result = {};\n\n for (const key in iconSet) {\n result[key] = {\n component,\n props: {\n icon: iconSet[key].split(' fa-')\n }\n };\n }\n\n return result;\n}\nexport default convertToComponentDeclarations('font-awesome-icon', icons);\n//# sourceMappingURL=fa-svg.js.map","import mdiSvg from './mdi-svg';\nimport md from './md';\nimport mdi from './mdi';\nimport fa from './fa';\nimport fa4 from './fa4';\nimport faSvg from './fa-svg';\nexport default Object.freeze({\n mdiSvg,\n md,\n mdi,\n fa,\n fa4,\n faSvg\n});\n//# sourceMappingURL=index.js.map","// Extensions\nimport { Service } from '../service'; // Utilities\n\nimport { mergeDeep } from '../../util/helpers'; // Presets\n\nimport presets from './presets';\nexport class Icons extends Service {\n constructor(preset) {\n super();\n const {\n iconfont,\n values,\n component\n } = preset[Icons.property];\n this.component = component;\n this.iconfont = iconfont;\n this.values = mergeDeep(presets[iconfont], values);\n }\n\n}\nIcons.property = 'icons';\n//# sourceMappingURL=index.js.map","// Extensions\nimport { Service } from '../service'; // Utilities\n\nimport { getObjectValueByPath } from '../../util/helpers';\nimport { consoleError, consoleWarn } from '../../util/console';\nconst LANG_PREFIX = '$vuetify.';\nconst fallback = Symbol('Lang fallback');\n\nfunction getTranslation(locale, key, usingDefault = false, defaultLocale) {\n const shortKey = key.replace(LANG_PREFIX, '');\n let translation = getObjectValueByPath(locale, shortKey, fallback);\n\n if (translation === fallback) {\n if (usingDefault) {\n consoleError(`Translation key \"${shortKey}\" not found in fallback`);\n translation = key;\n } else {\n consoleWarn(`Translation key \"${shortKey}\" not found, falling back to default`);\n translation = getTranslation(defaultLocale, key, true, defaultLocale);\n }\n }\n\n return translation;\n}\n\nexport class Lang extends Service {\n constructor(preset) {\n super();\n this.defaultLocale = 'en';\n const {\n current,\n locales,\n t\n } = preset[Lang.property];\n this.current = current;\n this.locales = locales;\n this.translator = t || this.defaultTranslator;\n }\n\n currentLocale(key) {\n const translation = this.locales[this.current];\n const defaultLocale = this.locales[this.defaultLocale];\n return getTranslation(translation, key, false, defaultLocale);\n }\n\n t(key, ...params) {\n if (!key.startsWith(LANG_PREFIX)) return this.replace(key, params);\n return this.translator(key, ...params);\n }\n\n defaultTranslator(key, ...params) {\n return this.replace(this.currentLocale(key), params);\n }\n\n replace(str, params) {\n return str.replace(/\\{(\\d+)\\}/g, (match, index) => {\n /* istanbul ignore next */\n return String(params[+index]);\n });\n }\n\n}\nLang.property = 'lang';\n//# sourceMappingURL=index.js.map","const delta = 0.20689655172413793; // 6÷29\n\nconst cielabForwardTransform = t => t > delta ** 3 ? Math.cbrt(t) : t / (3 * delta ** 2) + 4 / 29;\n\nconst cielabReverseTransform = t => t > delta ? t ** 3 : 3 * delta ** 2 * (t - 4 / 29);\n\nexport function fromXYZ(xyz) {\n const transform = cielabForwardTransform;\n const transformedY = transform(xyz[1]);\n return [116 * transformedY - 16, 500 * (transform(xyz[0] / 0.95047) - transformedY), 200 * (transformedY - transform(xyz[2] / 1.08883))];\n}\nexport function toXYZ(lab) {\n const transform = cielabReverseTransform;\n const Ln = (lab[0] + 16) / 116;\n return [transform(Ln + lab[1] / 500) * 0.95047, transform(Ln), transform(Ln - lab[2] / 200) * 1.08883];\n}\n//# sourceMappingURL=transformCIELAB.js.map","import { keys } from '../../util/helpers';\nimport { colorToInt, intToHex, colorToHex } from '../../util/colorUtils';\nimport * as sRGB from '../../util/color/transformSRGB';\nimport * as LAB from '../../util/color/transformCIELAB';\nexport function parse(theme, isItem = false, variations = true) {\n const {\n anchor,\n ...variant\n } = theme;\n const colors = Object.keys(variant);\n const parsedTheme = {};\n\n for (let i = 0; i < colors.length; ++i) {\n const name = colors[i];\n const value = theme[name];\n if (value == null) continue;\n\n if (!variations) {\n parsedTheme[name] = {\n base: intToHex(colorToInt(value))\n };\n } else if (isItem) {\n /* istanbul ignore else */\n if (name === 'base' || name.startsWith('lighten') || name.startsWith('darken')) {\n parsedTheme[name] = colorToHex(value);\n }\n } else if (typeof value === 'object') {\n parsedTheme[name] = parse(value, true, variations);\n } else {\n parsedTheme[name] = genVariations(name, colorToInt(value));\n }\n }\n\n if (!isItem) {\n parsedTheme.anchor = anchor || parsedTheme.base || parsedTheme.primary.base;\n }\n\n return parsedTheme;\n}\n/**\n * Generate the CSS for a base color (.primary)\n */\n\nconst genBaseColor = (name, value) => {\n return `\n.v-application .${name} {\n background-color: ${value} !important;\n border-color: ${value} !important;\n}\n.v-application .${name}--text {\n color: ${value} !important;\n caret-color: ${value} !important;\n}`;\n};\n/**\n * Generate the CSS for a variant color (.primary.darken-2)\n */\n\n\nconst genVariantColor = (name, variant, value) => {\n const [type, n] = variant.split(/(\\d)/, 2);\n return `\n.v-application .${name}.${type}-${n} {\n background-color: ${value} !important;\n border-color: ${value} !important;\n}\n.v-application .${name}--text.text--${type}-${n} {\n color: ${value} !important;\n caret-color: ${value} !important;\n}`;\n};\n\nconst genColorVariableName = (name, variant = 'base') => `--v-${name}-${variant}`;\n\nconst genColorVariable = (name, variant = 'base') => `var(${genColorVariableName(name, variant)})`;\n\nexport function genStyles(theme, cssVar = false) {\n const {\n anchor,\n ...variant\n } = theme;\n const colors = Object.keys(variant);\n if (!colors.length) return '';\n let variablesCss = '';\n let css = '';\n const aColor = cssVar ? genColorVariable('anchor') : anchor;\n css += `.v-application a { color: ${aColor}; }`;\n cssVar && (variablesCss += ` ${genColorVariableName('anchor')}: ${anchor};\\n`);\n\n for (let i = 0; i < colors.length; ++i) {\n const name = colors[i];\n const value = theme[name];\n css += genBaseColor(name, cssVar ? genColorVariable(name) : value.base);\n cssVar && (variablesCss += ` ${genColorVariableName(name)}: ${value.base};\\n`);\n const variants = keys(value);\n\n for (let i = 0; i < variants.length; ++i) {\n const variant = variants[i];\n const variantValue = value[variant];\n if (variant === 'base') continue;\n css += genVariantColor(name, variant, cssVar ? genColorVariable(name, variant) : variantValue);\n cssVar && (variablesCss += ` ${genColorVariableName(name, variant)}: ${variantValue};\\n`);\n }\n }\n\n if (cssVar) {\n variablesCss = `:root {\\n${variablesCss}}\\n\\n`;\n }\n\n return variablesCss + css;\n}\nexport function genVariations(name, value) {\n const values = {\n base: intToHex(value)\n };\n\n for (let i = 5; i > 0; --i) {\n values[`lighten${i}`] = intToHex(lighten(value, i));\n }\n\n for (let i = 1; i <= 4; ++i) {\n values[`darken${i}`] = intToHex(darken(value, i));\n }\n\n return values;\n}\nexport function lighten(value, amount) {\n const lab = LAB.fromXYZ(sRGB.toXYZ(value));\n lab[0] = lab[0] + amount * 10;\n return sRGB.fromXYZ(LAB.toXYZ(lab));\n}\nexport function darken(value, amount) {\n const lab = LAB.fromXYZ(sRGB.toXYZ(value));\n lab[0] = lab[0] - amount * 10;\n return sRGB.fromXYZ(LAB.toXYZ(lab));\n}\n//# sourceMappingURL=utils.js.map","/* eslint-disable no-multi-spaces */\n// Extensions\nimport { Service } from '../service'; // Utilities\n\nimport * as ThemeUtils from './utils';\nimport { getNestedValue } from '../../util/helpers'; // Types\n\nimport Vue from 'vue';\nexport class Theme extends Service {\n constructor(preset) {\n super();\n this.disabled = false;\n this.isDark = null;\n this.unwatch = null;\n this.vueMeta = null;\n const {\n dark,\n disable,\n options,\n themes\n } = preset[Theme.property];\n this.dark = Boolean(dark);\n this.defaults = this.themes = themes;\n this.options = options;\n\n if (disable) {\n this.disabled = true;\n return;\n }\n\n this.themes = {\n dark: this.fillVariant(themes.dark, true),\n light: this.fillVariant(themes.light, false)\n };\n } // When setting css, check for element and apply new values\n\n /* eslint-disable-next-line accessor-pairs */\n\n\n set css(val) {\n if (this.vueMeta) {\n if (this.isVueMeta23) {\n this.applyVueMeta23();\n }\n\n return;\n }\n\n this.checkOrCreateStyleElement() && (this.styleEl.innerHTML = val);\n }\n\n set dark(val) {\n const oldDark = this.isDark;\n this.isDark = val; // Only apply theme after dark\n // has already been set before\n\n oldDark != null && this.applyTheme();\n }\n\n get dark() {\n return Boolean(this.isDark);\n } // Apply current theme default\n // only called on client side\n\n\n applyTheme() {\n if (this.disabled) return this.clearCss();\n this.css = this.generatedStyles;\n }\n\n clearCss() {\n this.css = '';\n } // Initialize theme for SSR and SPA\n // Attach to ssrContext head or\n // apply new theme to document\n\n\n init(root, ssrContext) {\n if (this.disabled) return;\n /* istanbul ignore else */\n\n if (root.$meta) {\n this.initVueMeta(root);\n } else if (ssrContext) {\n this.initSSR(ssrContext);\n }\n\n this.initTheme(root);\n } // Allows for you to set target theme\n\n\n setTheme(theme, value) {\n this.themes[theme] = Object.assign(this.themes[theme], value);\n this.applyTheme();\n } // Reset theme defaults\n\n\n resetThemes() {\n this.themes.light = Object.assign({}, this.defaults.light);\n this.themes.dark = Object.assign({}, this.defaults.dark);\n this.applyTheme();\n } // Check for existence of style element\n\n\n checkOrCreateStyleElement() {\n this.styleEl = document.getElementById('vuetify-theme-stylesheet');\n /* istanbul ignore next */\n\n if (this.styleEl) return true;\n this.genStyleElement(); // If doesn't have it, create it\n\n return Boolean(this.styleEl);\n }\n\n fillVariant(theme = {}, dark) {\n const defaultTheme = this.themes[dark ? 'dark' : 'light'];\n return Object.assign({}, defaultTheme, theme);\n } // Generate the style element\n // if applicable\n\n\n genStyleElement() {\n /* istanbul ignore if */\n if (typeof document === 'undefined') return;\n /* istanbul ignore next */\n\n this.styleEl = document.createElement('style');\n this.styleEl.type = 'text/css';\n this.styleEl.id = 'vuetify-theme-stylesheet';\n\n if (this.options.cspNonce) {\n this.styleEl.setAttribute('nonce', this.options.cspNonce);\n }\n\n document.head.appendChild(this.styleEl);\n }\n\n initVueMeta(root) {\n this.vueMeta = root.$meta();\n\n if (this.isVueMeta23) {\n // vue-meta needs to apply after mounted()\n root.$nextTick(() => {\n this.applyVueMeta23();\n });\n return;\n }\n\n const metaKeyName = typeof this.vueMeta.getOptions === 'function' ? this.vueMeta.getOptions().keyName : 'metaInfo';\n const metaInfo = root.$options[metaKeyName] || {};\n\n root.$options[metaKeyName] = () => {\n metaInfo.style = metaInfo.style || [];\n const vuetifyStylesheet = metaInfo.style.find(s => s.id === 'vuetify-theme-stylesheet');\n\n if (!vuetifyStylesheet) {\n metaInfo.style.push({\n cssText: this.generatedStyles,\n type: 'text/css',\n id: 'vuetify-theme-stylesheet',\n nonce: (this.options || {}).cspNonce\n });\n } else {\n vuetifyStylesheet.cssText = this.generatedStyles;\n }\n\n return metaInfo;\n };\n }\n\n applyVueMeta23() {\n const {\n set\n } = this.vueMeta.addApp('vuetify');\n set({\n style: [{\n cssText: this.generatedStyles,\n type: 'text/css',\n id: 'vuetify-theme-stylesheet',\n nonce: this.options.cspNonce\n }]\n });\n }\n\n initSSR(ssrContext) {\n // SSR\n const nonce = this.options.cspNonce ? ` nonce=\"${this.options.cspNonce}\"` : '';\n ssrContext.head = ssrContext.head || '';\n ssrContext.head += `<style type=\"text/css\" id=\"vuetify-theme-stylesheet\"${nonce}>${this.generatedStyles}</style>`;\n }\n\n initTheme(root) {\n // Only watch for reactivity on client side\n if (typeof document === 'undefined') return; // If we get here somehow, ensure\n // existing instance is removed\n\n if (this.unwatch) {\n this.unwatch();\n this.unwatch = null;\n } // TODO: Update to use RFC if merged\n // https://github.com/vuejs/rfcs/blob/advanced-reactivity-api/active-rfcs/0000-advanced-reactivity-api.md\n\n\n root.$once('hook:created', () => {\n const obs = Vue.observable({\n themes: this.themes\n });\n this.unwatch = root.$watch(() => obs.themes, () => this.applyTheme(), {\n deep: true\n });\n });\n this.applyTheme();\n }\n\n get currentTheme() {\n const target = this.dark ? 'dark' : 'light';\n return this.themes[target];\n }\n\n get generatedStyles() {\n const theme = this.parsedTheme;\n /* istanbul ignore next */\n\n const options = this.options || {};\n let css;\n\n if (options.themeCache != null) {\n css = options.themeCache.get(theme);\n /* istanbul ignore if */\n\n if (css != null) return css;\n }\n\n css = ThemeUtils.genStyles(theme, options.customProperties);\n\n if (options.minifyTheme != null) {\n css = options.minifyTheme(css);\n }\n\n if (options.themeCache != null) {\n options.themeCache.set(theme, css);\n }\n\n return css;\n }\n\n get parsedTheme() {\n return ThemeUtils.parse(this.currentTheme || {}, undefined, getNestedValue(this.options, ['variations'], true));\n } // Is using v2.3 of vue-meta\n // https://github.com/nuxt/vue-meta/releases/tag/v2.3.0\n\n\n get isVueMeta23() {\n return typeof this.vueMeta.addApp === 'function';\n }\n\n}\nTheme.property = 'theme';\n//# sourceMappingURL=index.js.map","import { install } from './install'; // Services\n\nimport * as services from './services';\nexport default class Vuetify {\n constructor(userPreset = {}) {\n this.framework = {\n isHydrating: false\n };\n this.installed = [];\n this.preset = {};\n this.userPreset = {};\n this.userPreset = userPreset;\n this.use(services.Presets);\n this.use(services.Application);\n this.use(services.Breakpoint);\n this.use(services.Goto);\n this.use(services.Icons);\n this.use(services.Lang);\n this.use(services.Theme);\n } // Called on the new vuetify instance\n // bootstrap in install beforeCreate\n // Exposes ssrContext if available\n\n\n init(root, ssrContext) {\n this.installed.forEach(property => {\n const service = this.framework[property];\n service.framework = this.framework;\n service.init(root, ssrContext);\n }); // rtl is not installed and\n // will never be called by\n // the init process\n\n this.framework.rtl = Boolean(this.preset.rtl);\n } // Instantiate a VuetifyService\n\n\n use(Service) {\n const property = Service.property;\n if (this.installed.includes(property)) return; // TODO maybe a specific type for arg 2?\n\n this.framework[property] = new Service(this.preset, this);\n this.installed.push(property);\n }\n\n}\nVuetify.install = install;\nVuetify.installed = false;\nVuetify.version = \"2.7.2\";\nVuetify.config = {\n silent: false\n};\n//# sourceMappingURL=framework.js.map","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(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 (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","\"use strict\";\nconst http = require('http');\nconst https = require('https');\nconst xml2js = require('xml2js');\nconst url = require('url');\n\nconst fields = require('./fields');\nconst utils = require('./utils');\n\nconst DEFAULT_HEADERS = {\n 'User-Agent': 'rss-parser',\n 'Accept': 'application/rss+xml',\n}\nconst DEFAULT_MAX_REDIRECTS = 5;\nconst DEFAULT_TIMEOUT = 60000;\n\nclass Parser {\n constructor(options={}) {\n options.headers = options.headers || {};\n options.xml2js = options.xml2js || {};\n options.customFields = options.customFields || {};\n options.customFields.item = options.customFields.item || [];\n options.customFields.feed = options.customFields.feed || [];\n options.requestOptions = options.requestOptions || {};\n if (!options.maxRedirects) options.maxRedirects = DEFAULT_MAX_REDIRECTS;\n if (!options.timeout) options.timeout = DEFAULT_TIMEOUT;\n this.options = options;\n this.xmlParser = new xml2js.Parser(this.options.xml2js);\n }\n\n parseString(xml, callback) {\n let prom = new Promise((resolve, reject) => {\n this.xmlParser.parseString(xml, (err, result) => {\n if (err) return reject(err);\n if (!result) {\n return reject(new Error('Unable to parse XML.'));\n }\n let feed = null;\n if (result.feed) {\n feed = this.buildAtomFeed(result);\n } else if (result.rss && result.rss.$ && result.rss.$.version && result.rss.$.version.match(/^2/)) {\n feed = this.buildRSS2(result);\n } else if (result['rdf:RDF']) {\n feed = this.buildRSS1(result);\n } else if (result.rss && result.rss.$ && result.rss.$.version && result.rss.$.version.match(/0\\.9/)) {\n feed = this.buildRSS0_9(result);\n } else if (result.rss && this.options.defaultRSS) {\n switch(this.options.defaultRSS) {\n case 0.9:\n feed = this.buildRSS0_9(result);\n break;\n case 1:\n feed = this.buildRSS1(result);\n break;\n case 2:\n feed = this.buildRSS2(result);\n break;\n default:\n return reject(new Error(\"default RSS version not recognized.\"))\n }\n } else {\n return reject(new Error(\"Feed not recognized as RSS 1 or 2.\"))\n }\n resolve(feed);\n });\n });\n prom = utils.maybePromisify(callback, prom);\n return prom;\n }\n\n parseURL(feedUrl, callback, redirectCount=0) {\n let xml = '';\n let get = feedUrl.indexOf('https') === 0 ? https.get : http.get;\n let urlParts = url.parse(feedUrl);\n let headers = Object.assign({}, DEFAULT_HEADERS, this.options.headers);\n let timeout = null;\n let prom = new Promise((resolve, reject) => {\n const requestOpts = Object.assign({headers}, urlParts, this.options.requestOptions);\n let req = get(requestOpts, (res) => {\n if (this.options.maxRedirects && res.statusCode >= 300 && res.statusCode < 400 && res.headers['location']) {\n if (redirectCount === this.options.maxRedirects) {\n return reject(new Error(\"Too many redirects\"));\n } else {\n const newLocation = url.resolve(feedUrl, res.headers['location']);\n return this.parseURL(newLocation, null, redirectCount + 1).then(resolve, reject);\n }\n } else if (res.statusCode >= 300) {\n return reject(new Error(\"Status code \" + res.statusCode))\n }\n let encoding = utils.getEncodingFromContentType(res.headers['content-type']);\n res.setEncoding(encoding);\n res.on('data', (chunk) => {\n xml += chunk;\n });\n res.on('end', () => {\n return this.parseString(xml).then(resolve, reject);\n });\n })\n req.on('error', reject);\n timeout = setTimeout(() => {\n return reject(new Error(\"Request timed out after \" + this.options.timeout + \"ms\"));\n }, this.options.timeout);\n }).then(data => {\n clearTimeout(timeout);\n return Promise.resolve(data);\n }, e => {\n clearTimeout(timeout);\n return Promise.reject(e);\n });\n prom = utils.maybePromisify(callback, prom);\n return prom;\n }\n\n buildAtomFeed(xmlObj) {\n let feed = {items: []};\n utils.copyFromXML(xmlObj.feed, feed, this.options.customFields.feed);\n if (xmlObj.feed.link) {\n feed.link = utils.getLink(xmlObj.feed.link, 'alternate', 0);\n feed.feedUrl = utils.getLink(xmlObj.feed.link, 'self', 1);\n }\n if (xmlObj.feed.title) {\n let title = xmlObj.feed.title[0] || '';\n if (title._) title = title._\n if (title) feed.title = title;\n }\n if (xmlObj.feed.updated) {\n feed.lastBuildDate = xmlObj.feed.updated[0];\n }\n (xmlObj.feed.entry || []).forEach(entry => {\n let item = {};\n utils.copyFromXML(entry, item, this.options.customFields.item);\n if (entry.title) {\n let title = entry.title[0] || '';\n if (title._) title = title._;\n if (title) item.title = title;\n }\n if (entry.link && entry.link.length) {\n item.link = utils.getLink(entry.link, 'alternate', 0);\n }\n if (entry.published && entry.published.length && entry.published[0].length) item.pubDate = new Date(entry.published[0]).toISOString();\n if (!item.pubDate && entry.updated && entry.updated.length && entry.updated[0].length) item.pubDate = new Date(entry.updated[0]).toISOString();\n if (entry.author && entry.author.length && entry.author[0].name && entry.author[0].name.length) item.author = entry.author[0].name[0];\n if (entry.content && entry.content.length) {\n item.content = utils.getContent(entry.content[0]);\n item.contentSnippet = utils.getSnippet(item.content)\n }\n if (entry.id) {\n item.id = entry.id[0];\n }\n this.setISODate(item);\n feed.items.push(item);\n });\n return feed;\n }\n\n buildRSS0_9(xmlObj) {\n var channel = xmlObj.rss.channel[0];\n var items = channel.item;\n return this.buildRSS(channel, items);\n }\n\n buildRSS1(xmlObj) {\n xmlObj = xmlObj['rdf:RDF'];\n let channel = xmlObj.channel[0];\n let items = xmlObj.item;\n return this.buildRSS(channel, items);\n }\n\n buildRSS2(xmlObj) {\n let channel = xmlObj.rss.channel[0];\n let items = channel.item;\n let feed = this.buildRSS(channel, items);\n if (xmlObj.rss.$ && xmlObj.rss.$['xmlns:itunes']) {\n this.decorateItunes(feed, channel);\n }\n return feed;\n }\n\n buildRSS(channel, items) {\n items = items || [];\n let feed = {items: []};\n let feedFields = fields.feed.concat(this.options.customFields.feed);\n let itemFields = fields.item.concat(this.options.customFields.item);\n if (channel['atom:link'] && channel['atom:link'][0] && channel['atom:link'][0].$) {\n feed.feedUrl = channel['atom:link'][0].$.href;\n }\n if (channel.image && channel.image[0] && channel.image[0].url) {\n feed.image = {};\n let image = channel.image[0];\n if (image.link) feed.image.link = image.link[0];\n if (image.url) feed.image.url = image.url[0];\n if (image.title) feed.image.title = image.title[0];\n if (image.width) feed.image.width = image.width[0];\n if (image.height) feed.image.height = image.height[0];\n }\n utils.copyFromXML(channel, feed, feedFields);\n items.forEach(xmlItem => {\n let item = {};\n utils.copyFromXML(xmlItem, item, itemFields);\n if (xmlItem.enclosure) {\n item.enclosure = xmlItem.enclosure[0].$;\n }\n if (xmlItem.description) {\n item.content = utils.getContent(xmlItem.description[0]);\n item.contentSnippet = utils.getSnippet(item.content);\n }\n if (xmlItem.guid) {\n item.guid = xmlItem.guid[0];\n if (item.guid._) item.guid = item.guid._;\n }\n if (xmlItem.category) item.categories = xmlItem.category;\n this.setISODate(item);\n feed.items.push(item);\n });\n return feed;\n }\n\n /**\n * Add iTunes specific fields from XML to extracted JSON\n *\n * @access public\n * @param {object} feed extracted\n * @param {object} channel parsed XML\n */\n decorateItunes(feed, channel) {\n let items = channel.item || [];\n let categories = [];\n feed.itunes = {}\n\n if (channel['itunes:owner']) {\n let owner = {};\n\n if(channel['itunes:owner'][0]['itunes:name']) {\n owner.name = channel['itunes:owner'][0]['itunes:name'][0];\n }\n if(channel['itunes:owner'][0]['itunes:email']) {\n owner.email = channel['itunes:owner'][0]['itunes:email'][0];\n }\n feed.itunes.owner = owner;\n }\n\n if (channel['itunes:image']) {\n let image;\n let hasImageHref = (channel['itunes:image'][0] &&\n channel['itunes:image'][0].$ &&\n channel['itunes:image'][0].$.href);\n image = hasImageHref ? channel['itunes:image'][0].$.href : null;\n if (image) {\n feed.itunes.image = image;\n }\n }\n\n if(channel['itunes:category']) {\n channel['itunes:category'].forEach((category) => {\n categories.push(category.$.text);\n });\n feed.itunes.categories = categories;\n }\n\n if (channel['itunes:keywords']) {\n if (channel['itunes:keywords'].length > 1) {\n feed.itunes.keywords = channel['itunes:keywords'].map(\n keyword => keyword.$.text\n );\n } else {\n let keywords = channel['itunes:keywords'][0];\n if (keywords && typeof keywords._ === 'string') {\n keywords = keywords._;\n }\n if (keywords) feed.itunes.keywords = keywords.split(',');\n }\n }\n\n utils.copyFromXML(channel, feed.itunes, fields.podcastFeed);\n items.forEach((item, index) => {\n let entry = feed.items[index];\n entry.itunes = {};\n utils.copyFromXML(item, entry.itunes, fields.podcastItem);\n let image = item['itunes:image'];\n if (image && image[0] && image[0].$ && image[0].$.href) {\n entry.itunes.image = image[0].$.href;\n }\n });\n }\n\n setISODate(item) {\n let date = item.pubDate || item.date;\n if (date) {\n try {\n item.isoDate = new Date(date.trim()).toISOString();\n } catch (e) {\n // Ignore bad date format\n }\n }\n }\n}\n\nmodule.exports = Parser;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function eventListener() {\n if (errorListener !== undefined) {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n var errorListener;\n\n // Adding an error listener is not optional because\n // if an error is thrown on an event emitter we cannot\n // guarantee that the actual event we are waiting will\n // be fired. The result could be a silent way to create\n // memory or file descriptor leaks, which is something\n // we should avoid.\n if (name !== 'error') {\n errorListener = function errorListener(err) {\n emitter.removeListener(name, eventListener);\n reject(err);\n };\n\n emitter.once('error', errorListener);\n }\n\n emitter.once(name, eventListener);\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('slice', { ACCESSORS: true, 0: 0, 1: 2 });\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n // eslint-disable-next-line no-undef\n && !Symbol.sham\n // eslint-disable-next-line no-undef\n && typeof Symbol.iterator == 'symbol';\n","import Vue from 'vue';\nimport { filterObjectOnKeys } from '../../util/helpers';\nconst availableProps = {\n absolute: Boolean,\n bottom: Boolean,\n fixed: Boolean,\n left: Boolean,\n right: Boolean,\n top: Boolean\n};\nexport function factory(selected = []) {\n return Vue.extend({\n name: 'positionable',\n props: selected.length ? filterObjectOnKeys(availableProps, selected) : availableProps\n });\n}\nexport default factory(); // Add a `*` before the second `/`\n\n/* Tests /\nlet single = factory(['top']).extend({\n created () {\n this.top\n this.bottom\n this.absolute\n }\n})\n\nlet some = factory(['top', 'bottom']).extend({\n created () {\n this.top\n this.bottom\n this.absolute\n }\n})\n\nlet all = factory().extend({\n created () {\n this.top\n this.bottom\n this.absolute\n this.foobar\n }\n})\n/**/\n//# sourceMappingURL=index.js.map","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n"],"sourceRoot":""}